Skip to content

Class- & Datenmodelle

Klassendiagramme modellieren die statische Struktur (Klassen, Interfaces, Attribute, Methoden, Beziehungen). Datenmodelle (ER) nutzen dieselbe PlantUML-Syntax mit dem Schlüsselwort entity fuer persistente Objekte und Kardinalitaeten an Kanten.

Diese Seite dokumentiert die diagrammtyp-spezifischen Sollwerte fuer Class-, Interface-, Entity- und Package-Elemente sowie fuer ER-/Datenmodell-Konventionen.

Globale Typografie-, Farb- und Rendering-Defaults gelten zusaetzlich: Globale Defaults · Farb-Token: Design Tokens.

Klassenmodell (Beispiel)

KlassenmodellSchnittstelleKlasseAttribut : AndereKlasseMethode1()AndereKlasseAttribut : TypMethode2()UnterklasseAufrufendeKlasseuseInterface()Diese Notiz liefert eine nähereBeschreibung der Klasseverwendetaggregiert
KlassenmodellSchnittstelleKlasseAttribut : AndereKlasseMethode1()AndereKlasseAttribut : TypMethode2()UnterklasseAufrufendeKlasseuseInterface()Diese Notiz liefert eine nähereBeschreibung der Klasseverwendetaggregiert

KlassenmodellSchnittstelleKlasseAttribut : AndereKlasseMethode1()AndereKlasseAttribut : TypMethode2()UnterklasseAufrufendeKlasseuseInterface()Diese Notiz liefert eine nähereBeschreibung der Klasseverwendetaggregiert
KlassenmodellSchnittstelleKlasseAttribut : AndereKlasseMethode1()AndereKlasseAttribut : TypMethode2()UnterklasseAufrufendeKlasseuseInterface()Diese Notiz liefert eine nähereBeschreibung der Klasseverwendetaggregiert

Datenmodell (Beispiel)

DatenmodellEntität1name : texte1Id : SERIAL (PK)e2Id : INTEGER (FK)Entität2Name : Texte2Id : SERIAL (PK)OtherEntityname : TextotherId : SERIAL (PK)
DatenmodellEntität1name : texte1Id : SERIAL (PK)e2Id : INTEGER (FK)Entität2Name : Texte2Id : SERIAL (PK)OtherEntityname : TextotherId : SERIAL (PK)

DatenmodellEntität1name : texte1Id : SERIAL (PK)e2Id : INTEGER (FK)Entität2Name : Texte2Id : SERIAL (PK)OtherEntityname : TextotherId : SERIAL (PK)
DatenmodellEntität1name : texte1Id : SERIAL (PK)e2Id : INTEGER (FK)Entität2Name : Texte2Id : SERIAL (PK)OtherEntityname : TextotherId : SERIAL (PK)

Geltende Werte

Standard-Settings

Diese vier Direktiven sind kein Theme-Styling, sondern verbindliche Autor-Settings fuer Class- und Datenmodell-Diagramme. Sie gehoeren nach dem Theme-Include und vor den Element-Deklarationen (wie in den Golden Samples).

Setting Soll Wirkung Ausnahme
hide circle setzen Entfernt den Buchstaben-Kreis vor dem Klassennamen (C/I/E/A — PlantUML-Klassifikations-Spot). Das Diagramm wirkt ruhiger und CI-konform. Nur weglassen, wenn der Spot bewusst zur Legende noetig ist.
hide empty members setzen Blendet leere Attribut- und Methoden-Bereiche aus (z. B. class X {} oder Klassen ohne Member). Reduziert Leerraum in grossen Modellen. show members nur bei bewusst leeren Platzhalter-Klassen.
hide stereotype setzen Blendet Stereotyp-Labels aus (<<interface>>, <<external>> als Text). Styling ueber <<external>> / interface bleibt aktiv. show stereotype, wenn der Stereotyp-Name im Bild sichtbar sein soll.
left to right direction setzen Layout horizontal (links nach rechts). Besser lesbar bei vielen Entitaeten und Assoziationen (ER, Service-Landschaften). top to bottom direction bei wenigen, tief verschachtelten Generalisierungen.

