Deployment Diagrams
A deployment diagram is a structural UML diagram that models the physical nodes where your system executes (or that support execution), as well as the nodes' physical connections and relationships. Physical nodes can include common devices such as servers, PCs, and workstations, as well as other devices that support a system's runtime environment.
Deployment diagrams document the physical relationships between the software and hardware components in the system, and the physical distribution of the processing. It is important to distinguish deployment diagrams from component diagrams. A deployment diagram shows instances of components in relation to where they are used in the system; a component diagram defines the components in the system.
A deployment diagram is not usually necessary for software operating on one machine and interfacing only with standard devices (such as a keyboard or printer) that are already managed by the host operating system.
Using Deployment Diagrams
Deployment diagrams are helpful because they model the static deployment of a system. Typically, this involves modeling the topology of its hardwareprocessors and devices. Essentially, deployment diagrams focus on the configuration of these run-time processing nodes and their components. You normally develop deployment diagrams during the implementation phase of development. Deployment diagrams are effective for visualizing, specifying, and documenting the following systems:
- Embedded A system that uses hardware (such as motors, actuators, and displays) controlled by external stimuli (such as sensor input, movement, and temperature changes).
- Client/server A systems that typically distinguishes between the system's user interface and the system's persistent data.
- Distributed A systems that have multiple servers, and may host multiple versions of software components, some of which may even migrate from node to node.
When you model the physical nodes on which your system executes, you use nodes to represent hardware devices such as computers, sensors, and printers. Node instances are used to contain component instances as well as objects. Connections that represent communication paths, such as TCP/IP connections, are modeled by dependency and association relationships. You may also add notes and any other shapes and connectors, where helpful.
Related Topics
|