Diagram Illustration

Inhaltsverzeichnis

Klassendiagramme sind besonders nützlich zur Verdeutlichung der Struktur eines Systems, indem dessen Klassen, Attribute, Vorgänge und die Beziehungen zwischen Objekten dargestellt werden. Mit unserer Software für UML-Diagramme wird die Erstellung dieser Diagramme erheblich vereinfacht. In diesem Leitfaden lernen Sie, wie man Klassendiagramme liest, plant und selbst erstellt.

Was ist ein Klassendiagramm in UML?

Die Unified Modeling Language (UML) kann Ihnen helfen, Systeme auf unterschiedliche Weise zu modellieren. Beliebt in UML ist beispielsweise das Klassendiagramm. Klassendiagramme werden zum Beispiel häufig von Software-Ingenieuren genutzt, um die Software-Architektur zu dokumentieren. Es handelt sich um eine Art Strukturdiagramm, denn es beschreibt, was das modellierte System enthalten muss. Unsere unkomplizierte UML-Software lässt sich auch dann einfach nutzen, wenn Sie mit UML oder Klassendiagrammen bislang noch nicht vertraut sind.

Die Idee hinter UML war es, ein normiertes Modell zur Beschreibung eines objektorientierten Codierungsansatzes zu entwickeln. Da Klassen die Bausteine von Objekten darstellen, können Klassendiagramme als die Bausteine von UML verstanden werden. Die unterschiedlichen Komponenten eines Klassendiagramms können die zu programmierenden Klassen, die Hauptobjekte oder die Interaktionen zwischen Klassen und Objekten darstellen. 

Die Klassenform an sich besteht aus einem Rechteck mit drei Reihen. Die oberste Reihe enthält den Namen der Klasse, die mittlere Reihe gibt ihre Attribute an, und die unterste Reihe gibt Aufschluss über die Methoden oder Abläufe innerhalb der Klasse. Klassen und Unterklassen werden gruppiert, um die statische Beziehung zwischen den einzelnen Objekten zu verdeutlichen.

Die UML-Formenbibliothek von Lucidchart unterstützt Sie beim Entwurf von Klassendiagrammen mit unserem UML-Diagrammtool.

UML-Formenbibliothek

Vorteile von Klassendiagrammen

Klassendiagramme bieten Unternehmen eine Menge Vorteile. Sie können UML-Klassendiagramme zu folgenden Zwecken nutzen:

  • Veranschaulichung von Datenmodellen für Informationssysteme, und zwar unabhängig von deren Komplexitätsgrad.
  • Genauerer allgemeiner Überblick über die Schaltpläne einer Anwendung.
  • Visuelle Beschreibung der spezifischen Anforderungen eines Systems und unternehmensweite Verbreitung dieser Informationen.
  • Erstellen detaillierter Diagramme, die spezifischen Code hervorheben, der für die Programmierung und Implementierung der beschriebenen Struktur erforderlich ist.
  • Beschreibung der Datentypen unabhängig von der Implementierung, die innerhalb eines Systems verwendet und später zwischen den Komponenten ausgetauscht werden.

Grundbestandteile eines Klassendiagramms

Standardmäßig besteht ein Klassendiagramm aus drei Teilen:

  • Oberer Teil: Enthält die Bezeichnung der Klasse. Dieser Abschnitt ist unabhängig davon erforderlich, ob Sie sich mit einem Klassifizierer oder einem Objekt befassen.
  • Mittelteil: Enthält die Attribute der Klasse. Tragen Sie hier die Eigenschaften der Klasse ein. Dies ist nur erforderlich, wenn eine bestimmte Instanz einer Klasse beschrieben werden soll.
  • Unterer Teil: Enthält Klassenvorgänge (Methoden). Vorgänge werden im Listenformat (ein Vorgang pro Zeile) dargestellt. Die Vorgänge beschreiben, wie die jeweilige Klasse mit Daten interagiert.

Zugriffsmodifikatoren

Sämtliche Klassen verfügen, je nach Zugriffsmodifikator (Sichtbarkeit), über unterschiedliche Zugriffsebenen. Hier sehen Sie die unterschiedlichen Zugriffsebenen mitsamt ihren jeweiligen Symbolen:

  • Öffentlich (+)
  • Privat (-)
  • Geschützt (#)
  • Paket (~)
  • Abgeleitet (/)
  • Statisch (unterstrichen)

Wirkungsbereiche für Mitglieder

Es gibt zwei Wirkungsbereiche für Mitglieder: Klassifizierer und Instanzen.

Klassifizierer sind statische Mitglieder, während Instanzen die spezifischen Instanzen einer Klasse umfassen. Wenn Sie mit den Grundlagen der objektorientierten Programmierung vertraut sind, dürfte dies für Sie nichts Neues sein.

Zusätzliche Bestandteile von Klassendiagrammen

Je nach Kontext können Klassen in einem Klassendiagramm die Hauptobjekte, die Interaktionen in der Anwendung oder die zu programmierenden Klassen darstellen. Um die Frage „Was ist ein Klassendiagramm in UML?“ beantworten zu können, sollten Sie zunächst deren grundlegenden Aufbau verstehen.

  • Klassen: Vorlage für die Erstellung von Objekten und die Implementierung von Verhalten innerhalb eines Systems. Im Rahmen von UML repräsentiert eine Klasse ein Objekt bzw. eine Klasse von Objekten, die eine gemeinsame Struktur und ein gemeinsames Verhalten aufweisen. Klassen werden durch ein Rechteck dargestellt, das Reihen für den Namen der Klasse, ihre Attribute und ihre Vorgänge enthält. Wenn ein Klassendiagramm auf ein anderes Klassendiagramm gezeichnet wird, muss nur die oberste Zeile ausgefüllt werden. Die übrigen Zeilen können optional ausgefüllt werden, wenn Sie weitere Angaben machen möchten.

    • Name: Erste Zeile in einer Klassen-Notation.

    • Attribute: Zweite Zeile in einer Klassen-Notation. Jedes Attribut der Klasse wird in einer separaten Zeile dargestellt.

    • Methoden: Dritte Zeile in einer Klassen-Notation. Auch als Vorgänge bekannt. Sie werden im Listenformat dargestellt, wobei jeder Vorgang seine eigene Zeile einnimmt.

  • Signale: Symbole, die eine einseitige, asynchrone Kommunikation zwischen aktiven Objekten darstellen.

  • Datentypen: Klassifizierer, die Datenwerte bestimmen. Datentypen können sowohl primitive Datentypen als auch Aufzählungen modellieren.

  • Pakete: Formen zum Ordnen verwandter Klassifizierer in einem Diagramm. Sie werden durch eine große, durch Tabs unterteilte, rechteckige Form dargestellt.

  • Schnittstellen: Eine Sammlung von Vorgangssignaturen und/oder Eigenschaftsdefinitionen, die eine geschlossene Menge von Verhaltensweisen definieren. Schnittstellen sind ähnlich wie Klassen, jedoch kann eine Klasse eine Instanz ihrer Art enthalten, während eine Schnittstelle mindestens eine Klasse zum Implementieren benötigt.

  • Aufzählungen Darstellungen von benutzerdefinierten Datentypen. Eine Aufzählung enthält Gruppen von Identifikatoren, die Werte der Aufzählung repräsentieren.

  • Objekte: Instanzen einer oder mehrerer Klassen. Objekte können zu einem Klassendiagramm hinzugefügt werden, um konkrete oder prototypische Instanzen darzustellen.

  • Artefakte: Modellelemente, die für konkrete Entitäten in einem Software-System stehen, so zum Beispiel Dokumente, Datenbanken, ausführbare Dateien, Software-Komponenten und so weiter.

Interaktionen

Als „Interaktionen“ werden die verschiedenen Beziehungen und Verbindungen bezeichnet, die innerhalb von Klassen- und Objektdiagrammen bestehen. Zu den gängigsten Interaktionen gehören:

  • Vererbung: Prozess, bei dem eine Unterklasse die Eigenschaften einer Oberklasse übernimmt, wird auch als Generalisierung bezeichnet. Dargestellt durch eine gerade Verbindungslinie mit geschlossener Pfeilspitze, die auf die Oberklasse zeigt.

Interaktion in Vererbungsdiagrammen

In diesem Beispiel würde das Objekt „Auto“ (Car) alle Attribute (Geschwindigkeit, Mitfahrerzahl, Treibstoff) und Methoden (Los(), Stop(), Richtungswechsel()) der Parent-Klasse „Fahrzeug“ (Vehicle) annehmen. Hinzu kämen spezifische Attribute (Modelltyp, Türenzahl, Autohersteller) und Methoden (Radio(), Scheibenwischer(), Klimaanlage/Heizung()) der eigenen Klasse. In Klassendiagrammen wird die Vererbung über durchgezogene Linien mit einem geschlossenen, hohlen Pfeil dargestellt.

  • Bidirektionale Assoziation: die standardmäßige Beziehung zwischen zwei Klassen. Beide Klassen haben Kenntnis von der jeweils anderen und ihrer Beziehung zueinander. Diese Assoziation wird mit einer geraden Linie zwischen zwei Klassen dargestellt.

Bidirektionale Klassendiagramm-Assoziation

Im oben genannten Beispiel besteht eine Beziehung zwischen den Klassen „Auto“ und „Autofahrt“. Am Ende der Linie nimmt die Klasse „Auto“ die Assoziation „zugewiesenes Auto“ mit einem Multiplizitätswert von 0..1 an. Wenn die Autofahrt-Instanz existiert, hängt sie also entweder mit einer Auto-Instanz oder keiner Auto-Instanz zusammen. In diesem Fall wird eine separate „Wohnwagen“-Klasse mit einem Multiplizitätswert von 0..* benötigt, um zu zeigen, dass eine Autofahrt-Instanz mit mehreren Auto-Instanzen zusammenhängen könnte. Da eine Auto-Instanz über mehrere Assoziationen von „Autofahrt machen“ verfügen könnte (denn ein Auto kann mehrere Strecken zurücklegen), beträgt der Multiplizitätswert 0..*

  • Unidirektionale Assoziation: eine etwas weniger gebräuchliche Beziehung zwischen zwei Klassen. Eine Klasse hat Kenntnis von der anderen und interagiert mit ihr. Unidirektionale Assoziationen werden mit einer geraden Verbindungslinie dargestellt, die mit einem offenen Pfeil von der informierten Klasse auf die bekannte Klasse zeigt.

Unidirektionale Klassendiagramm-Assoziation

Nehmen wir als Beispiel Ihre Autofahrt durch Österreich, bei der Sie vielleicht von einer Radarfalle geblitzt werden, ohne es zu merken – bis Sie einen Brief per Post erhalten. Auf dem Bild ist dies nicht zu sehen, aber in diesem Fall läge der Multiplizitätswert bei 0..* – je nachdem, wie oft Sie an der Radarfalle vorbeifahren.

Beispiele für ein Klassendiagramm

Es ist gar nicht kompliziert, Klassendiagramme zur Darstellung von Prozessabläufen zu erstellen. Orientieren Sie sich beim Erstellen Ihrer eigenen Klassendiagramme in UML an den beiden folgenden Beispielen.

Klassendiagramm für ein Hotelmanagementsystem

Klassendiagramme können die Beziehungen zwischen den einzelnen Objekten eines Hotelmanagementsystems abbilden, darunter Informationen zu Gästen, Mitarbeiterzuständigkeiten und Zimmerbelegung. Das nachstehende Beispiel liefert einen nützlichen Überblick des Hotelmanagementsystems. Klicken Sie auf die Vorlage weiter unten, um mit dem Erstellen eines Klassendiagramms zu beginnen.

Klassendiagramm-Vorlage für ein HotelmanagementsystemKlicken Sie hier, um diese Vorlage zu verwenden

Klassendiagramm für ein Geldautomatensystem

Geldautomaten sind nur auf den ersten Blick simpel: Obwohl Kunden nur einige wenige Tasten drücken müssen, um Geld abzuheben, gibt es zahlreiche Sicherheitsschichten, die ein sicherer und effektiver Geldautomat durchlaufen muss, um Betrug zu verhindern und Bankkunden einen Mehrwert zu bieten. Dieses leicht verständliche Diagramm, in dem jede Klasse mit einem Titel bezeichnet wird und darunter die Attribute aufgelistet werden, veranschaulicht die unterschiedlichen Teile eines Geldautomatensystems, bei denen Mensch oder Maschine involviert sind. Sie können dieses Diagramm bearbeiten, speichern oder teilen, indem Sie das Dokument öffnen und sich für ein kostenloses Lucidchart-Konto registrieren.

Klassendiagramm-Vorlage für ein Geldautomatensystem

Klicken Sie hier, um diese Vorlage zu verwenden

So erstellen Sie ein Klassendiagramm

Mit Lucidchart ist das Erstellen eines neuen Klassendiagramms überraschend unkompliziert. Befolgen Sie dazu einfach diese Schritte:

  1. Öffnen Sie ein leeres Dokument oder beginnen Sie mit einer Vorlage.

  2. Aktivieren Sie die UML-Formenbibliothek. Klicken Sie auf der linken Seite des Lucidchart-Editors auf „Formen“. Aktivieren Sie im Formenbibliothek-Manager „UML“ und klicken Sie auf „Speichern“.

  3. Wählen Sie aus den gerade hinzugefügten Bibliotheken die gewünschte Form aus und ziehen Sie diese aus der Toolbox auf die Arbeitsfläche.

  4. Modellieren Sie den Prozessablauf, indem Sie Linien zwischen den Formen zeichnen und Text hinzufügen.

Lesen Sie diesen Leitfaden, wenn Sie sich detaillierter darüber informieren möchten, wie man ein Klassendiagramm in UML zeichnet. In Lucidchart kann jedes Element ganz einfach skaliert und gestaltet werden. Für eine benutzerdefinierte Lösung können Sie sogar SVG-Formen und Visio-Dateien importieren. Wenn Sie mehr über UML erfahren möchten, sehen Sie sich unser Tutorial „Was ist UML?“ an.