Understanding essentials of UML diagrams.

aditya chaudhari
4 min readNov 28, 2019

--

With the rise of software development in late 20th century , BIG companies like IBM, Sun Microsystems, Apple Computer and many others came together and established Object Management Group (OMG), an international association that promotes open standards for object-oriented applications

UML(Unified Modeling Language) is a standardised general-purpose modeling language in the field of object-oriented software engineering.

UML was adopted by OMG since then it has become de-facto to model software systems.

Isn’t it great if you can visualise your entire software or complex part of your software ??? definitely yes, it ‘ll help you to draw a BIG picture and ‘ll help to explain complex software artefacts .

Understanding different components of UML diagrams :

Components of UML can be classified into three types :

  1. Structural components : defines the static part .
  2. Behavioural components : defines the dynamic part.
  3. Relationship components : describes the relationship between different components .

Structural components :

Behavioural components :

Relationship components :

There are total 13 UML diagrams which are classified into 2 types :

I am referring UML diagrams from www.uml-diagrams.org site for sample UML diagrams , this site has many domain specific diagrams which you can refer.

UML diagrams classification

Lets explore important structural diagrams :

Structural diagrams defines static components of the system.

Class diagram : Defines a set of classed and interfaces and relationship between them. Example :

Q . What is difference between aggregation and composition ?

Aggregation and Composition expresses “HAS-A” relationship.

Aggregation is association where one class belongs to other class where part can exist without whole. Example as in above class diagram if Library is deleted books need not be deleted. books can exist independently without association with Library.

whereas, Composition is association where one class belongs to other class where part cannot exist without whole . Example as in above dig . catalog cannot be exist without library . If library is deleted catalog must be deleted.

Generalisation expresses “IS-A” relationship.

Component diagrams : Components are the code modules. Both logical or physical components can be expressed using this components diagrams.

Deployment diagram : Use to define deployment components.

Object diagram : defines a set of objects and their relationship . Helps to explain complex object structure .

Package diagram : use to define structure of package .

Lets explore important behavioural diagrams :

Behavioural diagrams helps to understand how system components interacts to form a system.

Activity diagram : This helps to visualise activities within a system or functionality. This helps to visualise flow of control or object flow.

below is good example of SSO flow .

Use case diagram : This diagram document the interactions between users and system. Use case diagram provide some observable and valuable result to the actors or other stakeholders of the system.

Thanks for reading. Love IT Live IT Enjoy IT.

--

--

aditya chaudhari

building efficient, scalable and maintainable enterprise e-commerce applications using java, spring framework and SAP CC. Life Mantra → Love IT Live IT Enjoy IT