Zum Hauptinhalt springen

Klassendiagramme

Klassendiagramme sind ein Diagrammtyp der UML und gehören dort zum Bereich der Strukturdiagramme. Das Klassendiagramm dient zur leicht lesbaren Dokumentation des Aufbaus von Klassen und deren Beziehungen (Relationen). Klassendiagramme können Informationen zu den Attributen, den Methoden und weiteren Klassen-Bestandteilen enthalten.

Hinweis

UML (Unified Modeling Language) ist eine grafische Modellierungssprache zur Darstellung von Software-Systemen. Sie wurde in den 1990er-Jahren entwickelt und ist im ISO/IEC 19505 festgelegt. Die Sprache definiert mehrere Diagramme, die sich in zwei Hauptgruppen aufteilen lassen: Struktur- und Verhaltensdiagramme.

Darstellung von Klassen

Klassen werden im Klassendiagramm als Rechteck mit verschiedenen Bereichen (Klassenname, Attribute, Methoden und weitere Klassen-Bestandteile) dargestellt:

  • Der Klassenname wird zentriert, fett gedruckt und mit einem Großbuchstaben beginnend dargestellt
  • Attribute werden nach dem Muster [Sichtbarkeit] Attributname: Datentyp [= Standardwert] [{Eigenschaft}] dargestellt
  • Methoden nach dem Muster [Sichtbarkeit] Methoden-Signatur: Datentyp des Rückgabewertes [{Eigenschaft}] dargestellt
  • Die Sichtbarkeit von Attributen und Methoden wird durch (farbige) Symbole dargestellt:
    • Die Sichtbarkeit public wird durch das Symbol + bzw. die Farbe grün dargestellt
    • Die Sichtbarkeit protected wird durch das Symbol # bzw. die Farbe gelb dargestellt
    • Die Sichtbarkeit packaged wird durch das Symbol ~ bzw. die Farbe blau dargestellt
    • Die Sichtbarkeit private wird durch das Symbol - bzw. die Farbe rot dargestellt
  • Statische Attribute und Methoden werden durch Unterstriche kenntlich gemacht
  • Finale Attribute und Methoden werden durch die Eigenschaft final kenntlich gemacht
  • Abstrakte Methoden werden entweder kursiv dargestellt oder durch die Eigenschaft abstract kenntlich gemacht

Darstellung spezieller Klassen

Aufzählungen werden im Klassendiagramm durch den Stereotypen enumeration kenntlich gemacht. Die Aufzählungskonstanten werden in einem zusätzlichen Bereich aufgeführt. Der Stereotyp impliziert, dass die Aufzählung einen privaten Konstruktor sowie ggbfs. passende Setter und Getter besitzt.

Darstellung von Assoziationen

Assoziationen stellen allgemeine Relationen zwischen zwei Klassen dar, bei der eine Klasse eine andere Klasse verwendet. Assoziationen können in eine Richtung (unidirektional) und in beide Richtungen (bidirektional) vorliegen.

Aggregationen und Kompositionen stellen spezielle Formen von Assoziationen dar, bei denen ein Objekt der einen Klasse Teil einer anderen Klasse ist. Im Gegensatz zu Aggregationen hängen bei Kompositionen die Teile von der Existenz des Ganzen ab. Aggregationen werden daher auch als ist-Teil-von-Relationen, Kompositionen als existenzabhängige ist-Teil-von-Relationen bezeichnet.

Assoziationen werden mit einem offenen Pfeil hin zur verwendeten Klasse dargestellt.

Hinweis

Assoziationen können gerichtet und ungerichtet dargestellt werden.

Darstellung von Vererbungs-und Realisierungs-Beziehungen

Vererbungs-Beziehungen werden mit einem geschlossenen Pfeil hin zur Oberklasse sowie einer durchgezogenen Linie dargestellt, Realisierungs-Beziehungen mit einem geschlossenen Pfeil hin zur Schnittstelle sowie einer gestrichelten Linie.

Darstellung von Multiplizitäten

Die Multiplizität einer Beziehung legt fest, mit wie vielen Objekten der gegenüberliegenden Klasse ein Objekt in Beziehung stehen kann. Die Multiplizität wird als Intervall aus nicht-negativen ganzen Zahlen dargestellt und wird in der Form [untere Schranke]..[obere Schranke] angegeben. Besitzen beide Schranken den gleichen Wert, muss nur eine der beiden Schranken angegeben werden. Eine nach oben unbeschränkte Schranke wird mit * angegeben.