Google
 

Monday, February 12, 2007

How to write effective user case?

REF:Dr. Alistair Cockburn http://alistair.cockburn.us/
User case=text of scenarios of user succeeding or failing to achieve a goal using the system.

How to write a use  case:
1. Capture the system boundary.
 What computers, subsystems and people ("Actors") will interact directly with our system?

2. Identify the actors and their goals.
An "actor" is anything with behavior. Use the actors captured in step1.
What does each actor want/need our systems to do?
Goals make a good structure on which to hang requirements & project details.

3. Write the sample case: goal delivers.
The main success scenario.
Capture each actor's intent and responsibility, from trigger to goal delivery.
   a. Say what information passes between them.
   b. Number each line.

4. Capture conditions needing other handling
Usually, each step can fail.
Write the failure condition after the main success scenario.
The extension scenario show detecting unusual conditions.

5. Follow the extension till it ends or rejoins.
Recoverable extensions rejoin main course.
Not-recoverable extensions fail directly.

Attentions:
1. A scenario refers to lower-level goals (sub-use cases or common functions).
2. The outer use case only cares if the inner one succeeds, avoiding proliferation.

The hard parts about use cases is not typing, but thinking and agreeing.
1. Each step is correct. (Style: Each step written as "Actors kicks target")
2. There are no missing system responsibilities between steps.
3. All outside systems this system should use are mentioned explicitly.
4. All stakeholders with valid interests have their interests met by the end.
5. Every extension condition needing attention is mentioned.

Good use cases do many good things for the project.
1. Show stakeholders' interests in the system's behavior (the contract).
2. Show requirements in a context of use.
3. Show record of requirements decisions made.
4. Communicate in a language that crosses specialties.
5. Allow to check for completeness.
6. Give advance notice of items needing research.

E.g.
Coming soon...
--
Happy day, happy life!

No comments: