UML Notation - A Quick UML Guide

UML is an acronym for unified modeling language. UML is designed as a general-purpose notation. The best application for UML is in the field of software engineering. It allows you to design software architecture, processes, and communication between services and system parts. UML models are visualized in the form of various diagrams.

What Is UML?

UML stands for Unified Modeling Language. UML diagrams and models were originally designed for object-oriented paradigm, but they are also useful in many other areas as process modeling, service modeling, component, and interface modeling. UML is not a silver bullet for every problem as it was believed in the beginning but it has an important place in software development. It's not just for big upfront design, it is also useful for module design and partial system analyses.

UML Diagram Example
UML Diagram Example

UML Diagram Types

The UML models are expressed graphically in the form of diagrams. There are 14 types of UML diagrams. The can be divided into two main groups - structure diagrams and behavior diagrams. The behavior diagrams include a subgroup of interaction diagrams.

Structure Diagrams in UML

Behavior Diagrams in UML

Interaction Diagrams in UML

UML diagram types
UML diagram types

When to Use UML?

UML may be useful in many cases however you should not use it by force. It should be your helper, not an obstacle you should overcome. UML is a visual modeling language that provides a rich semantics. It is useful especially for:
  • complex software system architecture
  • software component design
  • software interfaces
  • service architecture
  • process design
  • process analysis

UML can be used for modeling:

  • structure
  • behavior
  • interactions

UML in Software Development Process

UML has its irreplaceable place in various parts of the software development process. As a well-known aphorism says - a picture is worth a thousand words. The diagrams are those pictures. But why UML? You can also use your own drawings. In specific scenarios, it may be better but the main advantage of UML is that the boxes, lines, and shapes have a specific meaning, so they are less ambiguous than custom diagrams.

You can use UML for:

  • communication of new component design
  • brainstorming about software architecture, processes, states of entities or a system
  • documentation
  • source code parts generation
  • analyzing existing code

What Views Can Be Modeled using UML?

Diagrams of UML notation can provide various views on the modeled system:

  • User view
  • Structural view
  • Behavioral view
  • Implementation view
  • Environmental view

Who Can Benefit from UML?

Various user roles may come into contact with UML and benefit from it. UML is mostly used by:

  • analysts - to analyze system structure and processes
  • software architects - to design software solutions
  • developers - to build solutions, to generate parts of code
  • customers - to read the specification

What Are the Alternatives to UML?

UML notation unified a lot of the previous modeling and diagramming notations into 14 standardized structure and behavior diagrams. UML diagrams have many uses. They are also areas where you can use other alternative notations (which may be even better for the given use case):

  • E-R diagrams for data and database modeling
  • BPMN for business process modeling
  • CMMN for dynamic and difficult-to-predict processes
  • Flowcharts for simple workflow diagrams

UML Tools

The tool for UML may be UML diagramming tools and UML modeling tools. The diagramming (non-modeling) tools are good for drawing simple UML diagrams, sketches, and idea illustrations. The modeling tools provide more features for complex system models - e.g. diagram generation from code, source code, and script generation from diagrams and models. They are usually harder to use.

Software Ideas Modeler is a UML tool that combines the benefits from both areas. It is easy to use as simple diagramming tools and it provides advanced features.

UML Tutorials

UML Diagram Examples

New Comment