Skip to main content

Seite 8. UML-Klassendiagramm-Trainer

UML-Klassendiagramm-Trainer

Dieser interaktive Trainer gehört zur Theorie-Seite:

UML-Klassendiagramm

Hier übst du, UML-Klassendiagramme richtig zu lesen und aus Aufgabenstellungen abzuleiten.

Im Fokus stehen:

Klassen
Attribute
Methoden
Sichtbarkeit
Assoziation
Vererbung
Aggregation
Komposition
korrekte UML-Linienenden

Was wird trainiert?

BereichBedeutung
Klassen erkennenwichtige Programmobjekte aus der Aufgabe ableiten
Attribute zuordnengespeicherte Eigenschaften in die richtige Klasse schreiben
Methoden eintragenVerhalten/Funktionen einer Klasse ergänzen
Sichtbarkeit beachten+, -, # korrekt selbst eintragen
Vererbung erkennenhohles Dreieck zeigt zur Oberklasse
Aggregation erkennenleere Raute steht am Ganzen
Komposition erkennengefüllte Raute steht am Ganzen
Assoziation erkenneneinfache Linie zwischen Klassen

Interaktiver UML-Klassendiagramm-Trainer


Merksatz für den Trainer

Einfache Linie       = Assoziation
Hohles Dreieck       = Vererbung / Generalisierung
Leere Raute          = Aggregation
Gefüllte Raute       = Komposition
Raute steht am Ganzen
Vererbungsdreieck zeigt zur Oberklasse
- bedeutet private
+ bedeutet public

Beispiel: Assoziation

Aufgabe:

Ein Kunde kann mehrere Bestellungen haben.
Eine Bestellung gehört zu genau einem Kunden.

UML-Bedeutung:

Kunde ist mit Bestellung verbunden.

Darstellung:

Kunde ───── Bestellung

Wichtig:

Eine Assoziation ist eine normale Beziehung zwischen Klassen.
Sie wird als einfache Linie dargestellt.

Beispiel: Vererbung

Aufgabe:

Ein Monitor ist ein Produkt.

UML-Bedeutung:

Monitor erbt von Produkt.

Darstellung:

Monitor ─────▷ Produkt

Wichtig:

Das hohle Dreieck zeigt zur Oberklasse Produkt.

Beispiel: Aggregation

Aufgabe:

Ein Team hat mehrere Mitarbeiter.
Ein Mitarbeiter kann aber auch unabhängig vom Team existieren.

UML-Bedeutung:

Team aggregiert Mitarbeiter.

Darstellung:

Team ◇──── Mitarbeiter

Wichtig:

Die leere Raute steht am Ganzen, also bei Team.
Aggregation ist eine schwächere Teil-Ganzes-Beziehung.
Der Teil kann unabhängig vom Ganzen existieren.

Beispiel: Komposition

Aufgabe:

Eine Rechnung besteht aus Rechnungspositionen.
Eine Rechnungsposition gehört fest zu genau einer Rechnung.

UML-Bedeutung:

Rechnung besteht aus Rechnungspositionen.

Darstellung:

Rechnung ◆──── Rechnungsposition

Wichtig:

Die gefüllte Raute steht am Ganzen, also bei Rechnung.
Komposition ist eine starke Teil-Ganzes-Beziehung.
Der Teil ist fest vom Ganzen abhängig.

Wichtiger Unterschied: Aggregation vs. Komposition

BeziehungSymbolBedeutungBeispiel
Aggregationleere Rauteschwache Teil-Ganzes-BeziehungTeam hat Mitarbeiter
Kompositiongefüllte Rautestarke Teil-Ganzes-BeziehungRechnung besteht aus Positionen

Merksatz:

Leere Raute = Teil kann unabhängig existieren.
Gefüllte Raute = Teil gehört fest zum Ganzen.

Wichtiger Unterschied: Assoziation vs. Vererbung

BeziehungSymbolBedeutung
Assoziationeinfache LinieKlassen stehen miteinander in Beziehung
Vererbunghohles DreieckUnterklasse erbt von Oberklasse

