Deployment Diagram Tutorial

What is a deployment diagram in UML?

The Unified Modeling Language (UML) is the standard language that many software engineers and business people use to look at broad overviews for complex systems. A deployment diagram is one type of diagram in this language.

After you review this page, you can draw your own deployment diagram with Lucidchart, a free chart-making editor that produces sleek, seamless diagrams.

Demo now
Sign up free

What is a Deployment Diagram

In the context of the Unified Modeling Language (UML), a deployment diagram falls under the structural diagramming family and describes an aspect of the system itself. In this case, the deployment diagram describes the physical deployment of information generated by the software program on hardware components. The information that is generated by the software is called an artifact. This shouldn't be confused with the use of the term in other modeling approaches like BPMN.

Deployment diagrams are made up of several UML shapes. The three-dimensional boxes, known as nodes, represent the basic software or hardware elements, or nodes, in the system. Lines from node to node indicate relationships, and the smaller shapes contained within the boxes represent the software artifacts that are deployed.


Deployment Diagram Example

deployment diagram example

This example shows a basic deployment diagram for Lucidchart. There is a web server, a database server, and the user's machine where they view the website. You can get a lot more complicated than this by showing the different parts of the web server and how Javascript works on the UserClient, but this example just gives you an idea of how a deployment looks when using the UML notation.


Deployment Diagram Applications

Deployment diagrams have several valuable applications. You can use them to:

  • Show which software elements are deployed by which hardware elements.
  • Illustrate the runtime processing for hardware.
  • Provide a view of the hardware system’s topology.

Deployment Diagram Symbols and Notation

Nodes

deployment diagram node

There are two types of nodes in a deployment diagram. The first are device nodes--computing resources that have processing capabilities and the ability to execute programs. Some examples of device nodes are a PC, laptop, or mobile phone. The second type of node is called an execution environment node, or EEN. An EEN is any computer system that resides within a device node. It could be an operating system, a JVM, or another servlet container.

Database

Represents any data stored by the deployed system. In the example, the database is represented as just another node, but sometimes you will see this shape as a database.

Other Shapes

  • Communication path A straight line that represents communication between two device nodes.
  • Artifacts A box with the header "<<artifact>>" and then the name of the file.
  • Package A package is a file shaped box that groups together all the device nodes to encapsulate the entire deployment.
  • Component UML component notation is going to be the same here as in the component diagram section.

Deployment Diagram Elements

A variety of shapes make up deployment diagrams. This list offers an overview of the basic elements you may encounter. You can see most of these items illustrated in the image below.

  • Artifact - a product developed by the software, symbolized by a rectangle with the name and the word “artifact” enclosed by double arrows.
  • Association - a line that indicates a message or other type of communication between nodes.
  • Component - a rectangle with two tabs that indicates a software element.
  • Dependency - a dashed line that ends in a arrow, which indicates that one node or component is dependent on another.
  • Interface - a circle that indicates a contractual relationship; those objects that realize the interface must complete some sort of obligation.
  • Node - A hardware or software object, shown by a three-dimensional box.
  • Node as container - A node that contains another node inside of it—such as in the example below, where the nodes contain components.
  • Stereotype - A device contained within the node, presented at the top of the node, with the name bracketed by double arrows.
What is a deployment diagram in UML?

Deployment Diagram Guidelines

Use Lucidchart's UML software to construct deployment diagrams. In the meantime, you can give yourself some general guidelines for constructing a deployment diagram by asking the following questions:

  1. Have you identified the scope of your system? - You should know whether you are diagramming a single application or the deployment to a whole network of computers, for example.
  2. Make sure you have considered the limitations of your physical hardware. - What legacy systems will you need to interact with? Be sure that you know the operating software and protocols you will be working with and what monitoring you will be putting into place.
  3. Which distribution architecture are you using? You should be able to answer these questions:
    • How many tiers will your application have?
    • What is the application you will be deploying to?
  4. Do you have all the nodes you need? Do you know how they are all connected?
  5. Do you know which components are going to be on which nodes?

Deployment Diagram Resources

Use Lucidchart to collaborate and create UML diagrams when you start an account for free today! No plugins or download required.

Sign up