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 Task: 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 RSx.
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.
-
Navigate to the package in which the design-level use-case realizations were created. See Model Structure Guidelines for RSx.
-
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 Creating
UML Sequence Diagrams .
-
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.
-
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 online Help:
-
IBM 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 Work Product: Use Case Realization.
Refer to Documenting
Model Elements, and Linking Model Elements to External Files in the 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 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 to Microsoft Word and
other programs.
For more information, refer to Publishing Models and to the Publishing a Model to Web tutorial.
Tutorials:
-
Apply
a Pattern
Samples:
-
Patterns
- Simple UML Model
|