Purpose

This section provides links to additional information related to this tool mentor.


The steps in this tool mentor match those in the activity. Links to topics in RSA online Help are marked with .

Overview

The following steps are performed in this tool mentor:

Additional Tool Information

Create Use-Case Realizations To top of page

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 Activity: 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 Rational Software Architect.

Describe Interactions Between Design Objects To top of page

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 Activity: 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 Rational Software Architect.
  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 Adding Diagrams to Models .
  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 Documenting 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. See Adding Shapes .
  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 Sequence Diagrams and Documenting 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 Sequence Diagrams.

Simplify Sequence Diagrams Using Subsystems (optional) To top of page

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

Describe Persistence-Related Behavior To top of page

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

  • Rational Design Patterns
  • Applying Patterns
  • Authoring Patterns

Refine the Flow of Events Description To top of page

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 Artifact: Use Case Realization.

Refer to Attaching Notes to Shapes, Documenting Model Elements, and Linking External Files to Model Elements in the RSA online Help.

Unify Design Classes and Subsystems To top of page

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 RSA online Help:

  • Authoring Patterns
  • Applying Patterns
  • Benefits of Using Patterns

Evaluate the Results To top of page

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

For more information, refer to Publishing Models for Review Outside the Modeling Tool and to the following tutorials:

  • Generating Standard Model Reports
  • Generating Custom Model Reports
  • Publishing Models to Web

Additional Tool InformationTo top of page

Tutorials:

  • Analysis: Realize the Use Cases
  • Analysis: Create the Sequence Diagram
  • Applying the XYZ Pattern

Samples:

  • Annotated Sequence Diagram
  • XYZ Pattern

Cheat Sheets:

  • Designing Use Cases

Rational Unified Process   2003.06.15