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)¶
Datenmodell (Beispiel)¶
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.
[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.
[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)).
[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.