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.

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.

Diagram Elements

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

Do layout

Update layout

Zoom to 100%

Zoom to Fit

Zoom to Selection