What is Use Case Specification?
6-7 minutes
Just showing the use case diagram in UML notation is not enough. Each use case accompanied by text explaining the purpose of the use case as well as what functionality is accomplished when a use case is executed.
- The use case specification is typically created in analysis and design phase in an iterative manner.
- At first, only a brief description of the steps needed to carry out the normal flow of the use case (i.e., what functionality is provided by the use case) is written.
- As analysis progresses, the steps are fleshed out to add more detail.
- Finally, the exceptional flows are added to the use case
- Each project can adopt a standard use case template for the creation of the use case specification.
Use Case vs Use Case Specification
A Use Case describes a task that is performed by an actor yielding a result of business value for a business. A use case may be visualized as a use case diagram or/and in structured textual specification format:
Use Case (task – a customer want to perform) may be:
- Interactive – A system use case describes an actor’s interaction with a system in pursuit of the defined business goal
- Manual – A sequence of actions performed by an actor
- Automated – A sequence of steps performed by a program or script
Characteristics of Use Cases
- A use case has:
- Only one goal
- A single starting point
- A single ending point
- Multiple paths for getting from start to finish
- i.e. Specify behavior for a variety of possible conditions
- Each conditions may require specific action(s)
For Example – Customer pays bill:
There are multiple paths to achieve the goal :
- Telephone payment
- By mail
- In person
- by check
- by cash, etc.
A path that does not lead to the goal:
- Credit card is declined
Agile Use Case Approach
The use case model and its individual use cases evolve level by level over time. Not all use cases of a model will necessarily need to be specified to the same level of detail.
Just-in-Time and Just-Enough
Use cases can be written at differing levels of data and scope, each serves a purpose:
- Summary : General descriptions and sweeping overviews of system functionality or business processes.
- User Level : Task-related descriptions of users and how they interact with the system; descriptions of a specific business process. User-Level use cases are usually considered to be at the level of task that is the main work of the user.
- For example : getting cash out of the ATM machine is a useful task and would be a use case at the core level, but entering your PIN number would not be at this level, because it supports the main work.
- Sub-function : Descriptions of lower-level activities that are used to complete subparts of a core use case. Note: Some use cases may be sufficiently specified up to level II. You stop when sufficient detail is achieved using just-in-time and just-enough manner.