A use case is a software and system engineering term that describes how a user uses a system to accomplish a particular goal. A use case acts as a software modeling technique that defines the features to be implemented and the resolution of any errors that may be encountered.
Use cases define interactions between external actors and the system
to attain particular goals. There are three basic elements that make up a
- Actors: Actors are the type of users that interact with the system.
- System: Use cases capture functional requirements that specify the intended behavior of the system.
- Goals: Use cases are typically initiated by a user to fulfill goals describing the activities and variants involved in attaining the goal.
Characteristics associated with use cases are:
- Organizing functional requirements
- Modeling the goals of system user interactions
- Recording scenarios from trigger events to ultimate goals
- Describing the basic course of actions and exceptional flow of events
- Permitting a user to access the functionality of another event
The steps in designing use cases are:
- Identify the users of the system
- For each category of users, create a user profile. This includes all roles played by the users relevant to the system.
- Identify significant goals associated with each role to support the system. The system’s value proposition identifies the significant role.
- Create use cases for every goal associated with a use case template and maintain the same abstraction level throughout the use case. Higher level use case steps are treated as goals for the lower level.
- Structure the use cases
- Review and validate the users