Artifact:
|
The design model is an object model describing the realization of use cases, and serves as an abstraction of the implementation model and its source code. The design model is used as essential input to activities in implementation and test. | ||
Other Relationships: |
Contains
| |
---|---|---|
Role: | Software Architect | |
Optionality/Occurrence: | Required. Elaboration and Construction phases. | |
Templates and Reports: | ||
Examples: | ||
UML Representation: | Model, stereotyped as <<designModel>>. | |
More Information: | ||
The design model is an abstraction of the implementation of the system. It is used to conceive as well as document the design of the software system. It is a comprehensive, composite artifact encompassing all design classes, subsystems, packages, collaborations, and the relationships between them.
Property Name | Brief Description | UML Representation |
---|---|---|
Introduction | A textual description that serves as a brief introduction to the model. | Tagged value, of type "short text". |
Design Packages Design Subsystems |
The packages and subsystems in the model, representing a hierarchy. | Owned via the association "represents", or recursively via the aggregation "owns". |
Classes | The classes in the model, owned by the packages. | Owned recursively via the aggregation "owns". |
Capsules | The capsules in the model, owned by the packages. | Owned recursively via the aggregation "owns". |
Interfaces | The interfaces in the model, owned by the packages. | Owned recursively via the aggregation "owns". |
Protocols | The protocols in the model, owned by the packages. | Owned recursively via the aggregation "owns". |
Events and Signals | The events and signals in the model, owned by the packages. | Owned recursively via the aggregation "owns". |
Relationships | The relationships in the model, owned by the packages. | - " - |
Design Use-Case Realizations | The design use-case realizations in the model, owned by the packages. | - " - |
Diagrams | The diagrams in the model, owned by the packages. | - " - |
The design model primarily sets the architecture, but is also used as a vehicle for analysis during the elaboration phase. It is then refined by detailed design decisions during the construction phase.
A software architect is responsible for the integrity of the design model, ensuring the following:
Note that the software architect is not responsible for the packages, classes, relationships, design use-case realizations, and the diagrams themselves; instead, these are under the corresponding designers and use-case designer's responsibilities.
Decide on the following:
Document tailoring decisions in your project's design guidelines (see Artifact: Project-specific Guidelines) .
Rational Unified Process |