A deployment diagram in the Unified Modeling Language models the physical deployment of artifacts on nodes such as hardware nodes, i.e. a web server, an application server, and a database server. It used to visualize the topology of the physical components of a system, where the software components are deployed. In other words, a deployment diagram is a diagram that shows the configuration of run time processing nodes and the components that live on them.
Deployment diagrams consist of nodes and their relationships. The nodes appear as boxes, and the artifacts allocated to each node appear as rectangles within the boxes. Nodes may have sub-nodes, which appear as nested boxes. A single node in a deployment diagram may conceptually represent multiple physical nodes, such as a cluster of database servers.
Deployment diagrams is a kind of structure diagram used in modeling the physical aspects of an object-oriented system. They are often be used to model the static deployment view of a system (topology of the hardware).
When to Use Deployment Diagram
- What existing systems will the newly added system need to interact or integrate with?
- How robust does system need to be (e.g., redundant hardware in case of a system failure)?
- What and who will connect to or interact with system, and how will they do it
- What middleware, including the operating system and communications approaches and protocols, will system use?
- What hardware and software will users directly interact with (PCs, network computers, browsers, etc.)?
- How will you monitor the system once deployed?
- How secure does the system needs to be (needs a firewall, physically secure hardware, etc.)?