Software release involves:
- Separate libraries
- An executable.
- An installer.
- Configuration files.
- Other different pieces.
To make software ready to run, need an idea of how to fully deploy all the different files to a needed environment. To visualize it, can use the UML deployment diagram. The deployment environment (deployment target) can be very specific. The details on the deployment diagram will change accordingly.
The physical result of the development process is artifact. For example artifacts for video game can include an executable, installer, audio libraries, multimedia assets.

There are 2 types of deployment diagrams:
- Specification Level Diagrams. – gives an overview of artifacts and deployment targets, without referencing specific details like machine names. It focuses on a general overview of your deployment rather than the specifics.
- Instance Level Diagrams – is a much more specific approach, which can map a specific diagram to a specific deployment target. In particular, the instance level diagram can identify specific machines and hardware devices. Most commonly, this approach is used to highlight the differences in deployments among development, staging and release builds.
For the Deployment diagrams it is important to use the correct notations for various elements. One of the most important aspects of the deployment diagram is the node.

Nodes are deployment targets that contain artifacts available for execution.
Hardware devices are also displayed in the same way as nodes:

Node relationships:
- Between deployment targets. It shows that 2 nodes have a communication path between them. Between nodes that are the software communication environments, this relationship typically identifies a particular communication protocol:

When an artifact deployed to the node, the diagram depicts this dependency by drawing the artifact inside the node box. This also means that the artifact cannot function without this deployment target:

2) Manifestation is shown in the manifests relationship here, where an artifact is an physical realization of a software component. The Player.class file manifests the player component, the encapsulated unit that contains all the functionality of a player. The player class file results from compiling the player Java file for the player component.

Full example of deployment diagram:

Overall, the deployment diagram gives a high level look at the artifacts, libraries, main components, machines, and devices that your application needs to run. The diagram can be used to keep track of the files and executables needed in order to deploy and run your software. The diagram can be on an instance level specific to the deployment machines you are using or it can be general for a range of execution environments.