Anleitung zu Klassendiagrammen

Klassendiagramme sind einfacher, als sie aussehen. Sie sind ganz einfach Diagramme, welche die Struktur eines Systems beschreiben, indem dessen Klassen, Attribute, Vorgänge und die Beziehungen zwischen Objekten dargestellt werden.

Um ein eigenes Klassendiagramm zu erstellen, klicken Sie einfach auf die Buttons unten. Lucidchart ist anwenderfreundlich und kostenlos, und Sie können mit beliebig vielen Teammitgliedern zusammenarbeiten.


Was ist ein Klassendiagramm in UML?

UML oder Unified Modeling Language ermöglicht die Erstellung verschiedener Diagrammarten, wie zum Beispiel Verhaltens-, Interaktions- und Strukturdiagramme. Klassendiagramme sind eine Art von Strukturdiagramm, da sie angeben, was das modellierte System enthalten muss. Sie werden in der Art von Technikern verwendet, um Informationen rund um die Software-Architektur festzuhalten.

Klassendiagramme bilden das Herzstück von UML. Sie erfüllen die wichtigsten Zwecke von UML, da sie Designelemente von der Kodierung des Systems trennen. 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 Klassendiagramm als die Bausteine von UML verstanden werden. Die Diagramm-Komponenten innerhalb eines Klassendiagramms können die zu programmierenden Klassen, die Hauptobjekte oder die Interaktion zwischen Klasse und Objekt 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. In einem Diagramm werden Klassen und Unterklassen gruppiert, um den statischen Zusammenhang zwischen den einzelnen Objekten zu verdeutlichen. Die UML-Formenbibliothek von Lucidchart unterstützt Sie beim Entwurf von Klassendiagrammen mithilfe unseres UML-Diagrammtools.

Was ist ein Klassendiagramm in UML?

Grundlagen von Klassendiagrammen

Klasse – Anatomie eines Diagramms

Ein Klassendiagramm besteht aus drei Teilen:

  • Oberer Teil – Name der Klasse: Dieser Abschnitt ist unabhängig davon erforderlich, ob Sie sich mit einem Klassifizierer oder einem Objekt befassen.
  • Mittelteil – Attribute der Klasse – Die Attribute beschreiben die Variablen, welche die Qualitäten der Klasse wiedergeben. Dies ist nur erforderlich, wenn eine bestimmte Instanz einer Klasse beschrieben werden soll.
  • Unterteil – Klassenvorgänge (Methoden) – Dargestellt im Listenformat nimmt jeder Vorgang seine eigene Zeile ein. Die Vorgänge beschreiben, wie eine Klasse mit Daten interagieren kann.

Mitgliederzugriff-Modifikator

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.


Objekt-/Klasseninteraktionen in Klassendiagrammen

Interaktionen zwischen Objekten und Klassen sind ein fester Bestandteil von Klassendiagrammen.

Vererbung

Um Vererbung handelt es sich, wenn ein Child-Objekt sämtliche Charakteristika seines Parent-Objekts annimmt. Hätten wir zum Beispiel das Objekt „Fahrzeug“, so würde ein Go-go-Mobil als Child-Klasse alle Attribute (Geschwindigkeit, Mitfahrerzahl, Treibstoff) und Methoden (Los(), Stop(), Richtungswechsel()) der Parent-Klasse annehmen. Dazu kämen die spezifischen Attribute (Modelltyp, Anz. an Türen, Autohersteller) und Methoden (Radio(), Scheibenwischer(), Klimaanlage/Heizung()) der eigenen Klasse. In einem Klassendiagramm wird die Vererbung mithilfe einer durchgezogenen Linie mit einem geschlossenen, hohlen Pfeil dargestellt.

Bidirektionale Assoziationen

