Design Technique 11: Use Cases
The design technique I’d like to discuss in this article are called Use Case scenarios. They’re just a formal way of capturing the functional requirements of a system in such a way that you document the interaction from the beginning to the end of a simple part of the system. An understandable example of a Use Case would be to imagine you needed to specify the functionality of a soft drink machine. Follow the simple steps of inserting the coin - what if there are not enough coins or there are two coins too many - and go through the whole process of functions or possibilities which lead to your receiving a bottle of sugary liquid (or not as the case may be).
You can both capture the process as well as identify the exceptions within the system. They should be written in a way which doesn’t use jargon or technical language and can be passed onto the people who might have to build that interaction.
Use Cases can capture a lot of information simply by looking at the actors and their goals. Who will be interacting with the system and what do they want to achieve. The actor is someone named John in this hypothetical Use Case and the goal is for John to retreive a bottle of sugary liquid which probably passes as a grade 7 acidic drain cleaner fused with caffeine and marketed to the young (I’m a captured soul of this trade myself). But John might not be the only actor - if their were some form of database it would also play a role as an actor. Actors play roles in the process of achieving (or not achieving) goals. Does that make sense?
The A List Apart article linked to at the beginning of this has a good simple example of using this technique in relation to web development projects. Its well worth taking the time to go there and read it. I can’t emphasise to people resistant to using design methodologies - either visually oriented or information architecture - how much benefit you might get from using these techniques. Diagrams, outlines and process can often help you improve your outcomes and provide great focal points of communication in your projects.








August 22nd, 2007 at 3:52 am
[...] the client (in XP everyone is a customer). Don’t mix these up with longer and more formal Use Cases which involve greater detail and which are for another purpose. User Stories are a series of brief [...]