With the deepening of people's understanding of computers, the requirements are becoming more and more stringent, and the things that computers are expected to be able to do are becoming more and more complicated. Obviously, the simple-structured stand-alone software cannot meet the needs of users. In order to meet these increasingly complex requirements, the structure of software has also become more and more complex. In order to be able to clearly describe the system architecture, let us understand the deployment diagram and component diagram
deployment diagram
The main purpose of the deployment diagram is to make overall system planning at the physical level, such as: how many servers the system needs, how each server is configured, how to access the system, etc. The grammatical structure of the deployment diagram is very simple
- A node (Node) is generally represented by a cube ( ), and the Server in the cube represents the name of the node
- Artifact, generally represented by ( ), represents a software that can run independently
- Attribute (Attribute), similar to the Attribute of the class diagram, is attached to the node, and the node with the added attribute is as shown in the figure below:
- Tags, mark some information of the node, as shown in the following figure:
- Communication Path (Communication Path), the nodes connected by the communication path need to communicate, generally represented by a straight line ( )
- Dependency, generally indicated by a dotted line with an arrow ( ), the node at the end without the arrow depends on the node at the end of the arrow
Note: A node usually means a type of physical device. For example, in a certain system, there is a DB server, a webapp server, and multiple clients for accessing the webapp. Only one of the multiple clients here needs to be drawn Nodes, just indicate the quantity in the properties of the nodes
The following is an example:
Component Diagram
Components have the following characteristics:
- Can achieve certain functions, or provide some services
- Can't run alone, but function as part of the system
- is a physical concept
- Can be maintained independently, upgraded independently, and replaced without affecting the entire system
The syntax of the component is also very simple
- Component (Component), generally represented by ( )
- Dependency, generally indicated by a dotted line with an arrow ( ), the component at the end without the arrow depends on the component at the end of the arrow
There are only so many basic grammars for component diagrams
Combining Deployment Diagrams with Component Diagrams
Let's use an example to show the deployment diagram combined with the component diagram.
There are two nodes controller and compute in the scenario diagram. The controller node runs the three products of amqp, mongodb and keystone, and also runs ceilometer-collector and ceilometer-api Two components, the ceilometer-agent-compute component runs on the compute node. ceilometer-agent-compute needs to send data to the message queue, ceilometer-collector needs to obtain data from the message queue, and store it persistently in mongodb for ceilometer-api query and management, ceilometer relies on the authentication function of keystone
How to Draw a Combination Chart
Supplementary drawing software information on March 25, 2018 :
project | Attributes |
---|---|
name of software | StarUML ( official website address ) |
version number | Version 2.8.1 |
Combination drawing method of deployment diagram and component diagram: