UML-Profildiagramme
Wie man UML selbst erweitert. Stereotypen, Tagged Values und der Erweiterungspfeil - der Mechanismus hinter jedem «entity», «service» und «microservice», den Sie je auf einem Diagramm gesehen haben.
6 Min. LesezeitUML 2.5.130 von 35
Die kurze Antwort
- Jedes Guillemet, das Sie je auf einem Diagramm gesehen haben - entity, service, microservice - wurde irgendwo durch ein Profil definiert.
- Stereotypen fügen Bedeutung hinzu, Tagged Values fügen Daten hinzu. Ein service-Stereotyp mit SLA-Tag lässt eine Komponente ein konkretes SLA tragen.
- Der Erweiterungspfeil bindet einen Stereotyp an genau eine Metaklasse. Class zu erweitern heisst, er gilt für Klassen und für nichts sonst.
- Definieren Sie ein Profil, wenn Werkzeuge auf eine Annotation reagieren sollen. Eine Notiz ist für jedes Werkzeug unsichtbar; ein Stereotyp gehört zum Modell.
01Was es zeigt#
Ein Profildiagramm ist UML, das eine Erweiterung seiner selbst beschreibt. Es ist das einzige Diagramm der Sprache, dessen Gegenstand die Sprache ist, weshalb es sich anders anfühlt als die anderen dreizehn und weshalb die meisten Leute nie eines zeichnen.
Das Ergebnis haben Sie fast sicher schon benutzt. Jedes Mal, wenn Sie «entity», «service», «controller» oder «microservice» auf einem Klassenkasten gesehen haben, sahen Sie ein angewandtes Stereotyp. Ein Profildiagramm ist der Ort, an dem dieses Stereotyp definiert wird: wie es heißt, woran es angeheftet werden darf und welche zusätzlichen Eigenschaften es trägt.
02Die Notation#
| Element | Notation | Was es bedeutet |
|---|---|---|
| Metaklasse | Kasten, «metaclass» | Ein Element von UML selbst - Class, Component, Association. Das, was Sie erweitern. |
| Stereotyp | Kasten, «stereotype» | Der neue Begriff, den Sie der Sprache hinzufügen. |
| Erweiterung | Durchgezogene Linie, gefülltesDreieck an der Metaklasse. „Dieses Stereotyp darf auf jene Art von Element angewandt werden.“ | |
| Getaggter Wert | ein Attribut am Stereotyp | Eine zusätzliche Eigenschaft, die das Anwenden des Stereotyps mitbringt - slo: Duration. |
| Profil | Paket, «profile» | Das Paket, das eine Menge von Stereotypen gruppiert, damit sie gemeinsam angewandt werden können. |
| «apply» | Von einem Paket zu einem Profil: alles hierin darf jene Stereotypen benutzen. |
03Wann Sie wirklich eines brauchen#
Seien Sie ehrlich über die Schwelle. Ein Stereotyp zu benutzen braucht gar kein Profil - «entity» auf einem Kasten teilt sich einer menschlichen Leserin völlig gut mit, ohne dass irgendetwas formal definiert wäre. Ein Profildiagramm brauchen Sie, wenn das Stereotyp einer Maschine etwas bedeuten muss.
Das passiert in drei Situationen. Wenn ein Werkzeug das Modell validieren muss - sich weigern, «microservice» auf eine Assoziation anzuwenden, oder verlangen, dass jedes davon ein SLO deklariert. Wenn aus dem Modell Code oder Dokumente erzeugt werden und der Generator sich am Stereotyp verzweigt. Und wenn eine ganze Branche sich auf ein Vokabular geeinigt hat: SysML, MARTE, SoaML und dergleichen sind alle UML-Profile, und sie sind der Hauptgrund, warum es den Mechanismus gibt.
04Ein Profil nützlich halten#
Dazu greifen, wenn
- Ein Werkzeug muss aus dem Stereotyp validieren oder erzeugen, nicht nur anzeigen
- Sie brauchen zusätzliche strukturierte Daten an Modellelementen - Eigentümer, SLO, Klassifizierung
- Sie übernehmen ein Standardprofil wie SysML, das jemand anders bereits definiert hat
- Dieselbe Handvoll Domänenbegriffe kehrt über viele Diagramme und Teams hinweg wieder
Zu etwas anderem greifen, wenn
- Ein oder zwei Stereotypen, rein als optische Etiketten benutzt - schreiben Sie sie einfach hin
- Die Begriffe, die Sie ergänzen, gibt es bereits in ArchiMate oder einer anderen Sprache
- Niemand pflegt das Profil weiter, wenn die Person, die es schrieb, geht
- Sie erweitern UML, um den Teil von UML nicht lernen zu müssen, der das schon abdeckt
Ein gutes Profil ist klein. Fünf bis zehn Stereotypen, jedes mit offensichtlicher Bedeutung und höchstens ein paar getaggten Werten, konsistent angewandt, sind weit mehr wert als vierzig, die sich niemand merken kann. Und jeder getaggte Wert, den Sie ergänzen, ist ein Feld, das jemand an jedem Element ausfüllen muss, für immer - lassen Sie also jedes seinen Platz verdienen.
Eine praktische Warnung zur Portabilität: Profile sind der Teil von UML, der zwischen Werkzeugen am schlechtesten reist. Stereotypdefinitionen überstehen einen XMI-Rundlauf deutlich unzuverlässiger als schlichte Modellelemente, und getaggte Werte kommen oft als untypisierte Zeichenketten oder gar nicht an. Muss Ihr Modell zwischen Werkzeugen wandern, halten Sie das Profil so klein, wie Sie es aushalten.
In je einer Zeile
- 01Das einzige UML-Diagramm, dessen Gegenstand UML selbst ist.
- 02Ein Stereotyp erweitert eine Metaklasse; der Pfeil ist eine durchgezogene Linie mit GEFÜLLTEM Dreieck.
- 03Das hohle Dreieck der Generalisierung bedeutet etwas anderes und ist der übliche Fehler.
- 04Getaggte Werte sind zusätzliche Eigenschaften, die das Anwenden des Stereotyps mitbringt.
- 05Ein formales Profil brauchen Sie nur, wenn ein Werkzeug auf das Stereotyp reagieren muss.
- 06Halten Sie Profile klein - sie sind auch der Teil eines Modells, der am unzuverlässigsten exportiert.
05Häufige Fragen#
Was ist ein Stereotyp in UML?
Eine benannte Erweiterung eines bestehenden UML-Elements, in Guillemets geschrieben: entity, service, controller. Damit spezialisiert man die Sprache für eine Domäne, ohne neue Notation zu erfinden - und jeder, den Sie gesehen haben, wurde irgendwo durch ein Profil definiert.
Was ist ein Tagged Value?
Eine Eigenschaft, die ein Stereotyp einem Element hinzufügt. Ein service-Stereotyp könnte ein SLA-Tag definieren; wendet man es auf eine Komponente an, kann diese einen konkreten SLA-Wert tragen. Tagged Values sind, wie ein Profil Daten hinzufügt, so wie Stereotypen sind, wie es Bedeutung hinzufügt.
Was ist die Erweiterungsbeziehung?
Der Pfeil vom Stereotyp zur erweiterten Metaklasse, gezeichnet als durchgezogene Linie mit gefülltem Dreieck. Er macht einen Stereotyp auf genau eine Art von Element anwendbar: Class zu erweitern heisst, er lässt sich auf Klassen anwenden und auf nichts sonst.
Wann ein Profil statt Notizen definieren?
Wenn dieselbe Annotation oft genug auftaucht, dass Werkzeuge darauf reagieren sollen: sie prüfen, danach filtern oder sie beim Export transformieren. Eine Notiz ist für jedes Werkzeug unsichtbar; ein Stereotyp ist vollwertiger Teil des Modells.
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
Strukturdiagramme
Strukturdiagramme
Strukturdiagramme
Modellierungspraxis
Verhaltensdiagramme