UML - Unified Modeling Language

Why UML?

When a process is discussed over and over again in project meetings and there is a need for clarification...
a software developer only knows the answer to a question after a longer search in the source code…
…the complexity keeps increasing and the perspective is slowly lost…
…only seeing shrugs from colleagues, because the employee with the know-how is on vacation…
…then the last resort is UML.


What is UML?

UML is to the software developer what the blueprints are to the architect.

Hardly anyone today would think of building a house without first drawing up plans. Unfortunately, this is still the case in some software development companies. And this is completely independent of its size.

With the help of diagrams, the static "house" of the software and dynamic processes are graphically recorded.

Who invented it?

In the 80's the procedures of Booch, Jacobson and Rumbaugh crystallized. In other words, object-oriented programming was just beginning to take hold. There were, of course, many diagram types before, such as the flowchart, Petri nets, and SADT; all of which had their influence on UML.

The breakthrough came when Rumbaugh and Jacobson, and later Booch, joined forces. The three amigos put their heads together, bringing in the tried and true and discarding the dispensable. The result was UML in the 90's.

What are the diagrams?

Use case diagram, package diagram, class diagram, state diagram, interaction overview diagram, sequence diagram are the best known, but there are more. More than a dozen diagrams know UML by now.

Who can use it?

Initially used by software architects, the areas of application are no longer limited to software development. It is used in many areas involving concepts, analysis and interrelationships.

What does UML mean?

Pronounced UML means Unified Modeling Language. Why “Language” and not “Graphics?”

Like a language, UML defines terms and identifiers as well as their relationships to each other and how they are formulated. Sounds a bit abstract, but those who delve deeper into the subject matter are primarily concerned with the structure of a language.

When does it come into play?

As described at the beginning of this page, UML should not be used only during software development, but already in the planning phase. According to the motto: “think before you act”.

UML helps to capture ideas, map processes and relationships and work towards simple solutions. This last point needs a few years of practice.

What is the right measure?

Is it a small cell phone app, more complex applications with mathematical algorithms or even a software system for medicine or aircraft technology? Depending on the application, UML may or may not solve the problem. In any case, I would feel more comfortable if I knew there was a lot of time for planning and, if possible, a 100% mapping of the software in UML.

The right amount comes from these examples in conjunction with the issues during planning and implementation. As so often, this depends on discretion and experience.

With the UML diagrams, views are created that answer specific questions and capture detailed concepts. It is not advisable to use too many diagrams for the first two examples as these must also be maintained. And just as incorrect developer documentation would be obstructive and confusing, the same is true for outdated UML diagrams.

Take heart, in the beginning you might do too much. But only practice makes perfect. If you need support with UML, we are happy to advise or train you. Just ask us.