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.

Erstellen Sie in wenigen Minuten ein UML-Klassendiagramm in Lucidchart
- Erstellen Sie Ihr erstes UML-Klassendiagramm: Sie können es importieren, von Grund auf selbst erstellen oder eine unserer Vorlagen verwenden.
- Erstellen Sie professionelle Klassendiagramme, um komplexe Systeme zu visualisieren.
- Sparen Sie Zeit mit unserem UML-Sequenz-Markup-Tool.
- Nutzen Sie die UML-Formenbibliothek von Lucidchart, um auf branchenübliche UML-Formen zuzugreifen.
- Geben Sie Ihr Diagramm für Ihr Team frei, um mit der Zusammenarbeit daran zu beginnen
Vorteile 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.
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.
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.
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.
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.
Was ist ein Kompositionsstrukturdiagramm?
Ein Kompositionsstrukturdiagramm ist ein Diagramm basierend auf der UML (Unified Modeling Language), das eine logische Übersicht über das gesamte oder einen Teil eines Softwaresystems bietet. Es zeigt das Innere eines bestimmten strukturierten Klassifikators (Classifier), indem es seine Konfigurationsklasse, Schnittstellen, Pakete und die Beziehungen zwischen ihnen auf einer Mikroebene definiert.

Vorteile von Kompositionsstrukturdiagrammen
Anhand eines Kompositionsstrukturdiagramms können Benutzer genau sehen, was in einem Objekt enthalten ist. Dabei wird definiert, wie verschiedene Merkmale zusammenpassen, um ein bestimmtes Verhalten zu erzeugen. Die unterschiedlichen Beziehungen in einem komplexen Softwaresystem sind oft nur schwer zu verstehen. Die Aufteilung der Funktionalität eines Systems in seine Komponenten ermöglicht wertvolle Einblicke in die Art und Weise, wie Strukturen miteinander verwoben sind, wie Daten kommuniziert werden und vieles mehr.
Ein Kompositionsstrukturdiagramm überzeugt zudem mit folgenden Vorteilen:
- Es hilft den Benutzern, den aktuellen Zustand ihres Systems zu verstehen.
- Es stellt die interne Struktur mehrerer Klassen, Schnittstellen oder Bestandteile und ihre Interaktionen übersichtlich dar.
- Es beschreibt bis ins kleinste Detail Laufzeit-Architekturen und Nutzungsmuster, die in statischen Diagrammen nicht angezeigt werden.
- Es bietet Benutzern Informationen, um ihr System zu optimieren und etwaige Fehler darin zu beheben.
Grundbestandteile eines Kompositionsstrukturdiagramms
Ein Kompositionsstrukturdiagramm besteht aus einer Reihe von UML-Symbolen, die die einzelnen Teile eines Systems und ihre Beziehungen untereinander darstellen. In der UML-Formenbibliothek von Lucidchart sind folgende Symbole für Kompositionsstrukturdiagramme verfügbar.
|
Symbol |
Name |
Beschreibung |
|
|
Terminator |
Zeigt Start- und Endpunkte an |
|
|
Knoten (kreisförmig) |
Zeigt Ereignisse oder Meilensteine an; kann auch Zahlen enthalten |
|
|
Knoten (rechteckig) |
Zeigt Ereignisse oder Meilensteine an; kann auch Zahlen enthalten |
|
|
Akteur |
Interagiert mit dem System von außerhalb (z. B. Person, Ausrüstung etc.) |
|
|
Klasse |
Gruppiert Objekte mit gemeinsamen Merkmalen oder Verhaltensweisen (z. B. dieselben Operationen, Parameter, Attribute etc.) |
|
|
Part |
Laufzeitinstanz von Klassen oder Schnittstellen |
|
|
Port |
Interaktionspunkt zwischen einem Klassifikator (oder seinem Verhalten) und seiner Umgebung |
|
|
Interface |
Spezifiziert das Verhalten, dem der Implementierer zustimmt |
|
|
Konnektor |
Steht für die Kommunikation zwischen Parts |
Wie Unterscheiden sich Kompositionsstrukturdiagramm und Klassendiagramme?
Kompositionsstrukturdiagramme und Klassendiagramme sind UML-Diagramme und werden somit verwendet, um die Akteure, Interaktionen und Artefakte innerhalb eines Systems darzustellen und zu organisieren. Während Kompositionsstrukturdiagramme und Klassendiagramme ähnliche Bedeutungen haben, unterscheiden sie sich grundlegend im Ausdruck dieser Bedeutungen. Das heißt, Kompositionsstrukturdiagramme sind präziser und weniger mehrdeutig als Klassendiagramme.
Anhand eines Kompositionsstrukturdiagramms können Benutzer die Implementierungen der Aktivität eines Artefakts innerhalb einer Laufzeit deutlich modellieren. Außerdem sind sie um einiges geeigneter, um die einzelnen Komponenten im Kontext abzubilden, indem die internen Strukturen mehrerer Klassen und die festgelegten Beziehungen zwischen ihnen beschrieben werden. Mit anderen Worten: Wenn Sie konkrete, explizite Informationen über die Verhaltensweisen und Beziehungen in Ihrem System deutlich machen möchten, sollte ein Kompositionsstrukturdiagramm Ihre erste Wahl sein.

