Requirement Modeling: A key aspect of system analysis is to translate the user needs into clear, concise and complete functional requirements of the system which are represented by requirement models. These models also work as specifications for the developers of the system.
Use Case for Requirement Modeling: Use cases are the simplest and the most common way of modeling the requirements. Use cases are developed in the early phases of a project and referred throughout the project lifecycle. Use cases are a set of activities carried out by the users while interacting with the system.
A use case is a specification of sequences of actions, including variant sequences and error sequences, that a system, subsystem, or class can perform by interacting with outside actors (Rumbaugh, Jacobson et al., 1999).
Use Case Diagrams: A use case diagram is a visual depiction of the associations between actors and use case that documents the functionality of the proposed system. The various elements of a use case diagram are actor, use case and association.
Actors: Identifying the actors is the first step of creating use cases. Users, devices or programs that interact with the system are called actors. The actor is not part of the system itself but includes everyone and everything that needs to exchange information with the system. Actors should be thought of as roles and not individuals. For example if several players are playing a game, they make up for one actor because they are playing the same role. An actor is represented as a ‘stickman’ in the use case diagram.
Use Case: After the actors of the system are identified, the next step would be to identify the use cases. The goal of the actor’s interaction with the system is the use case. For example the use cases for an actor interacting with a banking system could be login, withdraw funds, deposit funds etc. A use case is represented by an ellipse. The main scenario of a use case is the one in which user’s goal is achieved. If errors or unusual conditions arise, they are described in alternate scenarios.
Association: An arrow between a use case and an actor is called an actor association. An actor association represents a conversation between an actor and the use case.
Use Case Elaboration: Each use case should have a use case diagram and a use case elaboration. Use case elaboration is a textual description of the sequence of interactions of a use case. A use case elaboration should typically contain the following elements:
- Priority: (high, medium, low)
- Risk: (high, medium, low)
- Scenario 1: this is usually the main scenario
- Scenario 2: an alternate scenario
- Scenario 3: another alternate scenario
Use Case Relationships: Use cases can have relationships among themselves. A use case can interact with another use case. A use case may need information from or initiate the action of another use case. Two types of relationships are:
The Include Relationship: When an action sequence is common in many use cases, it is made a separate use case and ‘included’ in other use cases. In a use case diagram, the ‘Include’ relationship is depicted as an arrow labeled with «include» when one use case makes full use of another use case.
The Extend Relationship: When a use case implicitly invokes another use case, the ‘extend’ relationship is used. In a use case diagram, the ‘Extend’ relationship is labeled as «extend» below a dotted line whose arrow points toward the use case that is being extended.