Artifact:
|
A use case defines a set of use-case instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor. | |
Other Relationships: |
Part Of Use-Case Model
Extends: Software Requirement |
Role: | Requirements Specifier |
Optionality/Occurrence: | Required when use-case techniques are to be used. |
Templates and Reports: | |
Examples: | |
UML Representation: | Use Case (first-class UML element) |
More Information: |
Input to Activities: | Output from Activities: |
The primary purpose of the Use Case is to capture the required system behavior from the perspective of the end-user in achieving one or more desired goals.
Use Cases are a central artifact in RUP, and as such they are used for many different roles for many purposes, including:
The template provided for a Use-Case Specification contains the textual properties of the use case. This document is used with a requirements management tool, such as Rational RequisitePro, for specifying and marking the requirements within the use case properties.
A use case consists primarily of a textual specification (called a Use-Case Specification) that contains a description of the flow of events describing the interaction between actors and the system. The specification also typically contains other information such as preconditions, postconditions, special requirements and key scenarios. The use case may also be represented visually in UML in order to show relationships with other the use cases and actors.
Property Name | Brief Description | UML Representation |
---|---|---|
Name | The name of the use case. | The attribute "Name" on model element. |
Brief Description | A brief description of the role and purpose of the use case. | Tagged value, of type "short text". |
Flow of Events | A textual description of what the system does in regard to the use case (not how specific problems are solved by the system). The description is understandable by the customer. | Tagged value, of type "formatted text". |
Special Requirements | A textual description that collects all requirements, such as non-functional requirements, on the use case, that are not considered in the use-case model, but that need to be taken care of during design or implementation. | Tagged value, of type "short text". |
preconditions | A textual description that defines a constraint on the system when the use case may start. | Tagged value, of type "short text". |
postconditions | A textual description that defines a constraint on the system when the use cases have terminated. | Tagged value, of type "short text". |
Extension points | A list of locations within the flow of events of the use case at which additional behavior can be inserted using the extend-relationship. | Tagged value, of type "short text". |
Relationships | The relationships, such as communicates-associations, include-, generalization-, and extend-relationships, in which the use case participates. | Owned by an enclosing package, via the aggregation "owns". |
Activity Diagrams | These diagrams illustrate the structure of the flow of events. | Participants are owned via the aggregation "types" and "relationships" on a collaboration traced to the use case. |
Use-Case Diagrams | These diagrams show the relationships involving the use case. | Participants are owned via the aggregation "types" and "relationships" on a collaboration traced to the use case. |
Other Diagrams | Other graphical illustrations of the use case. | Tagged value, of uninterpreted type. |
Use cases are identified and possibly briefly outlined early in the inception phase, to help in defining the scope of the system. The use cases that are relevant for the analysis or the architectural design of the system are then described in detail within the Elaboration phase. The remaining use cases are described in detail within the Construction phase.
A Requirements Specifier is responsible for the integrity of the use case, which ensures that:
It is recommended that the requirements specifier who is responsible for a use case is also responsible for its enclosing use-case package. For more information, refer to Guidelines: Use-Case Package.
Decide the extent to which Use Cases will be elaborated:
Some projects apply use cases informally to discover requirements, but document and maintain these requirements in another form. How you tailor Use Cases may depend on project size, experience, your tool set, customer relationship, and so forth. See Guidelines: Use Case for guidance related to Use Case tailoring. Document your tailoring decisions in Artifact: Project Specific Guidelines.
Rational Unified Process |