Empfohlene Reihenfolge (direkt nach !theme / !include):

hide circle
hide empty members
hide stereotype
left to right direction

title [Projekt] — Klassenmodell: [Subject]

title darf vor oder nach left to right direction stehen; die hide-Zeilen SOLLTEN vor dem Diagramminhalt zusammenstehen.

Globaler Default fuer die Leserichtung ist top to bottom — siehe Globale Defaults — Richtung. Fuer Class & Data ist left to right der diagrammtyp-spezifische Soll-Standard.

Element-Typen (Syntax)

Zweck Empfohlenes Element Hinweis
Domänen-/Service-Klasse class Standard-Fuellung und Header-Typografie
Vertrag / API interface Cyan-Fuellung, verstaerkter Rahmen — nicht als normale class modellieren
Persistenz / ER-Datenmodell entity Gleiche Flächenfarben wie class; Kardinalitaeten an Kanten
Fremdsystem / Legacy <<external>> Auf class oder entity; kanonisch Kleinschreibung external
Logische Gruppierung package Alice-Blue-Container; verschachtelbar
Objektinstanz (Laufzeit) object Siehe Object-Diagramme

Weitere deklarative Typen (enum, abstract, annotation, …) erben die Klassen-Defaults; Stereotyp-Buchstaben (C/A/I/E/N) folgen Globale Defaults — Stereotyp-Badges.

Sichtbarkeit (Member)

Eigenschaft Soll-Wert
Sichtbarkeitszeichen - private, # protected, ~ package, + public (PlantUML-Standard)
Visibility-Icons PlantUML-Standard-Icons oder skinparam classAttributeIconSize 0 fuer rein textuelle Darstellung
Empfehlung Datenmodelle Icons aus (classAttributeIconSize 0), wenn viele Attribute/PK/FK gezeigt werden

Konfiguration

[SG-22] Standard-Settings

Ebene: Syntax / Diagrammstruktur
Geltung: Class & Data

Regel: Klassen- und Datenmodell-Diagramme SOLLTEN die drei hide-Direktiven setzen.

hide circle
hide empty members
hide stereotype

[SG-23] Externe Klassen und Entitaeten

Ebene: Stereotyp/Domain
Geltung: Class & Data

Regel: Fremdsysteme, Legacy-Datenbanken oder externe Domänen SOLLTEN den Stereotyp <<external>> tragen.

@startuml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/doubleslash-gen2.puml
class OrderService
class LegacyBilling <<external>>
OrderService --> LegacyBilling : uses
@enduml

[SG-24] Interfaces typgerecht

Ebene: Syntax
Geltung: Class

Regel: Verträge und APIs SOLLTEN mit dem Schluesselwort interface (oder explizitem Interface-Stereotyp) modelliert werden.

interface PaymentPort
class OrderService implements PaymentPort

[SG-25] Datenmodell mit entity

Ebene: Syntax / Domain
Geltung: Data (ER)

Regel: Persistente Tabellen/Entitaeten in ER-Diagrammen SOLLTEN entity statt class verwenden. Primaer- und Fremdschluessel SOLLTEN in Attributnamen kenntlich gemacht werden (z. B. (PK), (FK)).

entity Order {
  orderId : SERIAL (PK)
  customerId : INTEGER (FK)
}

[SG-26] Packages und Namespaces

Ebene: Struktur
Geltung: Class & Data

Regel: Logische Module DUERFEN mit package oder Namespaces (set separator ::) gruppiert werden.

[SG-27] Layout-Richtung

Ebene: Page
Geltung: Class & Data

Regel: Class- und Datenmodell-Diagramme SOLLTEN left to right direction setzen. Nur bei wenigen, vertikal gegliederten Generalisierungen DARF top to bottom direction gewaehlt werden.

left to right direction