Die Rolle des Kompositionsstrukturdiagramms (CSD)
- Implementierungsdetails: Anhand eines Kompositionsstrukturdiagramms können Benutzer die Implementierungen der Aktivität eines Artefakts innerhalb einer Laufzeit deutlich modellieren.
- Interne Struktur: Sie sind um einiges geeigneter, um die einzelnen Komponenten im Kontext abzubilden, indem die internen Strukturen mehrerer Klassen und die festgelegten Beziehungen zwischen ihnen beschrieben werden.
- Wahl bei komplexem Verhalten: Wenn Sie konkrete, explizite Informationen über die Verhaltensweisen und Beziehungen in Ihrem System deutlich machen möchten, sollte ein Kompositionsstrukturdiagramm Ihre erste Wahl sein.
- Detailgenauigkeit: Kompositionsstrukturdiagramme definieren die Konfigurationsklasse, Schnittstellen, Pakete und die Beziehungen zwischen ihnen auf einer Mikroebene.
Die Rolle des Klassendiagramms
- Grundlegende Struktur: Das Klassendiagramm dient zur Verdeutlichung der Struktur eines Systems, indem dessen Klassen, Attribute, Vorgänge und die Beziehungen zwischen Objekten dargestellt werden.
- Aufbau: Die Klassenform selbst besteht aus einem Rechteck mit drei Reihen, wobei die oberste den Namen der Klasse, die mittlere ihre Attribute und die unterste Reihe die Methoden oder Abläufe innerhalb der Klasse enthält.
- Objekte: Klassen sind die Vorlage für die Erstellung von Objekten und die Implementierung von Verhalten innerhalb eines Systems.
Beispiele für Klassendiagramme und Kompositionsstrukturdiagramme
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.
Klicken 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.

Klicken Sie hier, um diese Vorlage zu verwenden
Vorlage für ein UML-Kompositionsstrukturdiagramm
Die folgende Vorlage zeigt die interne Struktur eines allgemeinen Server-Klassifikators. Wenn Sie auf das Beispiel unten klicken, können Sie die Vorlage nach Ihren Wünschen abändern, um die interne Struktur, die Interaktionen und Verhaltensweisen von zusammenarbeitenden Bestandteilen innerhalb Ihres Klassifikators bildlich darzustellen.
So erstellen Sie ein Klassendiagramm oder Kompositionsstrukturdiagramm in Lucidchart
Mit Lucidchart ist das Erstellen eines neuen Klassendiagramms überraschend unkompliziert. Befolgen Sie dazu einfach diese Schritte:
-
Öffnen Sie ein leeres Dokument oder beginnen Sie mit einer Vorlage.
-
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“.
-
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.
-
Modellieren Sie den Prozessablauf, indem Sie Linien zwischen den Formen zeichnen und Text hinzufügen.
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.















