School of Mathematical and Computing Sciences
PO Box 600 Wellington New Zealand Tel: +64 4 463 5341, Fax: +64 4 463 5045 Email: Tech.Reports@mcs.vuw.ac.nz http://www.mcs.vuw.ac.nz/research
Patterns for Essential Use Cases
Robert Biddle, James Noble, Ewan Tempero
Computer Science, VictoriaUniversity of Wellington, New Zealand. robert,kjx,ewan @mcs.vuw.ac.nz Technical Report CS-TR-01/02
Abstract Essential use cases are an effective way to analyse the usability requirements for a system under development. Essential use cases are quite stylised — writing good essential use cases is somewhat of a secret art. This paper casts the basics of writing essential use casesinto the pattern form. Readers of this paper will be able to write better essential use cases quickly, making it easier to specify usable systems.
Systems need to be usable. If people can’t use systems we design, they will avoid, circumvent, disparage, and sabotage them. In the good old days of computing, people were so pathetically thankful to have any kind of computer systemat all that they were quite happy to wait in long queues, pick up printouts several days after their jobs were submitted, type programs on chicklet keyboards, and do all sorts of stupid stuff. Unfortunately for us development types, these days are over. In an increasingly large Example number of systems, the usability of a system is paramount: If you build it, they won’t come if they The patternsin this paper use examples drawn from a simple booking system for an arts centre. can’t use it. This lesson has been writ large recently fol- The initial brief for this system is as follows: lowing the failures of several high-proﬁle internet Design a program for a booking ofcommerce web sites — if the site isn’t usable, noﬁce of an arts centre. There are sevone will use it. But it holds trueeven for admineral theatres, and people may reserve istrative systems established by government deseats at any theatre for any future event. partments or large corporations or consumer and People need to be able to discuss seat embedded systems: if using the system requires availability, where seats are located, a lot of effort, the people who need to use it will and how much they cost. When peoﬁndsome other way of achieving their goals, ofple make a choice, the program should ten at your expense. print the price, record the selection, The discipline of Usage-Centred Design has and print out a ticket. been introduced to incorporate usability into software engineering development processes. Described in Constantine & Lockwood’s Software for Use Typically, we would expect to have much more, Usage Centred Design is based on essential information (either more text, or at least the opportunity to talk to the project sponsor). We will use cases, and draws from ideas from object-oriented methodology [11, 15, 7, 2] as well as task analysis introduce more details as the example progresses. and prototyping techniques common to humancomputer interaction designers. A key feature of FormUsage-Centred Design is that the design practiThe patterns are written in modiﬁed electric Porttioner acts as an advocate for users, ensuring conland form. Each begins with a question (in italics) cern for usability is maintained throughout the dedescribing a problem, followed by a bullet list of velopment cycle. forces and discussion of the problems the pattern Essential use cases are quite stylised,and writaddresses. A boldface “Therefore:” introduces ing good essential use cases is somewhat of a sethe solution (also italicised) followed by the concret art. This paper casts the basics of writing sequences of using the pattern (the positive beneessential use cases into the pattern form. The patﬁts ﬁrst, then the negative liabilities, separated by terns are divided into two groups. The ﬁrst...