Home > Informatik > Stufe Q1 > Folge 11 > Folge 11.1

Exkurs: UML-Diagramme

UML-Klassendiagramme

Jetzt haben wir bereits drei verschiedene Klassen in unserem kleinen Java-Projekt. In BlueJ sieht das dann so aus:

 alt=

Klassendiagramm in der BlueJ-Umgebung

Die Klasse Vokabelliste greift über eine HAT-Beziehung auf Objekte der Klasse Vokabel zu, und die Klasse TesteVokabelliste wiederum greift über eine weitere HAT-Beziehung auf Objekte der Klasse VokabelListe und auch auf Objekte der Klasse Vokabel zu. Diese Anzeige ist schon mal ganz hilfreich, mehr Informationen enthält aber nur ein UML-Klassendiagramm.

UML-Diagramme für Abiturienten

Schriftliche Kandidaten und vor allem Leute, die Informatik im Abitur wählen wollen oder schon gewählt haben, sollten sich die folgenden Ausführungen sehr aufmerksam durchlesen.

Erklärung im folgenden Text

Ein Klassendiagramm zum aktuellen Projekt
Autor: Ulrich Helmich 2026, Lizenz: Public domain.

Hier sehen wir ein UML-Klassendiagramm, das die Beziehungen zwischen den drei Klassen Vokabel, Vokabelliste sowie der Testklasse TesteVokabelliste zeigt. Das Diagramm ist noch recht einfach, da die Klassen nur über HAT-Beziehungen miteinander verbunden sind.

Die Darstellung von Listen in UML-Diagrammen ist im NRW-Abitur teilweise etwas anders gelöst. Schauen wir uns dazu ein UML-Diagramm aus einer Aufgabe von 2024 an:

Beschreibung siehe folgenden Text

UML-Diagramm aus einer NRW-Abituraufgabe von 2024
Autor: Unbekannt, Lizenz: Public domain wegen geringer Schöpfungshöhe.

Dieses Bild zeigt ein sogenanntes Implementationsdiagramm. Dieser Begriff kommt in dem NRW-Kernlehrplan Informatik recht häufig vor, es ist aber kein Fachbegriff, sondern eher ein didaktischer. Der Begriff "Implementationsdiagramm" soll andeuten, dass das UML-Klassendiagramm bereits Informationen enthält, die für eine Implementation des Projekts hilfreich sind.

Die Klasse Parzelle enthält eine Instanzvariable schichten, die in Form eines Stacks implementiert ist. Ein Stack ist ein ähnlicher Datentyp wie eine ArrayList, nur sind die Elemente hier nach einem anderen Prinzip organisiert - ähnlich wie bei einem Tellerstapel liegt das zuletzt zugefügte Element immer oben auf dem Stack.

Die Elemente dieses Stacks sind Objekte der Klasse Erdschicht. Daher wird bei dem leeren Klassendiagramm für Stack der sogenannte ContentType angegeben (der Inhalts-Typ), nämlich Erdschicht.

Wenn wir dieses Vorgehen auf unser eigenes Projekt übertragen wollten, würde das UML-Klassendiagramm so aussehen:

Beschreibung siehe folgenden Text

UML-Diagramm unseres Projekts nach dem üblichen NRW-Schema
Autor: Ulrich Helmich 2026, Lizenz: Public domain.

Die Instanzvariable liste würde nicht in dem mittleren Kasten von Vokabelliste stehen, sondern an einem Pfeil, der auf den Kasten für die Klasse ArrayList zeigt. Dort ist dann auch als ContentType die Klasse Vokabel angegeben.

Allgemeines zu UML-Diagrammen

Während bei einer Programmiersprache wie Java ein fehlendes Semikolon oder ein falsch gesetzter Punkt bereits zu einem Compilerfehler führt, kann man UML-Diagramme wesentlich lockerer behandeln. Es müssen nicht alle Instanzvariablen angegeben werden und nicht alle Methoden, sondern nur diejenigen, die für das gerade betrachtete Problem besonders relevant sind. Ob man einfache Datentypen wie void oder int mit angibt, ist ebenfalls freigestellt. Bei einem "Implementationsdiagramm" sollte man das schon machen, weil das ja wichtige Hinweise für die spätere Implementation sind. Bei einem allgemeinen Klassendiagramm kann man auf solche Typenangaben bei Bedarf aber auch verzichten.

Seitenanfang -
Zurück zum Haupttext ...