The component diagram illustrates the logical relationships between components.
The deployment diagram goes a step further by describing the physical topology of the system hardware and the software that executes on this structure.
Deployment diagrams, also known as implementation diagrams or configuration diagrams, are a type of static diagram in UML used to model the physical structure of a system, describing the physical topology of hardware in the system and the software executed on this structure.
Like component diagrams, deployment diagrams are one of the two types of diagrams for modeling the physical structure of object-oriented systems.
A system model has only one deployment diagram, which is typically used to help understand distributed systems and is prepared during the implementation phase of the development process. It shows the physical layout of nodes in a distributed system, the artifacts stored on each node, and the components and other elements realized by the artifacts.
Supports real-time multi-user co-creation with shareable links for instant information transfer
Automatically generates graphics from text input and applies style enhancements
Prebuilt themes with full customization for personalized designs
Supports icons, images, labels, LaTeX formulas, code blocks, links, attachments and more
Export: PNG, VISIO, PDF, SVG | Import: VISIO, Mermaid
Real-time cloud storage, multi-device sync, version history, and secure data protection
The component diagram illustrates the logical relationships between components.
The deployment diagram goes a step further by describing the physical topology of the system hardware and the software that executes on this structure.
Nodes and Node Instances
1. Nodes are model elements used to represent the computing resources of a system, typically the hardware or the runtime environment, represented as cubes.
2. Node instances are based on existing nodes, with the instance name underlined, and a colon before the node type.
Components and Component Instances
1. Components are the products of the software development process, including process models (such as use case diagrams, design diagrams), source code, executable programs, design documents, test reports, requirement prototypes, user manuals, etc.
2. Component instances are based on existing components, with the instance name underlined, and a colon before the component type.
Node Connections
Node connections refer to the lines between nodes, representing the communication paths for interaction between systems.
In UML1.x, nodes are divided into processor nodes and device nodes. Processors are represented as shaded cubes, while devices are unshaded cubes.
In UML2.x, nodes are divided into device nodes and execution environments. Devices are represented using cubes with the <
When the deployment target is a physical device, the communication path usually represents the physical connection between two nodes.
When the two deployment targets are execution environment nodes, the communication path is typically some protocol.
1. Describe the deployment structure, showing where services, databases, web applications, etc., are deployed on servers, nodes, or containers;
2. Display node communication relationships, expressing connections, message interactions, and call paths between servers;
3. Support system deployment planning, helping developers and operations personnel clearly understand the actual operating structure of the system;
4. Support operations and system documentation, useful for designing deployment manuals, system description documents, DevOps guidance files, etc.
Deployment diagrams, network topology diagrams, and deployment architecture diagrams have many similarities and can easily be confused. Here's a one-sentence summary of the differences between these three types of diagrams:
Deployment diagrams are used to model how software components are deployed in the runtime environment, suitable for system engineers and architects;
Network topology diagrams are used to display physical or logical network structures, suitable for network engineers/IT operations;
Deployment architecture diagrams are used to describe the actual deployment structure of systems or platforms, suitable for technical presentations, DevOps teams.
In UML1.x, nodes are divided into processor nodes and device nodes. Processor nodes are represented by shaded cubes, while device nodes are represented by unshaded cubes.
A node instance is based on an existing node. The name of a node instance will have an underline, and there will be a colon before the node type.
A component instance is based on an existing component. The name of a component instance will have an underline, and there will be a colon before the component type.
The dashed line in a deployment diagram usually represents the relationship or dependency between elements, indicating that one element is related to or depends on another element.
Yes, deployment diagrams use multiple nodes to represent clusters or redundant deployments, adding annotations such as "load balancing" or "primary-backup."
Deployment diagrams do not focus on detailed operational mechanisms but can provide an understanding of the overall structure.
Not necessarily. Simple deployment diagrams can just show nodes and their connections.
Yes, primarily at a high-level logic. Communication between nodes can be represented with labeled connections, indicating communication protocols (e.g., HTTP, RPC, TCP).
However, it is not recommended to use deployment diagrams to detail network topology; complex networks are better supplemented with network architecture diagrams.