Brief introduction
A deployment diagram is also called a configuration diagram to display the physical architecture of hardware and software in the system. You can learn about the physical topology, connection relationships, and distribution of the processing nodes between software and hardware components.
Deployment Diagram Modeling Steps
-Identify the various nodes that need to be deployed, such as network hardware devices, server hardware devices, and software systems deployed on hardware devices.
-Determine connection relationships and communication patterns between various nodes
-Determine the number of nodes and how they are deployed from the perspective of performance, scalability, maintainability, and portability
-Draw a deployment diagram to assign artifact to individual nodes
Deployment diagram main elements
The main elements in the deployment diagram are nodes, objects, and connections. The nodes are different from each other depending on their state and node instances and node containers.
- node: A hardware device or a software system running on a hardware device.
-UML Representation
-node instance: the instance form of the node. The format is instance Name:node, similar to the class instance format, preceded by a colon with an instance name or without an instance name
-node type : Depending on whether the node is capable of
-Processor: A node with the ability to perform software operations such as calculation and execution
-Devices: Nodes that do not have the ability to run software on their own
-node as Container: A node can include other objects or nodes, such as artifact-type library files, executables, and so on.
- objects (Artifact): Artifacts in the software development process, including requirements documents, source code, library files, executable programs, library files, user manuals, and so on, when the objects in the UML deployment diagram.
UML identity as artifact + icon or <<artifact>> + Name
- Connect (Association): A connection between a node or an object. See the main relationship section of the deployment diagram
Deployment diagram Key Relationships
There is a dependency or association between nodes or objects in the deployment diagram.
- dependencies : There are weak relationships between the objects of the node that are called each other
- Association : The mode of communication between nodes. Related to specific protocols, such as TCP/IP, FTP, HTTP, SOAP, Web service, etc.
Deployment diagram Example
Take the order-inventory system as an example
Differences between a deployment diagram and a component diagram
-the component diagram focuses on the definition, structure and invocation relationship of the system components at the software level; deployment diagrams focus on the organizational structure of system components at the hardware level
-the component diagram focuses on which module or package the component is located in and the version information for each component, and the deployment diagram focuses on which component is deployed on which hardware device and the interaction between hardware devices
-Components in component diagrams focus on modular packaging of source files; The nodes in the deployment diagram focus on the physical deployment of the component
-The components in the component diagram and the artifact in the deployment diagram are relative photos
Connection of deployment diagram to component diagram
-component and deployment diagrams are UML descriptions of the implementation of the system, which are associated with each other and are more likely to deepen the understanding of the overall system architecture, which is generally required for large project class two diagrams
-component and deployment diagrams contain the same constituent elements: components, interfaces, inter-component relationships, services provided externally by the component through the provider interface, services requested externally by the component through the requirements interface
-component diagrams and deployment diagrams contain associations, dependencies
-both component and deployment diagrams can be nested and can participate in interactive communication between external and internal interfaces
Deployment Diagram Considerations
-General deployment diagram painting is divided into four stages:
-The first phase identifies the various nodes that need to be deployed, such as network hardware devices, server hardware devices, and software systems deployed on hardware devices.
-The second phase focuses on determining node information, node relationships, and connection modes
-Phase III assigning objects to nodes
-The fourth phase determines the number and topology of various nodes based on performance, reliability, maintainability, portability, etc.
-For the deployment diagram, the most valuable thing is the object information on the node
-In the uml1.x Deployment diagram specification, components in the component diagram can be deployed directly to the node, and in the uml2.x specification, components in the component diagram cannot be deployed directly to the node and need to be artifact
-Avoid line crossings when placing elements in the deployment diagram
Python design mode-UML-deployment diagram (Deployment Diagram)