Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Artifact: Implementation Model

The Implementation Model represents the physical composition of the implementation in terms of Implementation Subsystems, and Implementation Elements (directories and files, including source code, data, and executable files).
Other Relationships:Contains - Implementation Subsystem - Implementation Element - Testability Element - Test Stub
Role:Software Architect
Optionality/Occurrence:Optional. Elaboration and Construction phases.
Templates and Reports:
Examples:
UML Representation:Model, stereotyped as <<implementation model>>.
More Information:- Guideline: Component Diagram - Checklist: Implementation Model - Guideline: Implementation Model - Guideline: Import Dependency in Implementation - Guideline: Manifest Dependency

Purpose

The Implementation Model identifies the physical parts of the implementation so that they can be better understood and managed. The Implementation Model defines the major units of integration around which teams are organized, as well as the units that can be separately versioned, deployed, and replaced.

A more detailed Implementation Model may also include low level source code and derived files, and their relationship to the Design Model. Such detail is recommended only if you have automated synchronization between the model and the files.

Properties

Property NameBrief DescriptionUML Representation
IntroductionA textual description that serves as a brief introduction to the modelTagged value, of type “short text”
Implementation SubsystemsThe subsystems in the model, representing a hierarchyOwned via the meta-association “represents”, or recursively via the meta-aggregation “owns”
Implementation ElementsThe elements in the model, owned by the subsystemsOwned recursively via the meta-aggregation “owns”
RelationshipsThe relationships in the model, owned by the Implementation Subsystems- “ -
DiagramsThe diagrams in the model, owned by the Implementation Subsystems- “ -
Implementation ViewThe implementation view of the model, which is an architectural view showing the Implementation Subsystems and layersElements and diagrams in the view are owned recursively via the meta-aggregation “owns”

Timing

The Implementation Model structure is established in the Elaboration Phase, and is refined as needed in the Construction Phase.

Responsibility

A software architect is responsible for the integrity of the Implementation Model, and ensures that:

  • The Implementation Model as a whole is correct, consistent, and readable. The Implementation Model is correct when it meets all requirements, and is consistent with the Design Model.
  • The architecture in the Implementation Model, described in the Implementation View, fulfills its purpose. The Implementation View is described in a separate artifact, refer to the Artifact: Software Architecture Document.

Note that the software architect is not responsible for the Implementation Subsystems and Implementation Elements. instead, these are under the corresponding implementer’s responsibilities.

Tailoring

An Implementation Model is optional. If you choose to create an Implementation Model, the key tailoring decisions are how to relate between the Implementation Model and Design Model, and which Implementation Elements are important enough to model. Guidance on how to make these decisions is covered in Guidelines: Implementation Model. Also see Concepts: Mapping from Design to Code.