Bidirektionale Assoziationen sind die standardmäßigen Assoziationen zwischen zwei Klassen und werden durch eine gerade Linie zwischen zwei Klassen dargestellt. Beide Klassen haben Kenntnis über die jeweils andere und die Beziehung zueinander. Im oben genannten Beispiel hängen die Klassen „Go-go-Mobil“ und „RoadTrip“ zusammen. Am Ende der Linie nimmt die Klasse „Go-go-Mobil“ die Assoziation „assignedCar“ (zugewiesenes Auto) mit einem Multiplizitätswert von 0..1 an. Wenn die RoadTrip-Instanz also existiert, hängt sie entweder mit einer Go-go-Mobil-Instanz oder keiner Go-go-Mobil-Instanz zusammen. In diesem Fall wird eine separate „Caravan“-Klasse (Wohnwagen) mit einem Multiplizitätswert von 0..* benötigt, um zu zeigen, dass eine RoadTrip-Instanz mit mehreren Go-go-Mobil-Instanzen zusammenhängen könnte. Da eine Go-go-Mobil-Instanz über mehrere Instanzen von „getRoadTrip“ (Autoreise machen) verfügen könnte (immerhin kann ein Auto mehrere Strecken zurücklegen), beträgt der Multiplizitätswert 0..*

Unidirektionale Assoziationen

Unidirektionale Assoziationen werden in Form einer durchgehenden Linie mit einer offenen Pfeilspitze dargestellt, die von der informierten Klasse auf die bekannte Klasse zeigt. In diesem Fall würden Sie bei Ihrer Autoreise durch Österreich 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 würden.


Anwendung von Klassendiagrammen

Klassendiagramme bieten für Unternehmen eine Menge Vorteile. So können Sie diese Art von Diagramm zum Beispiel nutzen, um:

  • Datenmodelle für Informationssysteme zu illustrieren.
  • Einen allgemeinen Überblick über die Schaltpläne einer Anwendung zu erhalten.
  • Die Anforderungen eines Systems zu beschreiben und diese Informationen unternehmensweit zu verbreiten.
  • Detaillierte Diagramme zu erstellen, die sich mit dem Code befassen, der zur Implementierung der beschriebenen Struktur erforderlich ist.
  • Unabhängig von der Implementierung eine Beschreibung der Datentypen zu geben, die innerhalb eines Systems verwendet und zwischen den Komponenten vermittelt werden.

Komponenten von Klassendiagrammen

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

  • Klassen – eine 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.
    • Name – die erste Zeile in einer Klassenform.
    • Attribute – die zweite Zeile in einer Klassenform. Jedes Attribut der Klasse wird in einer separaten Zeile dargestellt.
    • Methoden – die dritte Zeile in einer Klassenform. 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 – diese zusammenfassende Form wurde konzipiert, um verwandte Klassifikatoren in einem Diagramm zu organisieren. Sie werden durch eine große, durch Tabs unterteilte, rechteckige Form dargestellt.
  • Schnittstellen – ähnelt einer Klasse, außer dass eine Klasse eine Instanz ihrer Art enthalten kann und 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 – ein Begriff, der die verschiedenen Beziehungen und Verbindungen beschreibt, die innerhalb von Klassen- und Objektdiagrammen bestehen. Einige der gängigsten Interaktionen sind:
    • Vererbung – auch Generalisierung, beschreibt den Vererbungsprozess, bei dem eine Unterklasse die Eigenschaften einer Oberklasse übernimmt. Dargestellt durch eine gerade Verbindungslinie mit geschlossener Pfeilspitze, die auf die Oberklasse zeigt.
    • Bidirektionale Assoziation – die standardmäßige Beziehung zwischen zwei Klassen. Beide Klassen haben Kenntnis über die jeweils andere und die Beziehung zueinander. Diese Assoziation wird durch eine gerade Linie zwischen zwei Klassen dargestellt.
    • Unidirektionale Assoziation – ein etwas weniger gebräuchliche Beziehung zwischen zwei Klassen. Eine Klasse hat Kenntnis über die andere und interagiert mit ihr. Unidirektionale Assoziationen werden mithilfe einer geraden Verbindungslinie dargestellt, die mit einem offenen Pfeil von der informierten Klasse auf die bekannte Klasse zeigt.
    Was ist ein Klassendiagramm in UML?

Weitere Beispiele von UML-Klassendiagrammen

Verwenden Sie Lucidchart, um gemeinsam an Projekten zu arbeiten und UML-Diagramme zu erstellen. Legen Sie noch heute kostenlos ein Konto an! Es sind keine Plug-ins oder Downloads erforderlich.

Registrieren Sie sich