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:

  1. Namensbereich - Enthält den Klassennamen und optionalen Stereotyp
  2. Attributbereich - Listet die Klasseneigenschaften/-felder auf
  3. 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

  1. Wählen Sie die Klasse aus
  2. Suchen Sie im Abschnitt UML Attribute — einen mehrzeiligen Editor mit einem Attribut pro Zeile
  3. 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:

SymbolBedeutungBeschreibung
+PublicVon überall zugänglich
-PrivateNur innerhalb der Klasse zugänglich
#ProtectedInnerhalb der Klasse und Unterklassen zugänglich
~PackageInnerhalb 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

  1. Wählen Sie die Klasse aus
  2. Suchen Sie im Abschnitt UML Operationen — einen mehrzeiligen Editor mit einer Operation pro Zeile
  3. 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

TypLinienstilPfeilAnwendungsfall
AssoziationDurchgezogene LinieOffener PfeilAllgemeine Beziehung
AbhängigkeitGestrichelte LinieOffener Pfeil„Verwendet"-Beziehung
VererbungDurchgezogene LinieHohles Dreieck„Ist-ein"-Beziehung (extends)
RealisierungGestrichelte LinieHohles DreieckSchnittstellenimplementierung
AggregationDurchgezogene LinieHohle Raute„Hat-ein" (schwache Besitzanzeige)
KompositionDurchgezogene LinieGefüllte Raute„Hat-ein" (starke Besitzanzeige)

Beziehungen erstellen

  1. Drücken Sie R, um das Beziehungswerkzeug zu aktivieren
  2. Klicken Sie auf die Quellklasse
  3. Ziehen Sie zur Zielklasse
  4. Lassen Sie los, um die Verbindung zu erstellen
  5. 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

  1. Einfach halten - Versuchen Sie nicht, alles zu modellieren; konzentrieren Sie sich auf Schlüsselklassen
  2. Stereotypen verwenden - Markieren Sie Schnittstellen und abstrakte Klassen deutlich
  3. Schlüsselbeziehungen zeigen - Nicht jede Assoziation muss dargestellt werden
  4. Einheitliche Benennung - PascalCase für Klassen, camelCase für Mitglieder verwenden
  5. Verwandte Klassen gruppieren - Nutzen Sie räumliche Nähe, um logische Gruppierungen zu zeigen