Definition

Email this page to a friend   

Email to a friend

Use Case

(Alias: user story, scenario)

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Introducing the Use Case

How do you tell your story to a technical person? How do you shed light on real life? How do you make it easy for technologists to build you a truly useful machine?

Well you don't have to start with a blank page. There are plenty of published frameworks out there to help you structure your thoughts.

To illustrate let's examine a framework for a "use case".

A use case describes an interaction between a user and a system that produces some useful outcome. For example: withdrawing money from an automatic teller machine.

We construct our use case by answering a series of questions.

Who's involved?

What is to be achieved?

What conditions need to be in place before the interaction can start?

What conditions indicate successful completion?

What is the normal course of the interaction?

Are there any alternative courses of interaction?

What could go wrong?

Do any business rules apply?

Do any non behavioural requirements apply?

Are we assuming anything?

So there you have it. The use case framework shines when you need to describe heavy interaction between a user and a system. It is not suited to describing complex algorithms like the ones you find in automated stock trading. Which isn't a problem unless you're a stock broker.

So the trick is to learn the frameworks that apply to your application domain and use them to tell more compelling stories to the builders of your special machine.

What is a Use Case?

A use case is a method for describing the behaviour of a system from a user's point of view. It describes an interaction between a user and a system that produces some useful outcome. For example: withdrawing money from an automatic teller machine.

Each interaction usually starts with an initial stimulus from a user (also called an actor) and proceeds through a series of stimuli and responses between the actor, the system, and possibly other actors, until the interaction reaches its logical conclusion (the required post condition).

A use case is often specified informally. An overly formal approach defeats the purpose, which is to quickly capture system requirements from the user's point of view.

Use Case Checklist

  1. Actors. Who's involved?
  2. Purpose. What is to be achieved?
  3. Pre conditions. What conditions need to be in place before the interaction can start?
  4. Post conditions. What conditions indicate successful completion?
  5. Normal course. What is the normal course of the interaction?
  6. Alternative courses. Are there any alternative courses of interaction?
  7. Exception conditions. What could go wrong?
  8. Business rules. Do any business rules apply?
  9. Non-behavioural requirements. Do any non behavioural requirements apply?
  10. Assumptions. Are we assuming anything?

A Use Case Development Procedure

Follow these steps to produce your use cases:

Step 1 Determine the boundary of the system. Determine which objects are part of the system, which ones interact with it, and which ones are disconnected from it. Develop the use case by considering the system itself as a single object, that is, a black box.
Step 2 Determine the actors that interact with the system. An actor is one role that a person or another system plays with respect to the target system. Start by examining physical entities that interact with the system. In some cases a single entity may play multiple roles. For example, a single person might be a user, operator and administrator of a computer system. Each role is a different actor.
Step 3 For each actor, determine the different ways in which the actor interacts with the system. Each interaction scenario is a use case.
Step 4 Identify the initial event that triggers each use case together with the conditions that must exist for the use case to start.
Step 5 Determine the termination condition that concludes the use case.
Step 6 List the prototypical scenario that describes a typical interaction. This is usually described terms of stimulus and response (see the video of our automatic teller interaction).
Step 7 If there are variations, list additional alternate scenarios or describe the variations in words. Feel free to use ordinary language; a use case is not meant to be highly formal.
Step 8 Describe all the exception conditions that are likely to occur.
Step 9 When you are done, check that the set of use cases encompasses all the functionality of the system.
Collaboration

Member Comments

1 Comment 

1 member rating

✭ ✭ ✭ ✭ ✭

RE Definition: Use Case

baraa said ^_*

By bobo » Sat 28-Apr-2012, 00:47, My rating: ✭ ✭ ✭ ✭ ✭

Perfect definition :)

- Rate this definition.
- Did it help?
- Suggest improvements.
- Request more information.
- Exchange ideas with our member community.

Email to a friend