Tool Mentor: Designing Use
Cases Using Rational Software Architect
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
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.
- 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.
- 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.
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.
- Navigate to the package in which the design-level use-case realizations
were created. See Model Structure
Guidelines for Rational Software Architect.
- 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 .
- 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 .
- 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 .
- 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.
See the previous step for guidance on working with sequence diagrams.
Persistence mechanisms are ideally described using patterns. See the following
topics in the RSA online Help:
-
Rational Design Patterns
-
Applying Patterns
-
Authoring Patterns
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.
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
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
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
|