Unified Modeling Language(UML)Simplified

Mohammad MoiZ
Nov 4 · 3 min read

Unified Modeling Language (UML) is a general purpose modelling language. The objective of UML is to define a standard way to specify how the system has been designed. It may be referred to blueprints that are used in other fields of engineering.

UML is not a programming language, it is rather a visual language. UML helps software engineers, businessmen and system architects with modelling, design and analysis. (e.g) Businessmen do not understand code. So UML becomes essential to communicate with non programmers essential requirements, functionalities and processes of the system.

The Object Management Group (OMG) adopted Unified Modelling Language as a standard in 1997. International Organization for Standardization (ISO) published UML as an approved standard in 2005.

Businessmen do not understand code. So UML becomes essential to communicate with non programmers essential requirements, functionalities and processes of the system.

UML is directly linked with the designing and analysis of Object oriented Programming.

UML Diagrams

There are many types of UML diagrams which are made according to the level of requirements. They are separated into two major categories:

Structure diagrams:

Class diagram:Represents classes.

Object diagram:Shows a system’s state at a specific moment.

Component diagram:Shows dependencies and structure components.

Composite structure diagram:Divides modules or classes into their components, and clarifies their relationships.

Package diagram:Groups classes into packages, represents package hierarchy and structure.

Deployment diagram:Shows the distribution of components to computer nodes.

Profile diagram:Illustrates usage relationships through stereotypes, boundary conditions, etc.

Behavior diagrams

Use case diagram:Represents various uses.

Activity diagram:Describes the behavior of different (parallel) processes in a system.

State machine diagram:Documents how an object is changed from one state to another through an event.


The simplest example of a UML diagram is a Structure Diagram. UML structure diagrams show the following system components:

  • Individual objects (basic components)
  • Classes (combination of elements with the same properties)
  • Relationships between objects (hierarchy and behavior/communication between objects)
  • Activity (complex combination of actions/behavioral building blocks)
  • Interactions between objects and interfaces

All the components are combined to create a final diagram which shows the full functionality of a software or a program.

Class Diagram

It is the most common structural diagram which is used to represent classes their attributes and their operating functionalities.

Structural diagram
  • In the diagram above the name Student is name of class.
  • In the second block all the fields/attributes are defined of which the class will contain.
  • In the third block all the operations are defined which will be used by the class.

The above diagram is also an example of the structural diagram which visualize the usage of UML in inheritance. It shows that the (Book & EMail) classes extends the (Document) class.

Why UML

As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market. These techniques include component technology, visual programming, patterns and frameworks. Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve architectural problems, such as physical distribution, security and load balancing etc.The Unified Modeling Language (UML) was designed to respond to these needs.

  1. Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.
  2. Provide extensible and specialization mechanisms to extend the core concepts.
  3. Be independent of particular programming languages and development processes.
  4. Provide a formal basis for understanding the modeling language.
  5. Support higher-level development concepts such as collaborations, frameworks, patterns and components.

    Mohammad MoiZ

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade