By Gerd Waloszek
Many software companies follow the user-centered design approach and employ cases as method for describing usage scenarios. The automatic teller machine (ATM) is often used for demonstrating use cases (it's sort of a use case for use cases...). In this article, I would like to propose one more "use case" for uses cases, the automatic coffee machine. Let's use "ACM" as a shortcut for it.
In addition, I will propose two extensions to the use case methodology: use case instances and thoughts of persons (as revealed by thinking aloud). Standard use cases describe more or less an "idealized" interaction between a system and a user. Using object-oriented programming as an analog, this would be the "class" or the "template," which we copy use case instances from. Use case instances, on the other hand, are "real" usage situations that are described by the same formalism; analogously to instances in object-oriented programming, the template's data are "overwritten" by the real behavior. In addition, we will add the person's thoughts to the scheme.
Let's begin with the "ideal" use case for the ACM:
User |
System (Automatic Coffee
Machine, ACM) |
---|---|
Puts a cup of suitable size under the tap of the coffee machine | |
Throws in the required number of chips | |
Registers the number of chips | |
Selects the kind/size of coffee by pressing the respective button | |
Performs some complex internal calculations and, based on these, releases the respective amount and kind of coffee into the cup | |
>> For more cups: Return to start Grabs the cup and goes to his or her table, hoping not to spill too much coffee... |
|
Sighs after so much work... |
For simplicity reasons, I leave out special cases and other odd happenings. Now let me replace this "ideal" use case by a real one.
For creating the "real" use case, let me develop a scenario and present a persona, even though both terms are banned from UCD. The persona is Astrid, my wife, aged 39 (no woman gets older than 39). Her hobby is taking lots of photos, and her goal is not to look stupid in front of an ACM.
Figure: The famous poulet de Bresse
Here comes the scenario: Every year, my wife and I stop at the "Aire du Poulet de Bresse" restaurant on the French autoroute A39, because there they serve very tasty Bressan poulets (broilers). Each meal is finished with a large cup of coffee, for which each of us receives two "jetons" at the cashier. Having finished the meal with a frommage blanc (tasty white cheese with cream), we urgently need a large cup of coffee. Usually, my wife goes to the coffee machine (ACM) to get them for us. The rest of the story will now be presented in the form of an use case instance:
Persona: Astrid |
System: French Automatic
Coffee Machine (ACM) at Autoroute Restaurant "Aire du Poulet
de Bresse" |
---|---|
Puts a large coffee cup under the tap of the coffee machine | |
Throws in one jeton (chip) | |
Registers the number of jetons | |
By accident, presses the button for a large cup before entering the second jeton | |
Performs some complex internal calculations and – oops– fills the cup as if a large cup had been selected | |
Thinks: Thanks, that saves me one jeton! Puts a second large coffee cup under the tap of the coffee machine |
|
Throws in two jetons | |
Registers the number of jetons | |
Presses the button for a large cup | |
Nothing happens (maybe the machine was busy with mourning about its mistake...) | |
Thinks: That's the immediate punishment! Now I have only one jeton left for a small cup. But before I give up, I will try to retrieve the jetons, even though I know that this rarely works... Presses the button for returning stuck jetons |
|
The button works (seems to be an exception) and – returns three jetons! | |
Now Astrid has four jetons! Thinks: Now I have four jetons again and already one large cup of coffee. I need two jetons for a second large cup, what shall I do with the remaining two jetons? Shall I return them, give them away, or leave them on the table? I think I will use them for our return trip |
|
Grabs the two cups and returns to our table, smiling, and hoping not to spill too much coffee... |
|
Smiles internally because it made one more user happy... |
Luckily, we did not forget on our return trip that we had two jetons left. For "safety" reasons, however, we ordered two small cups of coffee at the cashier...
Figure: Astrid in pleasant anticipation of the poulet de Bresse | Figure: The landmark of the Aire du Poulet de Bresse |
The conclusion, or "moral" that I draw from this story is that users not always behave like machines, particularly ACMs, expect them to do. From a methodological point of view, we can state that extending a general use case to a particular use instance and adding the user's thoughts provided us with a more intimate understanding of the man-machine interaction at hand. In addition, the ACM is a well known machine that has the potential to provide a new standard in demonstrating use cases.
Originally Published: 08/22/2006 - Last Revision: 01/31/2009
Gerd Waloszek |
made by on a mac! |