Tool Mentor: Designing Use Cases Using Rational Software Architect Standard Edition
This tool mentor describes how to design use cases using the RSA-SE modeling environment
Tool: Rational Software Architect Standard Edition
Extends: Designing Use Cases Using Rational Software Development Platform
Related Elements
Main Description


The following steps are performed in this tool mentor:

Additional Tool Information

Create Use-Case Realizations

The use case realizations themselves can be organized into a set of packages that mirrors the set of packages you used to organize the use cases themselves within the Use Case Model. This should also mirror the organization of the analysis-level use case realizations within the Analysis model in the case where you have previously created a separate analysis model, during Task: Use-Case Analysis.

  1. Create the design-level use case realization element:

    Add a UML Collaboration to the model, to represent the use-case realization. Give it the same name as the use case. Optionally assign it the UML Keyword "Use-Case Realization". If you previously created analysis-level realizations and intend now to let them just evolve into design instead of retaining them as referenceable analysis artifacts, then just use the analysis-level Collaboration instead.

  2. Capture the derivation of the use case realization:

    In the package where you created the use case realization, create a free form diagram. Drag the use case realization onto it. Now drag the use case itself (from the use case model) onto the diagram. Draw a realization relationship from the use case realization to the use case. If you had previously created an analysis-level use case realization for this use case and you intend to retain it once the design-level realization has been defined, then drag the analysis-level use case realization (also a UML Collaboration) onto the diagram as well, and draw a <<refine>> dependency relationship from the design level use case realization to the analysis-level use case realization.

    At this point, the traceability semantics have been established. You may now discard the free-form diagram if you wish. From this point forward you will be able to use Topic Diagrams and Traceability Analysis features to examine the derivation and refinement relationships within your models.

For more information refer to Model Structure Guidelines for RSx.

Describe Interactions Between Design Objects

For each use-case realization, you should illustrate the interactions between its participating design objects by creating one or more sequence diagrams. You might have created early versions of these diagrams, the analysis use-case realizations, during Task: Use-Case Analysis. These analysis use-case realizations describe interactions between analysis classes. They must be evolved to describe interactions between design elements.

  1. Navigate to the package in which the design-level use-case realizations were created. See Model Structure Guidelines for RSx.
  2. For each independent sub-flow (scenario) of the use case, select the use-case realization (i.e. the Collaboration) and add a Sequence Diagram to it. This will also result in a UML Interaction being added to the Collaboration. Name both the Interaction and the Sequence Diagram to match the name you assigned to the use case flow in the Use Case Model. See help book iconCreating UML Sequence Diagrams .
  3. In the model documentation for the Interaction, type a brief description of the scenario that the sequence diagram depicts. Also copy and paste this to the model documentation of the sequence diagram itself. See help book iconDocumenting Model Elements .
  4. Drag and drop actors, classes, interfaces, components, and <<services>> onto the diagram to create objects for interaction. Or as needed, create design-level elements as participants in the interaction.
  5. Add messages between the objects. Map these to existing operations or create new operations as needed. Define the signatures of any new operations. Describe each message in its model documentation field. Describe each operation in its model documentation field. See help book iconSequence Diagrams and help book iconDocumenting Model Elements

Alternatively, if you are not maintaining a separate Analysis Model, you may decide to modify your existing sequence diagrams to reflect the evolution of the design elements.

For more information, refer to help book iconSequence Diagrams.

Simplify Sequence Diagrams Using Subsystems (optional)

See the previous step for guidance on working with sequence diagrams.

Describe Persistence-Related Behavior

Persistence mechanisms are ideally described using patterns. See the following topics in the online Help:

  • help book iconIBM Rational Design Patterns
  • help book iconApplying Patterns
  • help book iconAuthoring Patterns

Refine the Flow of Events Description

Additional description can be added to the sequence diagrams for clarification. Text can be added anywhere on the diagram. Notes can be added and attached to shapes on the diagram. Consider using the RUP-provided template for Work Product: Use Case Realization.

Refer to help book iconDocumenting Model Elements, and help book iconLinking Model Elements to External Files in the online Help.

Unify Design Classes and Subsystems

As use cases are realized, you must unify the identified design classes and subsystems to ensure homogeneity and consistency in the Design Model.

The discovery of new design elements and the need to refactor the overall design in terms of components and services (and hence the packaging structure for the design elements) are expected outcomes of the design-level use case realization process. Another refactoring activity that should be performed is review of interactions to identify any recurring patterns involving the same set of design elements.

Wherever such a recurring pattern of interaction is identified, a separate "common"Interaction should be created to capture that sequence. Then, in each of the sequence diagrams in which it appeared, delete the common message sequence and replace it with an Interaction Occurrence that is an instance of the "common" Interaction. This will enable you to navigate from each of the sequence diagrams that uses the common sequence, to the sequence diagram that defines the common sequence.

See the following topics in the online Help:

  • help book iconAuthoring Patterns
  • help book iconApplying Patterns
  • help book iconBenefits of Using Patterns

Evaluate the Results

It might be helpful to publish any models to html format. Also note that diagrams can be copied to Microsoft Word and other programs.

For more information, refer to help book iconPublishing Models and to the help book iconPublishing a Model to Web tutorial. 

Additional Tool Information


  • help book iconApply a Pattern


  • help book iconPatterns - Simple UML Model