Unified Modeling Language (UML) Versions, Modeling tools/Software

Unified Modeling Language (UML) Versions, Modeling tools/Software

Object-oriented programming

The Unified Modeling Language (UML) is a standard visual modeling language intended to be used in software-based systems' analysis, design, and implementation.

What is the Unified Modelling Language used for?

This language (UML) is commonly used by Businesses, Developers, and others to describe, specify, design, and document existing or new business processes, structure, and behavior of software systems.

History

Three (3) friends created the first version of UML: Grady Booch - who created Booch Method, Ivar Jacobson - object-oriented software engineering (OOSE), James Rumbaugh - Object modeling technique (OMT).

Characteristics of UML

  1. It is a generalized modeling language.
  2. It differs from software programming languages such as Python, C, C++, etc.
  3. It is a pictorial language that can generate powerful modeling elements.
  4. It is related to object-oriented designs and analysis.
  5. It has unlimited applications even outside the software industry and can be used to visualize the workflow of a factory.

Before beginning with the UML concept, you must first understand the basics of the conceptual model.

A conceptual model is made up of various concepts which are interrelated. It helps us to understand objects, and how interaction takes place to execute a process. A conceptual model is required in UML. You have to understand the entities and relationships between them before actually modeling the system.

The following object-oriented concepts are required to begin with UML:

The following are the basic building blocks of a UML.

The two(2) concepts of Object-oriented programming (OOP)

  • Object
  • Class

And, the four(4) principles of Object-oriented programming (OOP)

  • Abstraction
  • Inheritance
  • Polymorphism
  • Encapsulation

What is an Object?

It is a real-world entity. There are multiple objects available within a single system. It is a fundamental building block of UML.

What is Class?

A class is nothing but a container where objects and their relationships are maintained.

What is Abstraction?

This can be seen as a form of generalization. It is a mechanism of hiding internal implementation details of objects, and only revealing operations that are relevant to other objects. Abstraction is used to visualize the behavior of an object.

What is Inheritance?

It is a mechanism for creating new classes from existing ones.

What is Polymorphism?

It is a mechanism of representing an object having multiple forms which are used for different purposes.

What is Encapsulation?

It is a method of binding data and object together into a single entity. Encapsulation also hides and protects data from external sources.

UML modeling tools/software

According to Wikipedia, UML tools are software applications that support some functions of the Unified Modeling Language.

There are many tools that can be used to generate UML diagrams. Some are desktop based while others can be used online. Below is a list of tools that can be used to create UML models:

Which of the modeling tools do I prefer, and why?

I have only used two(2) of the modeling tools so far - Lucidchart and draw.io. But, my current favorite is diagrams.net previously known as draw.io. This is because draw.io has all of the basics, and shapes you could ever need.

Draw.io lets you either choose from an automatic layout function, or create a custom layout. You don't signup to use the software and will get the option to connect your work to GitHub or Google drive for easy access and file share. It is free to use and highly recommended for beginners.

How does it work?

  • Visit the official website at https://app.diagrams.net to get started. No registration is required.

nO REG REQUIRED.JPG

  • Select storage

Storage draw.io.JPG

  • Start modeling

Get started draw.io.JPG

I hope this article was helpful. Thanks for Reading!