5. Deployment Diagrams

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.

Figure 10.3. Deployment diagram, two representations.

Deployment diagram, two representations.

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.

5.1. Diagram Elements

  • 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.

5.2. Toolbar

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