The A-ha Effect

In my course on software engineering this semester I have had a running example throughout all of the exercises. My students are modeling an election system using UML. The election system must adhere to the German election principles such as secret, verifiable, etc.

Last week we had school elections and I was drafted as a poll worker the same day as my SE class. I started the exercise session and then went over to the poll, telling my students to be sure to vote. Many did, and while standing in line one student looks at all the pieces of paper in her hand and says: Multiple elections at the same time! Oh oh, we didn't think about that possibility for our system.

This is a wonderful a-ha effect, to see that real life has to be studied well in order to model it in software, don't just assume you know everything about the system. I've told this story many times now, and it only happened a few days ago.

No comments: