Open for commentsSelect text to comment

Note

Software releases are more than just lines of code bundled together, it involves separate parts like:

  • Libraries
  • Executables
  • Installers
  • Configuration Files and much more.

To make a software product ready to run, you need an idea of:

  • All the files.
  • Executables involved to fully deploy it.
  • The Environment it sits in.

You would use UML deployment diagrams to visualize Deployment Details for a software system, details on the diagram will change according to the target.

For example a video game targeted for Linux or MacOS will have some differences to one targeted for Windows and even more differences if made for Consoles.

There are two types of deployment diagrams:

This is a full example of a video game deployment diagram, you can see that there is a distinct hierarchy of deployment targets. Pasted image 20260712113135

When constructing a diagram it is important to complete the hierarchy, you start from the highest level of deployment information from application name down to device and operating system and you do not need many components to be illustrated. you only need the most important ones to not confuse the viewer.

In the diagram, all the deployment all the targets make sense, you have the application, the device, operating system, and the execution environment. it becomes clear exactly what environment is necessary to run the application.

In terms of artifacts, they are all shown in the highest level of the hierarchy of the system, and only show the game executable and not other components like player, level or score. Also this executable manifists a game component which brings the game functionality to life.

You use the library tag in order to denote a third-party artifact for the system like audio libraries.

The diagram gives a high level look at the artifacts, libraries, main components, machines, and devices needed and to keep track of the files/executables in order to deploy and run your software.

When you complete your implementation; the final step, which is deployment, can be tricky. Without a good plan for deployment and consistency in the deployments, you are prone to system failure.

Built with LogoFlowershow