The last UML structural diagram I want to discuss
is the deployment diagram. The deployment diagram provides a static
deployment view of a system, and unlike previous diagram,
it is about the physical allocation of components to computational
units. Think, for example, of a client-server system in
which you'll have to define which components will go on
the server and which component will go on the
client. For deployment diagram, the nodes correspond to computation unit;
for example, a specific device. And the edges indicate communication
between these units. Also in this case, I'm going to illustrate deployment
diagrams using an example for our course management system. And
also in this case, I'm going to use a slightly more complex
diagram than usual. But I don't want you to look
at all the individual details. Instead, I would like to focus
on a few main aspects. So, if you look at
this diagram, there are three things that you should clearly see.
First, you should see how the system involves four
nodes, a web server, an application server, a DB
server, and a mainframe. Second, you should see which
components are deployed on which nodes. For example, the student
component is deployed on the application server. And finally,
you should see how the nodes communicate with one
another. For example, you can see that the application
server and the university database communicate using a JDBC protocol.