What is UML?

Updated on Thu 10 Nov, 2022 | 6 mins read | Free training, Manual testing, qa training

UML is an abbreviation for the Unified Modeling Language. It is a standard that is used to create object-oriented, meaningful documentation models for any software system. It lets us develop rich models that describe the working of any software or hardware system.

UML is a great way to create professional documentation, which is a necessary part of any project. The use of UML is an essential part of creating an object-oriented design of systems. It gives you tools for making good models and designs for rational systems that can be understood easily.

What is UML?

UML is a standard visual specification language for software systems. It can be used to visually construct and document systems as well as to communicate about them with other people.

The Object Management Group created UML, and the first version of the specification was proposed to the OMG in January 1997.

OMG is continuously putting effort into making a truly industry-standard solution.

It is not a programming language, but tools can be used to generate code in other languages. UML is closely connected to object-oriented analysis and design.

Goals of UML:

A picture is worth a thousand words. It was object-oriented concepts were first introduced. At that time, there were no standard methodologies for organizing and consolidating object-oriented development. It came into the picture at that point.

One of the most important goals for the development of UML is to define a general-purpose modeling language that all modelers can use and that is made simple to understand and use.

UML diagrams are not only intended for developers, but for business users, common people, and anyone interested in understanding the system.   The system can be either software or non-software. It must be clear that the method of making a successful system is accompanied by processes and not a development method.

A conceptual model of UML:

To understand the UML conceptual model, we must first explain what a conceptual model is and why one is needed.

  • A conceptual model is a model made of concepts and relationships.
  • Before you draw a UML diagram, you need to have a good idea of what you want to show. It is important to understand the entities in the real world and how they interact with each other.

As UML describes real-time systems, it is important to make a conceptual model before proceeding further. The UML concept can be learned by learning the following three things:

  • UML building blocks are used to represent the system.
  • Rules to connect the building blocks
  • Common mechanisms of UML

Object-oriented concepts:

UML is the next step after object-oriented analysis and design.

Data and methods are contained in an object. The data tells you state about the object. A class is a hierarchy that is used to model real-world systems. The hierarchy is represented as inheritance and the classes can also be associated in different ways depending on the requirements.

There are objects around us that can be represented using the basic concepts of UML.

It is possible to represent all the concepts in object-oriented analysis and design. UML diagrams only represent object-oriented concepts. Before learning UML, it is important to understand OO concepts in detail.

There are some fundamental concepts of the object-oriented world:

  • Objects: Objects represent an entity, and are the basic building block of the system.
  • Class: The blueprint of an object is called a class.
  • Abstraction: Abstraction demonstrates the behavior of a real-world entity.
  • Encapsulation: Encapsulation is how data is put together and kept private from the rest of the world.
  • Inheritance: Inheritance is a mechanism for creating new classes from existing ones.
  • Polymorphism: It explains how it can exist in different forms.

OO Analysis and Design

To be more specific, object-oriented analysis is the investigation of objects. And design is the collaboration of identified objects.

It is therefore important to have a thorough understanding of object-oriented analysis and design concepts. One of the most important purposes of object-oriented analysis is to identify the objects of the system being designed. So, when we talk about efficient analysis, we need to start thinking in a way that lets us identify objects. After the objects are identified, their relationships are figured out, and a design is made.

The purpose of object-oriented analysis and design can be described as:

  • Finding out what a system is made of.
  • Identify their relationships.
  • Create a design that can be converted into executable code using OO languages.

Three basic steps are where the concepts are applied. The steps are as follows:

OO Analysis –> OO Design –> OO implementation using OO languages

Role of UML in OO design:

UML is a language used to model software and non-software systems. UML is used to model software applications, and this is the main purpose of UML. So far, UML diagrams have been used to model different aspects, such as static, dynamic, etc.

When we examine the class diagram, object diagram, collaboration diagram, or interaction diagrams, it is obvious that they are based on the objects.

So, the relationship between OO design and UML is critical to understand. The OO design is turned into UML diagrams according to the need. Before mastering the UML details, the OO concepts should be learned properly. Once the object-oriented analysis and design is complete, the next step will be much easier. The input from the Object-Oriented Analysis and Design is used to create the UML diagrams.


  • The UML represents the Unified Modeling Language.
  • It is used to create an object-oriented model of a systems design and how it works.
  • UML is a successor to object-oriented languages, but it is significantly different from them.

Instructor-led Training

Software Testing Online Training

Online Software testing training includes the following modules:
  1. Manual Testing
  2. Database/SQL/Database Testing
  3. JIRA defect management tool
  4. Java Programming
  5. Selenium Framework
  6. TestNG
  7. Cucumber with Maven
  8. Basic of Jenkins

To get more details, please visit the following URL:


Software Testing Classroom Training

Software testing classroom training includes the following modules:

  1. Manual Testing
  2. Database/SQL/Database Testing
  3. JIRA defect management tool
  4. Java Programming
  5. Selenium Framework
  6. TestNG
  7. Cucumber with Maven
  8. Basic of Jenkins
  9. API Testing with SoapUI or Postman
  10. Performance Testing with Jmeter

To get more details, please visit the following URL:

Master of Software Testing + BA + ISTQB Training