Use-Case Realization
A use-case realization describes how a particular use case is realized within the design model, in terms of collaborating objects.
UML representation: Collaboration, stereotyped as «use-case realization».
Worker: Designer
Reports: Use-Case-Realization Report
More information: Guidelines: Use-Case Realization

Purpose To top of page

The purpose of the Use-Case Realization is to separate the concerns of the specifiers of the system (as represented by the use-case model and the requirements of the system) from the concerns of the designers of the system.  The use-case realization provides a construct in the design model which organizes artifacts related to the use case but which belong to the design model.  These related artifacts consist typically of the collaboration and sequence diagrams which express the behavior of the use case in terms of collaborating objects.

The following people use use-case realizations:

  • The designers of the objects participating in the use case to understand the objects' roles in the use cases and how the objects interact. They use this information to determine the object responsibilities and interfaces.
  • Those who design the next version of the system to understand how the system carries out the flow of events. For example, a change may affect a limited number of use cases, in which case the designers need to see the realization of their flow of events.
  • Those who test to test the system's use cases.
  • The manager to plan and follow up the analysis and design work.

Properties To top of page

Property Name

Brief Description

UML Representation

Flow of Events Design A textual description of how the use case is realized in terms of collaborating objects. Its main purpose is to summarize the diagrams connected to the use case (see below), and to explain how they are related. Tagged value, of type "formatted text".
Interaction Diagrams The diagrams (sequence and collaboration diagrams) describing how the use case is realized in terms of collaborating objects. Participants are owned via aggregation "behaviors".
Class Diagrams The diagrams describing the classes and relationships that participate in the realization of the use case. Participants are owned via aggregation "types" and "relationships".
Derived Requirements A textual description that collects all requirements, such as non-functional requirements, on the use-case realization that are not considered in the design model, but that need to be taken care of during implementation. Tagged value, of type "short text".
Trace Dependency A trace dependency to the use case in the use-case model that is realized. Owned by the system via the aggregation "trace".

Timing To top of page

Use-case realizations are produced as soon as their corresponding use cases are prioritized for analysis and design.  Prioritization occurs in Activity: Prioritize the Use Cases. In elaboration, this would be the case for use cases that are considered relevant to analyze and design because of their significance regarding the software architecture. In construction, this would be the case for the remaining use cases.

The Use-Case Realizations themselves are created during the Activity: Architectural Analysis.

During analysis activities, the use-case realizations' interaction diagrams and class diagrams are outlined. In subsequent design activities these diagrams are refined and updated according to more formal class interface definitions.

Responsibility To top of page

A use-case designer is responsible for the integrity of the use-case realization, and ensures that:

  • The use-case realization fulfills the requirements made on it; that it correctly realizes the behavior of its corresponding use case in the use-case model, and only this behavior.
  • The Flow of Events Design is readable and suits its purpose.
  • The diagrams describing the use-case realization are readable and suit their purpose.
  • The Derived Requirements are readable and suit their purpose.
  • The trace dependency to the corresponding use case in the use-case model is correct.
  • The relationships, such as communicates-associations, include- and extend-relationships, of the corresponding use case in the use-case model are handled correctly within the use-case realization.

The use-case designer is not responsible for the classes and relationships employed in the use-case realization; instead, these are under the corresponding designer's responsibilities.

Display Rational Unified Process using frames

 

© Rational Software Corporation 1998 Rational Unified Process 5.1 (build 43)