Definition - What does Use Case mean?
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.
Techopedia explains Use Case
Use cases define interactions between external actors and the system to attain particular goals. There are three basic elements that make up a use case:
- 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.
Use cases are modeled using unified modeling language and are represented by ovals containing the names of the use case. Actors are represented using lines with the name of the actor written below the line. To represent an actor's participation in a system, a line is drawn between the actor and the use case. Boxes around the use case represent the system boundary.
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