Management-Zusammenfassung dieses Beitrags:
Die UML (Unified Modeling Language, auf Deutsch Universelle Modellierungssprache) ist die Modellierungssprache für Anforderungen im Requirements und → Software Engineering.
Es wird in diesem Beitrag die UML mit den 14 Diagrammtypen beschrieben.
Die UML / Unified Modeling Language ist eine Modellierungssprache für das → Requirements Engineering (RE) und Software Engineering (SE). Entstanden Ende der 1990er Jahre ist die UML der De-facto-→ Standard zur grafischen Modellierung innerhalb der RE und SE. Die UML gehört inzwischen der OMG (Object Management Group) /OMG-UML/ und wird durch diese auch gepflegt und weiterentwickelt, wobei die UML als ausgereift gilt und in den letzten Jahren keine signifikanten Änderungen erfahren hat.
Die UML ermöglicht es, Sachverhalte / Anforderungen aus dem Requirements Engineering grafisch zu modellieren. Die grafische Modellierung hat gegenüber der rein textuellen Modellierung folgende Vorteile:
- Durch die Verwendung von nur wenigen Elementen erfolgt eine inhaltliche Schärfung, da “sprachliche” Interpretationen reduziert werden
- Durch die Auswahl eines speziellen Diagrammtyps können auch spezifische Teile sehr genau beschrieben werden
Die Verwendung der UML wird häufig in den Beschreibungen zum → Requirements Engineering dargestellt.
1. Einleitung und Grundlagen
Die UML wird von der OMG herausgegeben und gepflegt. Die komplette Spezifikation umfasst in der aktuellen Version 2.5.1 vom Dezember 2017 (Stand: 04/2021) insgesamt 754 Seiten und kann frei als pdf-Datei heruntergeladen werden /#OMG-UML-Spec/. Übersetzte Sprachfassungen gibt es nicht.
1.1 Definitionen
In der Wikipedia steht zur UML /#Wiki-UML/:
“Die Unified Modeling Language (vereinheitlichte Modellierungssprache), kurz UML, ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion, Dokumentation und Visualisierung von Software-Teilen und anderen Systemen.”
Das → IIBA definiert /BBG17‑d/ die UML (Unified modeling language) folgendermaßen:
“Frei verfügbare, nicht-geschützte Sprache (Notation) zur Modellierung, Visualisierung, Spezifizierung und Dokumentation von Funktionen und Arbeitsergebnissen von Software-Produkten, die objektorientiert entwickelt werden. Die in der Business-Analyse gebräuchlichsten UML-Diagramme sind Use-Case-Diagramme, Activity-Diagramme, Zustandsdiagramme und Class-Diagramme.”
1.2 Abgrenzung zu anderen Notationssprachen
Die UML ist umfangreich genug, um die Bedürfnisse bei der → Softwareentwicklung zu erfüllen. Aber für andere Bereiche (Geschäftsprozessmodellierung, → Systems Engineering) kommen häufig andere Notationssprachen zum Einsatz. Besonders relevant sind dabei:
- Die BPMN (Business Process Model And Notation) /OMG-BPMN/ beschreibt → Geschäftsprozesse
- Die SysML (Systems Modeling Language) /#Wiki-SysML/ ist eine eigenständige Erweiterung der UML, um nicht-software-basierte Systeme (= Hardware) adäquat modellieren beschreiben zu können
2. Die 14 UML-Diagrammtypen
Die UML kennt insgesamt 14 Diagrammtypen, die sich in die Kategorien Struktur- und Verhaltensdiagramme (englisch Structure and Behavior Diagrams) unterteilen lassen (Abbildung 2.1).
Abbildung 2.1: Die 14 UML-Diagrammtypen
Die UML kennt (ab der Version 2.3) sieben Strukturdiagramme /#Wiki-UML/:
- Klassendiagramm (englisch Class diagram)
- Kompositionsstrukturdiagramm (auch: Montagediagramm) (Composite structure diagram)
- Komponentendiagramm (Component diagram)
- Verteilungsdiagramm (Deployment diagram)
- Objektdiagramm (Object diagram)
- Paketdiagramm (Package diagram)
- Profildiagramm (Profile diagram)
Dazu kommen sieben Verhaltensdiagramme:
- Aktivitätsdiagramm (Activity diagram)
- Anwendungsfalldiagramm (auch: Use-Case-Diagramm) (→ Use case diagram)
- Interaktionsübersichtsdiagramm (Interaction overview diagram)
- Kommunikationsdiagramm (Communication diagram), (in älteren UML-Versionen auch Kollaborationsdiagramm (Collaboration diagram) genannt)
- Sequenzdiagramm (Sequence diagram)
- Zeitverlaufsdiagramm (Timing diagram)
- Zustandsdiagramm (State diagram)
In der nachfolgenden Tabelle wird beschrieben, welche UML-Diagrammtypen in den einzelnen Standardwerken zum Requirements Engineering und zur → Business Analysis (nach → IREB (für das Foundation-Level) /IREB-24, IREB21/, IIBA /BBG17‑d/ und → PMI /PMG-BA17/) ausdrücklich erwähnt werden. Generell sollten aber die drei rot- und fettgedruckten Diagrammtypen (Klassendiagramm, Aktivitätsdiagramm und Use-Case-Diagramm) beim Einsatz der UML immer berücksichtigt werden. Zudem ist die Verwendung der beiden schwarz- und fettgedruckten Diagrammtypen (Sequenzdiagramm und Zustandsdiagramm) zusätzlich empfehlenswert.
Nr. | Diagrammtyp | IREB-FL | IIBA | PMI | SysML |
---|---|---|---|---|---|
1. | Klassendiagramm (Class diagram) | M | M | - | modif. (1) |
2. | Kompositionsstrukturdiagramm (Composite structure diagram) | - | - | - | modif. (2) |
3. | Komponentendiagramm (Component diagram) | - | - | - | - |
4. | Verteilungsdiagramm (Deployment diagram) | - | - | - | - |
5. | Objektdiagramm (Object diagram) | - | - | - | - |
6. | Paketdiagramm (Package diagram) | - | - | - | ident. |
7. | Profildiagramm (Profile diagram) | - | - | - | - |
8. | Aktivitätsdiagramm (Activity diagram) | M | - | M | modif. |
9. | Anwendungsfalldiagramm (Use-Case-Diagramm) (Use case diagram) | M | M | M | ident. |
10. | Interaktionsübersichtsdiagramm (Interaction overview diagram) | - | - | - | - |
11. | Kommunikationsdiagramm (Communication diagram) | - | - | - | - |
12. | Sequenzdiagramm (Sequence diagram) | - | M | M | ident. |
13. | Zeitverlaufsdiagramm (Timing diagram) | - | - | - | - |
14. | Zustandsdiagramm (State diagram) | - | M | M | ident. |
Ein “M” in den einzelnen Zellen bedeutet, dass dieser Diagrammtyp bei den jeweiligen Fachverbänden ausdrücklich erwähnt wird und daher auch Requirements-Engineering-Einsteigern bekannt sein muss.
In der Spalte “SysML” sind die Diagrammarten aufgeführt, die in der SysML (nach /#Wiki-SysML/) in der ein oder anderen Form zu finden sind. Dabei bedeuten:
- “modif. “: Dieses Diagramm kann modifiziert / erweitert in der SysML genutzt werden, kann dort aber anders heißen:
- (1) Name in der SysML: Blockdiagramm (Block Definition Diagram)
- (2) Name in der SysML: Internes Blockdiagramm (Internal Block Diagram)
- “ident.”: Dieses Diagramm kann identisch in der SysML genutzt werden
Die Diagrammtypen Interaktionsübersichtsdiagramm, Kommunikationsdiagramm, Sequenzdiagramm und Zeitverlaufsdiagramm werden häufig zusammenfassend als Interaktionsdiagramme bezeichnet (Abbildung 2.2). In der Abbildung 2.2 sind zudem die Nummern aus der Tabelle übernommen und die fünf “essenziellen” Diagrammtypen rot hinterlegt.
Abbildung 2.2: Die 14 UML-Diagrammtypen mit Einteilung
3. Generelle Regeln im Umgang mit der UML
Auch wenn es bei der Verwendung der UML keine Vorgaben gibt, so empfiehlt es sich, einige Grundregeln zu beachten. Diese sind beispielsweise:
- Es sollten nur die “passenden” Diagrammtypen verwendet werden
- Die Verwendung der englischen Sprache (statt Deutsch) in den Diagrammen ist ratsam, wenn es um technische “Belange” geht (Achtung: Hier ist ein → Glossar empfehlenswert)
- Der Einsatz von “echten” UML-Tools (anstatt der Verwendung von Zeichenprogrammen) ist ab einer bestimmten Anzahl von Grafiken sinnvoll
4. UML-Tools
Es gibt eine Reihe von UML-Tools, die zum Einsatz kommen können, sowohl kostenfreie als auch kostenpflichtige.
Hier sind beispielsweise zu nennen (F = kostenfrei, K = kostenpflichtig):
- ArgoUML [F]
- Enterprise Architect (EA) der Fa. Sparc Enterprise [K]
- Gliffy [K]
- Lucidchart [F]
- MagicDraw [K]
- Modeller der Fa. PTC [K]
- Modelio [F]
- PlantUML [F]
- Rational Rhapsody der Fa. IBM [K]
- Visio [K]
Beim Erwerb und Ersteinsatz ist auf einige Punkte zu achten. Dies sind beispielsweise:
- Wird die aktuelle UML-Version unterstützt?
- Ist es ein “reines” Zeichenprogramm oder können die entstehenden UML-Diagramme auch (syntaktisch) überprüft werden?
- Gibt es eine deutsche Sprachfassung?
- Können die Diagramme auch durch andere Programme gelesen werden?
- Gibt es Export- und Import-Schnittstellen (XMI, ReqIF /#Wiki-ReqIF/)?
- Gibt es die Möglichkeit der Versionierung? (Und des Diffs?)
- Wird MBSE (Model Based Systems Engineering) unterstützt?
Eine weitere Übersicht verschiedener UML-Tools findet sich in /#Wiki-UML-Tools-→ Liste/.
5. Häufig gestellte Fragen und Antworten (FAQ) zur UML
Einige Fragen zur UML werden häufig gestellt – diese werden hier wiedergegeben.
- F: Fallen Lizenzgebühren für die Nutzung der UML an?
A: Nein, die Nutzung der UML erfolgt ohne Lizenzgebühren. - F: Wie startet man mit der UML?
A: Es ist sinnvoll, zu Beginn mit einem Zeichentool (es geht auch Papier und Bleistift) einen einfachen → Anwendungsfall zu modellieren. Dann kann man versuchen, Aktivitäts- und Klassendiagramme zu erstellen — damit hat man bereits die drei wesentlichen Diagrammtypen der UML genutzt. - F: Muss man die UML-Spezifikation der OMG /#OMG-UML-Spec/ komplett lesen?
A: Nein, es reicht aus, diese als Nachschlagewerk zu verwenden. - F: Welche Diagrammtypen muss man unbedingt verwenden / sollte ich unbedingt kennen?
A: Das Use-Case-Diagramm sollte man auf jeden Fall kennen, zudem auch das Klassendiagramm und das Aktivitätsdiagramm. Alle anderen Diagrammtypen sind “optional”. - F: Reichen (einfache) Zeichenprogramm für die Erstellung von UML-Diagrammen aus?
A: In der Regel nicht. Bei den Zeichenprogramm fehlen die semantischen Beziehungen, die man jedoch im Verlauf eines Projekts nutzen kann.
A. Präsentationen, Literatur und Weblinks
Die UML wird in meiner Präsentation zum Requirements Engineering kurz erwähnt.
Inhalt | Typ |
---|---|
Requirements Engineering (und Business Analysis) – Eine Einführung (RE-Basispräsentation) |
Diese Bücher beschreiben die UML und die SysML oder deren Verwendung:
- /BBG15/ IIBA: A Guide to the Business Analysis Body of Knowledge (BABOK Guide), International Institute of Business Analysis, Marietta, Georgia 3rd Edition 2015, ISBN 978–1‑927584–02‑6
- /BBG17‑d/ IIBA: BABOK v3: Leitfaden zur Business-Analyse BABOK Guide 3.0, Dr. Götz Schmidt, Wettenberg 2017, ISBN 978–3‑945997–03‑1
- /IREB21/ siehe /Pohl21/
- /Kecher17/ Christoph Kecher, Alexander Salvanos, Ralf Hoffmann-Elbern: UML 2.5: Das umfassende Handbuch, Rheinwerk, Bonn 6. Auflage 2017, ISBN 978–3‑8362–6018‑3
- /Kecher21/ Christoph Kecher, Alexander Salvanos, Ralf Hoffmann-Elbern: UML 2.5: Das umfassende Handbuch, Rheinwerk, Bonn 7. Auflage 2021, ISBN 978–3‑8362–8447‑9
- /Oestereich13/ Bernd Oestereich, Axel Scheithauer: Analyse und Design mit der UML 2.5. Objektorientierte Softwareentwicklung, De Gruyter Oldenbourg, München 11. Auflage 2013, ISBN 978–3‑486–72140‑9
- /Oestereich24/ Bernd Oestereich, Axel Scheithauer: Analyse und Design mit der UML 2.5.1. Objektorientierte Softwareentwicklung, De Gruyter Oldenbourg, München 12. Auflage 2024, ISBN 978–3‑11–062621‑6
- /PMG-BA17/ Project Management Institute: The PMI Guide to Business Analysis, Project Management Institute, Philadelphia, Pennsylvania 2017, ISBN 978–1‑62825–198‑2
- /Pohl21/ auch /IREB21/ Klaus Pohl, Chris Rupp: Basiswissen Requirements Engineering: Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level, dpunkt, Heidelberg 5. Auflage 2021, ISBN 978–3‑86490–814‑9
- /Rupp12/ Chris Rupp, Stefan Queins: UML 2 glasklar. Praxiswissen für die UML-Modellierung, Hanser, München 4. Auflage 2012, ISBN 978–3‑446–43057‑0
- /Staud19/ Josef L. Staud: Unternehmensmodellierung. Objektorientierte Theorie und Praxis mit UML 2.5, Springer, Berlin 2. Auflage 2019, ISBN 978–3‑662–59375‑2
- /Weilkiens14/ Tim Weilkiens: Systems Engineering mit SysML/UML. Anforderungen, Analyse, Architektur, dpunkt, Heidelberg 3. Auflage 2014, ISBN 978–3‑86490–091‑4
Folgende Weblinks liefern weitere Informationen zur UML (und zur SysML):
- /IIBA/ IIBA – International Institute of Business Analysis: Website
- /IREB/ IREB – International Requirements Engineering Board: Website (deutsche Fassung)
- /IREB-24/, /#IREB-24/, /#IREB-CPRE-FL-24/ IREB – International Requirements Engineering Board: Lehrplan / Syllabus zum CPRE-FL, Version 3.2.0 vom Februar 2024 (deutsch, pdf-Datei, 51 Seiten)
- /OMG-BPMN/ OMG – Object Management Group: Webseite zur BPMN
- /OMG-UML/ OMG – Object Management Group: Webseite zur UML
- /#OMG-UML-Spec/ OMG – Object Management Group: Specification der UML, Version 2.5.1 vom Dezember 2017 (englisch, pdf-Datei, 754 Seiten)
- /#Wiki-ReqIF/ ReqIF – Requirements Interchange Format in der deutschen Wikipedia
- /#Wiki-UML/ Unified Modeling Language in der deutschen Wikipedia
- /#Wiki-UML-Tools-Liste/ Liste mit UML-Tools in der englischen Wikipedia
- /#Wiki-SysML/ Systems Modeling Language in der deutschen Wikipedia
Legende zu den Weblinks
/ / Verweis auf eine Website (allgemein)
/*/ Verweis auf eine Website, die als Ergänzung zu einem Buch dient
/#/ Verweis auf ein einzelnes Thema auf einer Website
/#V/ Verweis auf ein Video auf einer Website
Letzte Aktualisierung: 18.04.2021 © Peterjohann Consulting, 2005–2024