Wednesday, March 5, 2008

Tips on Use Cases

Terry Quatrani

Uses Cases: a way to communicate requirements

Requirements
· Functionally
· Usability
· Reliability
· Performance
· Supportability

Non-functional Requirements
· Design constraints: OS, Environment, Compatibly
· Legal and Regulatory

Use cases deal with Functional Requirements only! Other requirements are gathered at the same time but put into separate documents.

Uses cases
· enable communication.
· provide links to stake holders.
· identify who/what interact with system
· are a planning instrument
· drive analysis, design, and testing

Notation
· Actor
· Action
· System

What should NOT be in a use case
· implementation details
· user interface requirements
o gather at same time, but put into separate document
· non-functional requirements
o same thing
· business rules
o same thing

What should be IN a use case
· Brief Description
· Flow of Events
o Basic flow
o Alternate flow(s)
· Special Requirements
· Pre-conditions
· Post-conditions
· Extension Points

“Provide only the necessary details about the interactions between a system and its uses.”

Use case development: Iterative!
1. Discovery
2. Briefly Describe
3. Bulleted Outline
4. Essential Outline
5. Detail Description
6. Fully Describe

CRUD uses cases should be combined into one use case. CRUD = Create, Read, Update, Delete.

Avoid putting in too much detail, remember that a use case is for communication. Use case is for requirements, not design.

No comments: