UML as a subject is extremely vast, which is why this particular post is divided into two different parts. While I won’t be getting into the very basic aspects of UML diagrams today, I thought it would be pertinent to elaborate on the different types of UML diagrams and what exactly they should be used for. As most diagrammers may be aware, UML diagrams are generally divided into two main categories, i.e. Structural Diagrams and Behavioural Diagrams. While this post will concentrate on the former, expect to read all about the latter tomorrow in Part 2 of this series. So if you’re a newbie when it comes to all things UML, this really is the perfect starting point for you

Basically, Structural Diagrams depict the structural elements composing a system or function. These diagrams reflect the static relationships of a structure. It is these static parts, which are represented by classes, components, objects, interfaces and also nodes. Structural diagrams are further sub-divided into four types of diagrams.

Class Diagram:

Class diagrams are what most diagrammers are used to, since they are the most common type when it comes to UML design. Class diagrams usually consist of interfaces, classes, associations and collaborations. These types of diagrams represent the object-oriented view of a system that is largely static in nature. Having said that, an active class is something that is used in a class diagram to illustrate the concurrency of a system. Generally, a class diagram highlights the object orientation of a system is the most widely used diagram when it comes to system construction.

Object Diagram:

Object diagrams are generally described as an instance of a class diagram. So object diagrams would be closer to real life scenarios when it comes to implementing a system. These diagrams consist of a set of objects and their relationships are like class diagrams and are representative of the static view of a system. The utilization of such object diagrams are similar to class diagrams, however, they are used to construct a model of a system from a perspective that is practical.

Component Diagram:

Component diagrams are representative of a set of components and their relationships. The components present in these types of diagrams consist of classes, interfaces or collaborations. So such diagrams offer the implementation view of the system. During the design phase, software artifacts of the system are placed in various groups based on their relationship to each other. These groups are called components and are basically used to visualize the implementation process.

Deployment Diagram:

Deployment diagrams would illustrate a set of nodes and their respective relationships. These nodes are described as being physical entities where the components are deployed. Deployment diagrams are used for visualizing the deployment view of a system.

So there you have it. As you can see, UML is a vast and detailed subject, which is why I’ve kept it deliberately short and simple. I hope you will tune into this space tomorrow as well for Part 2 of this series. We’ve got more exciting knowledge-based posts on diagramming coming your way next week. Please do reach out to us if you got any queries on UML or diagramming in general, the team at Creately will only be more than glad to help you out!