Why UML?
When a process keeps coming up in project meetings and still needs clarifying, when a software developer only knows the answer to a question after searching the source code for a long time, when complexity keeps growing and you are slowly losing track, when colleagues just shrug because the employee with the know-how is on holiday, then the last resort is UML - Unified Modeling Language.
What is UML?
UML is to the software developer what blueprints are to the house builder.
Hardly anyone today would think of building a house without drawing up plans first. Unfortunately, in software development this is still how things are done in some companies. And that is regardless of company size.
Diagrams are used to record graphically the static “house” of the software as well as its dynamic processes.
Who invented it?
In the 1980s, the methods of Booch, Jacobson and Rumbaugh took shape, at a time when object-oriented programming was becoming increasingly widespread. There were of course many types of diagram before that, such as the flowchart, Petri nets, SADT and many more, which had their justification and also influenced UML.
The breakthrough came when Rumbaugh and Jacobson joined forces and Booch later joined the group as well. The three amigos gave it a great deal of thought, brought together what had proven itself and discarded what was dispensable. The result, in the 1990s, was the Unified Modeling Language, UML for short.
What kinds of plans are there?
The use case diagram, package diagram, class diagram, state diagram, interaction overview diagram and sequence diagram are the best known, but they are nowhere near all of them. UML now has more than a dozen different diagrams.
Who can use it?
Initially used by software architects, UML is no longer limited to software development. Its diagrams are used in many areas that involve concepts, analysis and relationships.
What does UML stand for?
Written out in full, UML stands for Unified Modeling Language. But why language and not graphics?
Like a language, UML defines terms, identifiers and their relationships to one another, as well as formulation. That sounds a little abstract, but anyone who goes deeper into the subject deals above all with the structure of a language.
When is it used?
As described at the beginning of this article, UML should not only be used once software development starts, but already in the planning phase. True to the motto: think first, then implement.
UML helps to capture ideas, map processes and relationships, and work towards simple solutions.
What is the right level of detail?
Is it a small mobile app, a more complex application with mathematical algorithms or even a software system for medicine or aircraft engineering? Depending on the use case, you do more or less with UML.
The right level results from these examples combined with the questions that arise during planning and implementation. As so often, it depends on judgement and experience.
UML diagrams are used to create views that answer specific questions and record detailed concepts. We would therefore advise against too many diagrams for the first two examples, because you have to bear in mind that they also need to be maintained. And just as incorrect developer documentation would be a hindrance and confusing, so are outdated UML diagrams.
But take heart: at the beginning you may do too much. Practice makes perfect.
If you need support with UML, we will be happy to advise you. We also offer training courses on UML. Get in touch.
