What is UML? Everything You Need to Know About Unified Modeling Language

What is UML? Everything You Need to Know About Unified Modeling Language

What is UML?

"Unified Modeling Language, or UML, is a visual language that helps software developers visualize and construct new systems. It’s not a programming language — it’s a set of rules specifically for drawing diagrams. There are many types of software engineering diagrams, but think of this language like the software engineer’s version of a blueprint."

f you're brand new to UML, you might want to check out our resource on UML Basics first. 

Interested? Get a free trial of Gliffy Online or check out our Atlassian Apps for diagramming in Confluence and Jira.

Video introduction to UML diagramming


and Common Notations.

Although there are many types of UML diagrams, each diagram contains elements such as packages, classes, and associations that have their own graphics. Getting to know the Unified Modeling Language further or making a UML diagram will require you to use these notations.

Frames & Content Areas in UML

Content areas are basically the spaces occupied by your diagram, and for the sake of organization, it might be helpful to enclose the diagram in a frame. You should also include a heading that describes the parameters of your model if you include a frame. Typical headings and their abbreviations are:

  • Activity (act)
  • Class
  • Component (cmp)
  • Deployment (dep)
  • Interaction (sd)
  • Package (pkg)
  • State Machine (stm)
  • Use Case (uc)

Packages

Packages can contain other packages within them. Their purpose is simply to group elements under a common name.

Classifiers

Based on your diagram, classes are represented by rectangles and can include varying amounts of data. Objects classified as classifiers have a state and relate to other objects. Classifier rectangles can have a keyword that makes them stand out as interfaces, data types, stereotypes, etc.

Objects

You will want to make your diagram more specific if you are including specific states and behaviors within a class. Objects, which are distinguished from rectangles by their underlined names, are used in this case.

States

Circles represent the initial and final states of a process or program. Using rounded rectangles, you can describe states throughout your system. In these rectangles, you can name the state and define its attributes and responses.

Nodes and Components

Components are generalizations of parts of the system or interchangeable parts. A node is a physical component of a system, such as a server. 

Notes and Annotations

Using these notes, you can provide further context for your diagram by describing elements, functions, or other details that are important.

Arrows

indicate the relationships between elements in your diagram. Note the following types of relationships:

Generalizations

There is a solid line and a hollow arrowhead representing the parent-child relationship. There are certain types of one another.

Associations

In your diagram, an association arrow indicates a one-way relationship between elements. Information is being passed from one place to another. The arrowhead is unclosed.

Dependencies

A dotted line and an unclosed arrow can be used to show a dependency. Changes to these relationships can cause your system to malfunction.

Realizations

Unfilled arrowheads and dotted arrows represent the realization relationships. There is a connection between these elements or the information on one side of the relationship implements or creates the information on the other.

History of the Unified Modeling Language

In 1995, Graham Booch, Ivar Jacobson, and James Rumbaugh developed the Unified Modeling Language at Rational Software. The Object Management Group, which includes Hewlett-Packard, IBM, and Apple Computer, adopted UML as a standard in 1997. UML will therefore remain a common visual language for many years to come.

The language was originally published by the International Organization for Standardization (ISO) in 2005, but has since been revised and updated to remain current. UML 2.5 was released in 2015.

In today's Agile environment, UML diagrams are less popular, but there are still many reasons to use them. UML diagrams facilitate collaboration - and this type of clear communication keeps everyone on track.

What does a UML Diagram Do? What is it for?

Software engineers typically use UML diagrams. It is important to use UML diagramming when creating new products or systems for two key reasons.

Better Ideation and Collaboration

By using UML diagrams, developers can ensure they are on the same page before they begin coding. Developers who understand the system they are building are better able to delegate work, identify potential problems before they begin, and work efficiently toward a common goal.

Detailed Project Documentation

Developers can use UML diagrams to understand decisions made and structures developed after code has been written. As a result, teams can improve their work in the future.

Make Your Own UML Diagram

Now that you know what UML diagramming is and how it works, why not give it a try? Get a free trial of Gliffy or learn how to create UML diagrams.