Klassendiagramme
Klassendiagramme sind der häufigste UML-Diagrammtyp und werden verwendet, um die statische Struktur eines Systems zu modellieren, indem Klassen, ihre Attribute, Operationen und Beziehungen dargestellt werden.
Klassen erstellen
Mit dem Klassenwerkzeug
Drücken Sie auf einer UML-Klassendiagramm-Seite U oder wählen Sie Klasse aus dem Menü UML der Werkzeugleiste. Klicken Sie auf das Canvas, um eine Klassenbox zu platzieren, oder ziehen Sie, um ihre Größe festzulegen. Drücken Sie bei ausgewählter Klasse Return, um sie umzubenennen.
Aufbau der Klassenbox
Eine UML-Klassenbox besteht aus drei Bereichen:
- Namensbereich - Enthält den Klassennamen und optionalen Stereotyp
- Attributbereich - Listet die Klasseneigenschaften/-felder auf
- Operationsbereich - Listet die Klassenmethoden/-funktionen auf
Klasseneigenschaften
Wählen Sie eine Klasse aus und verwenden Sie den Tab Anordnen des Inspektors → Abschnitt UML, um ihre Eigenschaften zu konfigurieren:
Name
Der Klassenname erscheint fett im oberen Bereich. Konvention ist PascalCase (z.B. CustomerOrder).
Stereotyp
Optionaler Klassifikator, der über dem Klassennamen in Guillemets erscheint:
<<interface>>- Für Schnittstellendefinitionen<<abstract>>- Für abstrakte Klassen<<enumeration>>- Für Aufzählungstypen<<entity>>- Für Domänenentitäten- Benutzerdefinierte Stereotypen werden ebenfalls unterstützt
Abstrakt
Umschalten, um den Klassennamen kursiv darzustellen, was eine abstrakte Klasse anzeigt.
Eingeschränkte Größenänderung
Wenn aktiviert (Standard), behält die Größenänderung die Proportionen der Klassenbox bei.
Attribute
Attribute repräsentieren die Daten/Eigenschaften einer Klasse.
Attribute hinzufügen
- Wählen Sie die Klasse aus
- Suchen Sie im Abschnitt UML Attribute — einen mehrzeiligen Editor mit einem Attribut pro Zeile
- Klicken Sie auf + (oder drücken Sie
Cmd+L), um ein neues Attribut hinzuzufügen, und geben Sie dann dessen Details ein
Attributsyntax
Attribute folgen diesem Format: Sichtbarkeit Name : Typ
Sichtbarkeitsmodifikatoren:
| Symbol | Bedeutung | Beschreibung |
|---|---|---|
+ | Public | Von überall zugänglich |
- | Private | Nur innerhalb der Klasse zugänglich |
# | Protected | Innerhalb der Klasse und Unterklassen zugänglich |
~ | Package | Innerhalb des gleichen Pakets zugänglich |
Beispiele:
-id: Int- Private Integer-ID+name: String- Öffentlicher String-Name#createdAt: Date- Geschütztes Datumsfeld~cache: Map<String, Any>- Paket-privater Cache
Operationen
Operationen repräsentieren das Verhalten/die Methoden einer Klasse.
Operationen hinzufügen
- Wählen Sie die Klasse aus
- Suchen Sie im Abschnitt UML Operationen — einen mehrzeiligen Editor mit einer Operation pro Zeile
- Klicken Sie auf + (oder drücken Sie
Shift+Cmd+L), um eine neue Operation hinzuzufügen, und geben Sie dann deren Details ein
Operationssyntax
Operationen folgen diesem Format: Sichtbarkeit Name(Parameter) : Rückgabetyp
Beispiele:
+getName(): String- Öffentlicher Getter, der String zurückgibt-validate(input: String): Boolean- Private Validierungsmethode+process(data: Data, options: Options): Result- Methode mit mehreren Parametern+save(): void- Methode ohne Rückgabewert
Beziehungen
Drücken Sie R, um das Beziehungswerkzeug zu aktivieren, und ziehen Sie dann von einer Klasse zu einer anderen, um eine Verbindung zu erstellen.
Beziehungstypen
| Typ | Linienstil | Pfeil | Anwendungsfall |
|---|---|---|---|
| Assoziation | Durchgezogene Linie | Offener Pfeil | Allgemeine Beziehung |
| Abhängigkeit | Gestrichelte Linie | Offener Pfeil | „Verwendet"-Beziehung |
| Vererbung | Durchgezogene Linie | Hohles Dreieck | „Ist-ein"-Beziehung (extends) |
| Realisierung | Gestrichelte Linie | Hohles Dreieck | Schnittstellenimplementierung |
| Aggregation | Durchgezogene Linie | Hohle Raute | „Hat-ein" (schwache Besitzanzeige) |
| Komposition | Durchgezogene Linie | Gefüllte Raute | „Hat-ein" (starke Besitzanzeige) |
Beziehungen erstellen
- Drücken Sie
R, um das Beziehungswerkzeug zu aktivieren - Klicken Sie auf die Quellklasse
- Ziehen Sie zur Zielklasse
- Lassen Sie los, um die Verbindung zu erstellen
- Verwenden Sie den Abschnitt UML des Inspektors, um den Beziehungstyp festzulegen — Linienstil und Pfeilspitzen richten sich nach dem Typ
Beziehungsbeschriftungen
Wählen Sie eine Beziehung aus und legen Sie ihre Beschriftungen im Abschnitt UML des Inspektors fest:
- Beschriftung - Beschreibt die Beziehung (z. B. „verwaltet", „enthält")
- Multiplizität - Quell- und Ziel-Werte, die angeben, wie viele Instanzen (z. B. „1", „0..", „1..")
Best Practices
- Einfach halten - Versuchen Sie nicht, alles zu modellieren; konzentrieren Sie sich auf Schlüsselklassen
- Stereotypen verwenden - Markieren Sie Schnittstellen und abstrakte Klassen deutlich
- Schlüsselbeziehungen zeigen - Nicht jede Assoziation muss dargestellt werden
- Einheitliche Benennung - PascalCase für Klassen, camelCase für Mitglieder verwenden
- Verwandte Klassen gruppieren - Nutzen Sie räumliche Nähe, um logische Gruppierungen zu zeigen