Finally, the way the individual hardware and software components
and artifacts are deployed within a system can be described using a
Deployment diagram. The specifications for Deployment diagrams changed
in the transition from UML 1.x to UML 2.x. Beginning with Poseidon 5.0,
the UML 2.1 specifications are used.
A deployment diagram can cover a wide variety of levels within a single model. For instance, one diagram might cover how the application layers are connected, another might indicate where the source code is located within the system, and another might show how an executable is used across several nodes.
Node
A node can be anything that performs work in a system. It is denoted in UML as a 3-dimensional box. In UML 2.x, nodes may now contain other nodes, and further can be sub-classed into Devices and Execution Environments. To create a node in a deployment diagram, click on the Node button, then click in the diagram.
Component
Components in a UML 2.x Deployment diagram are not directly used by nodes. The type-level depiction of components occurs in the Component diagram, and the instances of these components are used by the Deployment diagram. This is most often done with the use of artifacts.
Artifacts
Artifacts are a physical pieces of information, such as files, models, or tables. Artifacts are said to be manifested from an element abstraction. In the context of a Deployment diagram, this could be, for example, a use case, a class, or a component. This relationship is represented with the 'manifest' relationship.
Artifacts are nested in nodes on a Deployment diagram as the implementation of a component. This may be represented in two ways: the artifact may be placed directly in the node, or it may be connected to the node via a 'deploy' relationship.
Nodes
- Represent the hardware
elements of the deployment system, anything that performs work in
the system.
Components
-
Define requirements for software elements that are deployed to the
hardware system.
Artifacts
- A
physical piece of information.
Links
- Used to connect instances
of nodes or objects.
Dependencies
- Exist between
components and can be specified by utilizing predefined or
user-defined stereotypes.
Associations
- Used to display
communication relations between nodes. They can be specified by
utilizing predefined or user-defined stereotypes.
|
Select |
|
Add or remove space between elements |
|
Node |
|
Device |
|
Execution Environment |
|
Artifact |
|
Deployment |
|
Manifestation |
|
Deployment Specification |
|
Instance Specification |
|
Link between two Instance Specifications |
|
Component |
|
Dependency |
|
Dependency with 'use' Stereotype |
|
Association |
|
Directed Association |
|
Directed Aggregation |
|
Aggregation |
|
Directed Composition |
|
Composition |
|
Association Class |
|
Comment |
|
Connect Comment to Element |
|
Text |
|
Circle |
|
Rectangle |
|
Polygon |
|
Polyline |
|
Repaint |
|
Do layout |
|
Update layout |
|
Zoom to 100% |
|
Zoom to Fit |
|
Zoom to Selection |