Beispiel Assoziation:

Kunde ───── Bestellung

Bedeutung:

Kunde und Bestellung hängen fachlich zusammen.

Beispiel Vererbung:

Monitor ─────▷ Produkt

Bedeutung:

Monitor ist ein spezielles Produkt.

Sichtbarkeit im Trainer

Im Trainer musst du Sichtbarkeiten selbst eintragen.

ZeichenBedeutungTypisch für
+public / öffentlichMethoden
-private / privatAttribute
#protected / geschütztVererbung / Unterklassen

Beispiel:

- marke: String
+ toString(): String

Wichtig:

Das + oder - soll nicht schon im Feld stehen.
Du sollst es selbst erkennen und eintragen.

Typische Aufgaben im Trainer

Der Trainer enthält Aufgaben zu:

Vererbung:
Monitor ist ein Produkt.

Assoziation:
Kunde hat Bestellungen.

Aggregation:
Team hat Mitarbeiter.

Komposition:
Rechnung besteht aus Rechnungspositionen.

Typische Fehler

FehlerWarum falsch?
Raute auf der falschen SeiteDie Raute steht immer am Ganzen
Vererbungsdreieck zeigt zur UnterklasseDas Dreieck muss zur Oberklasse zeigen
Aggregation und Komposition verwechselnLeere Raute und gefüllte Raute haben unterschiedliche Bedeutung
+ und - vergessenSichtbarkeit ist Teil der UML-Notation
Attribute und Methoden vermischenAttribute speichern Daten, Methoden beschreiben Verhalten
Oberklasse und Unterklasse vertauschenGemeinsame Eigenschaften gehören in die Oberklasse

Mini-Testfragen

1. Welche Linie zeigt eine normale Assoziation?

Eine normale Assoziation wird durch eine einfache durchgezogene Linie dargestellt.

Beispiel:

Kunde ───── Bestellung
2. Welche Pfeilspitze zeigt Vererbung?

Vererbung wird mit einem hohlen Dreieck dargestellt.

Wichtig:

Das hohle Dreieck zeigt zur Oberklasse.

Beispiel:

Monitor ─────▷ Produkt
3. Was bedeutet eine leere Raute?

Eine leere Raute bedeutet Aggregation.

Das ist eine schwächere Teil-Ganzes-Beziehung.

Beispiel:

Team ◇──── Mitarbeiter

Der Mitarbeiter kann unabhängig vom Team existieren.

4. Was bedeutet eine gefüllte Raute?

Eine gefüllte Raute bedeutet Komposition.

Das ist eine starke Teil-Ganzes-Beziehung.

Beispiel:

Rechnung ◆──── Rechnungsposition

Die Rechnungsposition gehört fest zur Rechnung.

5. Wo steht die Raute bei Aggregation oder Komposition?

Die Raute steht am Ganzen.

Beispiele:

Team ◇──── Mitarbeiter
Rechnung ◆──── Rechnungsposition
6. Warum soll `+` oder `-` nicht schon im Eingabefeld stehen?

Weil du selbst erkennen und eintragen sollst, ob ein Attribut oder eine Methode öffentlich oder privat ist.

Typisch:

- attribut: Typ
+ methode(): Typ
7. Was bedeutet `- marke: String`?

Das bedeutet:

private Attribut marke vom Typ String

In Java wäre das zum Beispiel:

private String marke;
8. Was bedeutet `+ toString(): String`?

Das bedeutet:

public Methode toString mit Rückgabewert String

In Java wäre das zum Beispiel:

public String toString()
9. Was ist der wichtigste Unterschied zwischen Aggregation und Komposition?

Aggregation:

Teil kann unabhängig existieren.

Komposition:

Teil gehört fest zum Ganzen.
10. Wohin zeigt der Vererbungspfeil?

Der Vererbungspfeil zeigt immer zur Oberklasse.

Beispiel:

Monitor ─────▷ Produkt

Produkt ist die Oberklasse.


Nächste Seite

Danach geht es weiter mit:

UML-Aktivitätsdiagramm