Classification of UML Diagrams

As we know UML Diagrams are nothing but standardized diagrams/models to represent the complexity of software systems from different perspectives and at different levels of granularity one to understand the complexity of the system and second to come out with a representation or a model so that all the stakeholders have a single understanding of a system.

We also know that systems can be primarily viewed from Behaviorial and Structural Perspectives wherein the structural components interact with each other so as to give different behaviors of a system.

So when it comes to the classification of UML diagrams what do you think can be the different ways of classifying the UML diagrams?

As we know that software system is just a automation system which is responsible for automating the complexity of the real world systems by using the hardware resources in the most optimal form to deliver a value [in terms of scale, time, cost, speed etc] to the end user. Hence a software system can automate any real world system belonging to any domain.

As there can be hundreds / thousands of domains in this real world each with hundreds of concepts, the designers of UML faced a very daunting task of finding out a common set of diagrams to represent their complexity. They realized that the only thing common across these software systems belonging to hundreds of domain is .. deep down every software system is a SYSTEM which will have a set of behaviors and enabling structure. Hence they classified the UML Diagrams as Structural Diagrams and Behaviorial Diagrams.

Structural diagrams are graphical diagrams which represents the structural complexity of the system from different perspectives at different levels of granularity. Class Diagrams, Object Diagrams, Package Diagrams, Component Diagrams and Deployment Diagrams are all examples of Structural Diagrams

While behavioral diagrams are graphical diagrams which represents the behavioral complexity of the system from different perspectives at different levels of granularity. Use cases, Use Case Diagrams, Interaction Diagrams [including sequence and collaboration] , Activity Diagrams and State Diagrams are examples of Behaviorial Diagrams.

We also know component interaction is the technical cause behind the execution of a behavior wherein the structural components of a system interacts with each other in different ways to give different behaviors.

To take care of this, Interaction diagrams are one of the subsets of Behavioral diagrams wherein Interaction diagrams graphically depicts the way objects interact with each other to give different behaviors.

Interaction diagrams are further sub classified into Sequence diagrams and Collaboration diagrams wherein Sequence Diagrams are special type of Interaction Diagram which apart from graphically showing the object interaction specially focuses on the sequence and timing of interaction between the objects. While Collaboration Diagrams are special type of Interaction diagrams which apart from graphically showing the object interaction focuses on the spatial distribution of the objects.

With this I conclude the classification of design patterns

 
Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer

www.VPlanSolutions.co.in