UML, Why do we use it?

As we saw in our Drawing software? Modeling languages! post, the Unified Modeling Language (UML) is the most known modeling language used in Software Engineering, but why? In this post we´ll find out.

language
Language flickr photo by richard baxter

UML.

The Unified Modeling Language is a general purpose modeling language (more info about modeling languages in Drawing software? Modeling languages!). The objective of UML is to define a standard way to visualize the way a system has been designed. We have to point out that UML is not a programming language more rather just a visual language as is.

The Unified Modeling Language is often used for complex applications that need certain colaboration and planning for multiple teams and hence require a clear and concise way to communicate amongst them; and what´s better than a visual communication type. And know that we talk about communication, something obvious that we don´t often notice is that the client (or rather the person who requires of a software engineer developer) does not understand code, so this modeling language becomes essential to communicate with what the client´s approach is, in terms of requirements, functionalities and processes of the system.

Nevertheless, all modeling languages have the same atrributes and procedures as UML mentioned before, so why do we use UML and not other modeling language program?

We can answer this question with the origin of UML itself. UML was meant to be a unifying language enabling IT professionals to model computer applications.  The primary authors were Jim Rumbaugh, Ivar Jacobson, and Grady Booch, who originally had their own competing methods (OMT, OOSE, and Booch). Eventually, they joined forces and brought about an open standard. One reason UML has become a standard modeling language is that it is programming-language independent as well as it can be easily fit into any company’s way of conducting business without requiring change.

Going back to the basics…

To get a better understanding, let us remember what are the “basic” components for this language to be spoken.

Sequence Diagrams

The sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case. In other words, sequence diagrams show the calls between the different objects in their sequence and can show, at certain detailed level, different calls to different objects. Let´s point out that these sequence diagrams can be seen with two dimensions: the vertical dimension that shows the sequence or messages/ calls in the time order that they occur and the horizontal dimension that shows the objects instances to which the messages are sent.

Example of a sequence diagram for making a hotel reservation by Visual Paradigm.

Class Diagrams

The class diagrams shows how the different entities existing in a project (people, things, and data) relate to each other. This is, differentiating the static structures of a system as well as showing logical classes, which are typically the kinds of more tangible things.

Example of a general class diagram by Visual Paradigm.

Object Diagrams

An object diagram is an instance of a particular moment in runtime, including objects and data values. In a more formal way, we can say that an object diagram is an instance of a class diagram, it shows a snapshot of the detailed state of a system at a point in time, thus an object diagram encompasses objects and their relationships at a point in time.

Example of a Order Management System by Visual Paradigm.

Summary.

The Unified Modeling Language is a design tool in software engineering, standardized due to its origin, that provides us with diagrams to portray the behavior and structure of a system and we can decompose it as the entities that are in a project (class diagrams), how they take place in a project (object diagrams) and how they relate to each other in terms of use cases (sequence diagrams).

Leave a comment

Blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started