Welches UML-Diagramm verwenden?
Alle vierzehn UML-Diagrammtypen nebeneinander, sortiert nach der Frage, die jedes beantwortet - damit Sie in dreißig Sekunden wählen statt eine Stunde lang das falsche Diagramm zu zeichnen.
9 Min. LesezeitUML 2.5.13 von 35
Die kurze Antwort
- Klassen- und Sequenzdiagramm tragen die meisten Entwurfsgespräche: woraus das System besteht und was zur Laufzeit geschieht.
- Aktivität ist Arbeit, Sequenz ist Gespräch. Fragen Sie vor der Wahl, wovon das Diagramm handelt.
- Kein UML-Diagramm zeigt ein Datenbankschema. Am nächsten kommt das Klassendiagramm, doch für Tabellen und Schlüssel nehmen Sie ein ER-Diagramm in Krähenfuss-Notation.
- Die meisten Systeme brauchen drei oder vier Diagramme, nicht vierzehn. Jedes weitere ist ein Artefakt mehr, das jemand wahr halten muss.
01Fangen Sie bei der Frage an, nicht beim Katalog#
Vierzehn Diagrammarten sind eine Speisekarte, und eine Speisekarte ist das falsche Werkzeug, wenn Sie schon wissen, was Sie sagen wollen. Der verlässliche Einstieg ist, die Frage in einem Satz aufzuschreiben und den Satz das Diagramm wählen zu lassen. Fast jede echte Frage bildet sich auf eine von vieren ab.
| Element | Notation | Was es bedeutet |
|---|---|---|
| Woraus besteht es? | Klassen | Typen, ihre Attribute und ihre Beziehungen. Das Klassendiagramm ist die Standardantwort auf jede strukturelle Frage und dasjenige, dessen Notation sich die übrigen ausleihen. |
| Wer will was davon? | Anwendungsfall | Akteure, Ziele und die Systemgrenze. Ein Anwendungsfalldiagramm ist eine Umfangsvereinbarung, kein Entwurf. |
| Was passiert, in welcher Reihenfolge? | Sequenz | Beteiligte und die Nachrichten zwischen ihnen, von oben nach unten. Greifen Sie zum Sequenzdiagramm, wenn gerade die Reihenfolge das Schwierige ist. |
| Was läuft wo? | Verteilung | Knoten, Artefakte und die Pfade dazwischen. Das Verteilungsdiagramm ist das, was eine Infrastruktur- oder Sicherheitsprüfung tatsächlich braucht. |
Die vier Fragen, die die meiste Arbeit abdecken.
02Die sieben Strukturdiagramme#
Ein Strukturdiagramm zeigt, woraus das System besteht, und nichts darin ändert sich über die Zeit. Alle sieben nutzen die Klassendiagramm-Notation wieder, weshalb das sechste weit weniger kostet als das erste.
| Element | Notation | Was es bedeutet |
|---|---|---|
| Klassen | Täglich | Typen, Attribute, Operationen und Beziehungen. Das, was man zuerst lernt, und das, was man am häufigsten zeichnet. |
| Objekt | Gelegentlich | Eine Momentaufnahme echter Instanzen. Ein Objektdiagramm ist die Art, zu zeigen, dass ein verwirrendes Klassendiagramm tatsächlich zusammenhält. |
| Komponenten | Häufig | Auslieferbare Einheiten und die Schnittstellen, die sie anbieten und brauchen. Das Komponentendiagramm ist das Nächste, was UML an ein Architekturbild herankommt. |
| Verteilung | Häufig | Knoten, Artefakte und welches Artefakt auf welchem Knoten verteilt ist. |
| Paket | Gelegentlich | Namensräume und die Abhängigkeiten zwischen ihnen. Ein Paketdiagramm macht einen Zyklus zwischen Modulen sichtbar. |
| Kompositionsstruktur | Selten | Das Innere eines Klassifizierers: Teile, Ports und Konnektoren. Nützlich in der Embedded- und Systemarbeit, sonst kaum. |
| Profil | Selten | Wie UML selbst erweitert wird - Stereotypen und getaggte Werte. Ein Profildiagramm liest man weit öfter, als man eines zeichnet. |
03Die sieben Verhaltensdiagramme#
Ein Verhaltensdiagramm zeigt, was passiert, in welcher Reihenfolge und unter welchen Bedingungen. Steckt in Ihrer Frage ein wann, sind Sie hier. Vier der sieben sind Interaktionsdiagramme, die sich vor allem darin unterscheiden, was sie auf welche Achse legen.
| Element | Notation | Was es bedeutet |
|---|---|---|
| Anwendungsfall | Häufig | Akteure, Ziele und Umfang. Über das Wie sagt es bewusst nichts. |
| Aktivität | Täglich | Schritte, Verzweigungen, Nebenläufigkeit und Verantwortung. Das Aktivitätsdiagramm ist das Flussdiagramm von UML, mit echter Semantik daran. |
| Zustand | Häufig | Der Lebenszyklus eines Objekts: Zustände, Ereignisse und Übergänge. Ein Zustandsdiagramm verdient seinen Platz in dem Moment, in dem es eine Statusspalte gibt. |
| Sequenz | Täglich | Nachrichten zwischen Beteiligten, die Seite hinunter geordnet. |
| Kommunikation | Gelegentlich | Dieselbe Interaktion als Netz gezeichnet, mit nummerierten Nachrichten. Ein Kommunikationsdiagramm zeigt, wer mit wem spricht, statt wann. |
| Zeitverlauf | Selten | Zustand gegen eine Zeitachse. Ein Zeitverlaufsdiagramm ist für den Fall, dass die Frist selbst die Anforderung ist. |
| Interaktionsübersicht | Selten | Ein Aktivitätsdiagramm, dessen Knoten ganze Interaktionen sind - die Inhaltsseite zu einer Menge von Sequenzdiagrammen. |
04Die vier, die die Last tragen#
Die meisten Teams zeichnen vier Arten und lesen eine fünfte. Das ist kein Mangel an Ehrgeiz - es ist, was passiert, wenn jedes Diagramm wahr gehalten werden muss. Die übrigen zehn lohnt es, lesen zu können, wenn man einem begegnet, und das ist eine viel kleinere Investition, als eines aus dem Stand zeichnen zu können.
Dazu greifen, wenn
- Klassen - die Domäne, einmal, aktuell gehalten. Das Diagramm, das ein Jahr später am ehesten noch stimmt.
- Sequenz - die ein, zwei Abläufe, die sich wirklich schwer in einem Absatz erklären lassen.
- Aktivität - ein Prozess über Teams hinweg, bei dem die Swimlane der ganze Punkt ist.
- Verteilung - jedes System, dessen Infrastruktur sich nicht aus dem Repository ergibt.
Zu etwas anderem greifen, wenn
- Kompositionsstruktur, ausser Sie machen Embedded- oder Systems Engineering.
- Zeitverlauf, ausser eine Frist in Millisekunden ist Teil der Anforderung.
- Interaktionsübersicht, ausser Sie haben bereits mehrere Sequenzdiagramme zu indizieren.
- Profil, ausser Sie erweitern UML selbst, statt es zu benutzen.
Wenn Sie lernen statt auswählen, ist die Reihenfolge dieselbe: zuerst Klassen, weil sechs der Strukturdiagramme ihre Notation wiederverwenden; dann Sequenz, weil es das ist, nach dem die Leute namentlich fragen; dann Aktivität und Anwendungsfall, die billig sind, sobald Sie einen Wächter lesen können. Die Symbolreferenz deckt das Vokabular ab, das alle teilen.
05Wenn die Antwort gar nicht UML ist#
Drei Fragen sehen wie UML-Fragen aus und sind es nicht. Zur falschen Notation zu greifen kostet mehr als zum falschen Diagramm, weil das Publikum sie ebenfalls nicht lesen kann.
| Element | Notation | Was es bedeutet |
|---|---|---|
| Ein Datenbankschema | ER | Nehmen Sie ein ER-Diagramm in Krähenfussnotation. Tabellen und Schlüssel sind keine Klassen und Operationen. |
| Ein Geschäftsprozess | BPMN | Nehmen Sie BPMN, wenn Business-Analysten das Publikum sind oder das Modell für eine Engine bestimmt ist. Ein Aktivitätsdiagramm ist nur dann die richtige Antwort, wenn das Publikum aus Ingenieuren besteht. |
| Eine Unternehmenslandschaft | ArchiMate | Nehmen Sie ArchiMate, wenn das Thema Geschäft, Anwendung und Technologie umspannt. UML hat kein Vokabular für eine Geschäftsfähigkeit. |
06Was zu behalten ist#
In je einer Zeile
- 01Schreiben Sie die Frage zuerst in einem Satz. Der Satz wählt das Diagramm, der Katalog nie.
- 02Strukturdiagramme beantworten, woraus es besteht; Verhaltensdiagramme, was passiert. Ein wann in der Frage bedeutet Verhalten.
- 03Vier Arten tragen die meiste echte Arbeit: Klassen, Sequenz, Aktivität und Verteilung.
- 04Die Aktivität handelt von Arbeit und Verantwortung; die Sequenz von Nachrichten und ihrer Reihenfolge.
- 05Geht es um ein Schema, einen Geschäftsprozess oder eine Unternehmenslandschaft, ist die Antwort ER, BPMN oder ArchiMate statt UML.
07Häufige Fragen#
Welches UML-Diagramm wird in der Praxis am häufigsten verwendet?
Mit großem Abstand das Klassendiagramm, gefolgt vom Sequenzdiagramm. Zusammen decken sie die meisten Entwurfsgespräche ab: woraus das System besteht und was zur Laufzeit geschieht. Danach kommen Anwendungsfall- und Aktivitätsdiagramme, meist in der Anforderungsarbeit statt im Entwurf.
Welches UML-Diagramm zeigt den Ablauf eines Prozesses?
Das Aktivitätsdiagramm. Es hat Aktionen, Entscheidungen mit Wächtern, Verzweigungen für Nebenläufigkeit und Schwimmbahnen für Verantwortung - genau das Vokabular, das ein Prozess braucht. Ein Sequenzdiagramm nehmen Sie, wenn zählt, welcher Beteiligte welche Nachricht sendet.
Aktivitätsdiagramm oder Sequenzdiagramm?
Fragen Sie, wovon das Diagramm handelt. Geht es um die Schritte eines Prozesses und darum, wer für welchen zuständig ist, nehmen Sie ein Aktivitätsdiagramm. Geht es um Nachrichten zwischen konkreten Beteiligten und deren Reihenfolge, nehmen Sie ein Sequenzdiagramm. Aktivität ist Arbeit, Sequenz ist Gespräch.
Welches UML-Diagramm zeigt die Datenbankstruktur?
Direkt keines. Am nächsten kommt das Klassendiagramm, das oft für ein Domänenmodell dient, aber es beschreibt Typen und Verhalten statt Tabellen und Schlüssel. Für ein Schema nehmen Sie ein ER-Diagramm in Krähenfuß-Notation, die genau dafür entworfen wurde.
Wie viele UML-Diagramme braucht ein System?
Meist drei oder vier, nicht vierzehn. Ein Klassendiagramm für die Domäne, ein Sequenzdiagramm für die ein bis zwei schwierigen Abläufe und ein Verteilungsdiagramm, wenn die Infrastruktur nicht offensichtlich ist. Jedes weitere ist ein Artefakt mehr, das jemand wahr halten muss.
In dieser Reihe
- 01Was ist UML?
- 02UML-Symbole
- 03Diagramm auswählen
- 04Klassendiagramme
- 05Klassendiagramm-Beispiele
- 06Klassendiagramm zeichnen
- 07Klassendiagramm-Symbole
- 08Sequenzdiagramme
- 09Sequenzdiagramm-Beispiele
- 10Sequenzdiagramm zeichnen
- 11Anwendungsfalldiagramme
- 12Anwendungsfall-Beispiele
- 13Aktivitätsdiagramme
- 14Aktivitätsbeispiele
- 15Zustandsdiagramme
- 16Zustandsdiagramm-Beispiele
- 17Komponentendiagramme
- 18Komponenten-Beispiele
- 19Komponentendiagramm zeichnen
- 20Komponenten-Symbole
- 21Verteilungsdiagramme
- 22Verteilungsbeispiele
- 23Objektdiagramme
- 24Paketdiagramme
- 25Kompositionsstrukturdiagramme
- 26Kommunikationsdiagramme
- 27Sequenz vs Kommunikation
- 28Zeitverlaufsdiagramme
- 29Interaktionsübersichtsdiagramme
- 30Profildiagramme
- 31UML mit KI
- 32E-Commerce-Beispiel
- 33Banken-Beispiel
- 34Microservices-Beispiel
- 35AWS-Beispiel
Passend dazu
Grundlagen
Notationsreferenz
Strukturdiagramme
Verhaltensdiagramme
Grundlagen
Grundlagen