I am very new to UML and I am trying to make a deployment diagram for my web application. I am using MVC architectural pattern but I am unsure if this should be included. I am also using mongodb, nodejs, express, and handelbars. How can I show this on my diagram?
2 Answers
I also agree with Thomas Kilian. In a deployment diagram, it's better if we can mention the specific components to get a clear idea on the physical network (hardware) configurations on which your software is deployed and run.
FYI, I am a uni student and came up with the following deployment diagram while preparing a Software Architecture Document for a Node+Express+Mongo web application. Hope you can get some idea from it too.

- 1,367
- 1
- 12
- 21
-
1The only drawback with your diagram is that it's not UML. Just the components have the shape used in UML. The fat double-arrows are not part of any UML profile (I know), – qwerty_so Mar 18 '17 at 12:10
-
Yes, in UML, we have to use line arrows, right? I will improve my answer. Appreciate your comment. – Thilina Ashen Gamage Mar 18 '17 at 13:02
-
2Looks better now. Another observation: you connect e.g. the Mongo DB with a boundary called DB Drivers. Instead it should be connected with the Driver component inside. Also, I'd use Nodes for the two servers, rather than boundary shapes. – qwerty_so Mar 18 '17 at 13:19
-
1Getting to a final state :-) Not sure about the connection between web browser and Node.js. Shouldn't that connect to the WebServer instead? – qwerty_so Mar 18 '17 at 17:03
-
Yeah technically, we must connect the web browser with the web server. Communication between these components will happen in the form of HTTP requests and responses. The dynamic component of the app runs on the application server and we connect both web server and application server together. But in the Node.js infrastructure, things are a lit bit different. Instead of running a separate web server like Apache or Nginx, we can create a web server with Node.js itself. In my diagram, **<
>Node.js** refers to this. So I think the idea is reflected in the diagram. – Thilina Ashen Gamage Mar 18 '17 at 19:30 -
Ah! That makes it clear. Of course one needs to know the context. But clearly this shows how UML diagramming helps communication. Cheers! – qwerty_so Mar 19 '17 at 13:26
It depends on your audience. Just putting three boxes in with the text MVC is rather pointless. You might show details as to where a MVC pattern is used concrete. But I guess, this should go elsewhere (in the class design). Your deployment diagram should just show how the components are deployed (i.e. on which hardware you have which software/library).

- 35,448
- 8
- 62
- 86