- UML - Summary
- UML - Activity Diagram
- UML - Statechart Diagram
- UML - Interaction Diagram
- UML - Use Case Diagram
- UML - Deployment Diagram
- UML - Component Diagram
- UML - Object Diagram
- UML - Class Diagram
- UML - Standard Diagrams
- UML - Basic Notations
- UML - Modeling Types
- UML - Architecture
- UML - Building Blocks
- UML - Overview
- UML - Home
UML 2.0 Overview
UML Useful Resources
Utilities
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
UML - Deployment Diagrams
Deployment diagrams are used to visuapze the topology of the physical components of a system, where the software components are deployed.
Deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships.
Purpose of Deployment Diagrams
The term Deployment itself describes the purpose of the diagram. Deployment diagrams are used for describing the hardware components, where software components are deployed. Component diagrams and deployment diagrams are closely related.
Component diagrams are used to describe the components and deployment diagrams shows how they are deployed in hardware.
UML is mainly designed to focus on the software artifacts of a system. However, these two diagrams are special diagrams used to focus on software and hardware components.
Most of the UML diagrams are used to handle logical components but deployment diagrams are made to focus on the hardware topology of a system. Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as −
Visuapze the hardware topology of a system.
Describe the hardware components used to deploy software components.
Describe the runtime processing nodes.
How to Draw a Deployment Diagram?
Deployment diagram represents the deployment view of a system. It is related to the component diagram because the components are deployed using the deployment diagrams. A deployment diagram consists of nodes. Nodes are nothing but physical hardware used to deploy the apppcation.
Deployment diagrams are useful for system engineers. An efficient deployment diagram is very important as it controls the following parameters −
Performance
Scalabipty
Maintainabipty
Portabipty
Before drawing a deployment diagram, the following artifacts should be identified −
Nodes
Relationships among nodes
Following is a sample deployment diagram to provide an idea of the deployment view of order management system. Here, we have shown nodes as −
Monitor
Modem
Caching server
Server
The apppcation is assumed to be a web-based apppcation, which is deployed in a clustered environment using server 1, server 2, and server 3. The user connects to the apppcation using the Internet. The control flows from the caching server to the clustered environment.
The following deployment diagram has been drawn considering all the points mentioned above.
Where to Use Deployment Diagrams?
Deployment diagrams are mainly used by system engineers. These diagrams are used to describe the physical components (hardware), their distribution, and association.
Deployment diagrams can be visuapzed as the hardware components/nodes on which the software components reside.
Software apppcations are developed to model complex business processes. Efficient software apppcations are not sufficient to meet the business requirements. Business requirements can be described as the need to support the increasing number of users, quick response time, etc.
To meet these types of requirements, hardware components should be designed efficiently and in a cost-effective way.
Now-a-days software apppcations are very complex in nature. Software apppcations can be standalone, web-based, distributed, mainframe-based and many more. Hence, it is very important to design the hardware components efficiently.
Deployment diagrams can be used −
To model the hardware topology of a system.
To model the embedded system.
To model the hardware details for a cpent/server system.
To model the hardware details of a distributed apppcation.
For Forward and Reverse engineering.