Deployment diagrams model the physical architecture of a system. Deployment diagrams show the relationships between the software and hardware components in the system and the physical distribution of the processing.
Deployment diagrams, which are typically prepared during the implementation phase of development, show the physical arrangement of the nodes in a distributed system, the artifacts that are stored on each node, and the components and other elements that the artifacts implement. Nodes represent hardware devices such as computers, sensors, and printers, as well as other devices that support the runtime environment of a system. Deploy relationships and communication paths model the connections in the system.
Deployment diagrams are effective for visualizing, specifying, and documenting the following types of systems:
Because deployment diagrams focus on the configuration of the runtime processing nodes and their components and artifacts, you can use this type of diagram to assess the implications of distribution and resource allocations.
The following topics describe model elements in deployment diagrams:
Nodes
In UML modeling, nodes are model elements that represent the computational resources of a system, such as personal computers, sensors, printing devices, or servers. Nodes can be interconnected, by using communication paths, to describe network structures.Node instances
In UML modeling, a node instance is a model element that represents an instantiation, or actual occurrence, of a node.Artifacts
In UML models, artifacts are model elements that represent the physical entities in a software system. Artifacts represent physical implementation units, such as executable files, libraries, software components, documents, and databases.Artifact instances
In UML modeling, an artifact instance is a model element that represents an instantiation, or actual occurrence, of an artifact.Devices
In deployment diagrams, a device is a type of node that represents a physical computational resource in a system, such as an application server.Execution environment
In UML modeling, an execution environment is a type of node that represents a particular execution platform, such as an operating system or a database management system. You can use execution environments to describe the context in which the execution of a model takes place.Deployment specifications
A deployment specification is essentially a configuration file, such as an XML document or a text file, that defines how an artifact is deployed on a node.
Related tasks
Modeling the deployment and topology view of an application
Specifying the deployment of an artifact within a node