Use cases
Definition: A use case captures a contract between
stakeholders about the behavior of a program.
Who might be a stakeholder?
- Customer
- Developer
- Marketing
- Management
- Regulator
- Lawyer
- Anyone who has a vested interest in the system
The use case describes how a system behaves as follows:
- The primary actor makes a request of the system in order to
achieve a goal
- The system responds, protecting the interests of all stakeholders
- Each different sequence of behavior that unfolds is a scenario
(Adapted from Writing Effective Use Cases, Alastair Cockburn)
Writing Use Cases:
- List actors and goals
- Decide what goals of which actors the system will support
- Prioritize goals
- Main success scenario
- For each supported goal, write a short, dry account of how an actor
interacting with a system achieves that goal
- Review use case to ensure that it meets the interests of the stakeholders
- Failure conditions
- List all ways in which the system could fail
- DO NOT figure out how to handle them yet; first, list them completely
- Failure handling
- Write how the system will respond to each failure condition