Zum Inhalt springen

Unabhängiges Lernangebot – nicht von einer IHK erstellt oder geprüft.

Softwareentwicklung · Anwendungsentwicklung

UML-Klassendiagramme lesen und modellieren

Ein UML-Klassendiagramm zeigt die statische Struktur einer Software: Klassen, deren Eigenschaften und Operationen sowie Beziehungen zwischen den Klassen. Prüfungsaufgaben testen oft Notation und fachlich passende Multiplizitäten.

Die drei Bereiche einer Klasse

Ein Klassenkasten enthält gewöhnlich oben den Klassennamen, in der Mitte Attribute und unten Operationen. Attribute beschreiben Zustand, Operationen Verhalten.

Vor einem Element kennzeichnet + die öffentliche, − die private und # die geschützte Sichtbarkeit. Nach einem Doppelpunkt folgt der Datentyp.

  • − preis: Decimal ist ein privates Attribut
  • + speichern(): Boolean ist eine öffentliche Operation

Beziehungen und Multiplizitäten

Eine einfache Linie stellt eine Assoziation dar. Die Multiplizität am Ende sagt aus, wie viele Instanzen dieser Klasse zu einer Instanz der gegenüberliegenden Klasse gehören dürfen.

Eine ausgefüllte Raute steht für Komposition mit starker Lebenszyklusbindung. Ein hohles Dreieck zeigt bei Generalisierung zur Oberklasse.

  • 1 = genau eine
  • 0..1 = optional, höchstens eine
  • 0..* = keine bis beliebig viele
  • 1..* = mindestens eine

Durchgerechnetes Beispiel

Beispiel: Kunde und Bestellung

Jede Bestellung gehört genau einem Kunden. Ein Kunde kann noch keine oder bereits viele Bestellungen haben.

  1. 1 Am Ende Kunde steht die Multiplizität 1.
  2. 2 Am Ende Bestellung steht die Multiplizität 0..*.
  3. 3 Beide Klassen werden durch eine Assoziation verbunden.

Ergebnis: Die Beziehung lautet: Kunde 1 — 0..* Bestellung.

Direkt anwenden

7 Übungen mit Lösungen

Beantworte die Aufgabe zuerst selbst. Öffne danach die Lösung, um Antwort und Rechenweg zu vergleichen.

  1. Aufgabe 1

    Anwendungsentwicklung

    Ein Patient kann mehrere Termine haben, jeder Termin gehört genau zu einem Patienten. Welche Kardinalität beschreibt die Beziehung?

    1. A1:1
    2. Bn:m ohne Zwischentabelle
    3. C0:0
    4. D1:n
    Lösung anzeigen

    Richtige Antwort: 1:n

    Von Patient zu Termin liegt eine 1:n-Beziehung vor; jeder einzelne Termin verweist auf genau einen Patienten.

  2. Aufgabe 2

    Anwendungsentwicklung

    Ein Kunde kann keine oder viele Bestellungen haben; jede Bestellung gehört genau einem Kunden. Welche Multiplizitäten passen?

    1. AKunde 1 — 0..* Bestellung
    2. BKunde 0..* — 0..* Bestellung
    3. CKunde 1 — 1 Bestellung
    4. DKunde 0..1 — 1 Bestellung
    Lösung anzeigen

    Richtige Antwort: Kunde 1 — 0..* Bestellung

    Am Bestellungsende steht 0..*, am Kundenende 1: Ein Kunde kennt viele Bestellungen, jede Bestellung genau einen Kunden.

  3. Aufgabe 3

    Anwendungsentwicklung

    Welches UML-Symbol kennzeichnet eine Komposition am Ende des Ganzen?

    1. AAusgefüllte Raute
    2. BLeeres Dreieck
    3. CGestrichelter Kreis
    4. DDoppelpfeil
    Lösung anzeigen

    Richtige Antwort: Ausgefüllte Raute

    Eine Komposition wird durch eine ausgefüllte Raute an der Seite des Ganzen dargestellt.

  4. Aufgabe 4

    Anwendungsentwicklung

    Wohin zeigt bei einer Generalisierung die Linie mit hohlem Dreieck?

    1. AZur Oberklasse
    2. BZur Unterklasse
    3. CZum Attribut
    4. DZur Multiplizität
    Lösung anzeigen

    Richtige Antwort: Zur Oberklasse

    Das hohle Dreieck zeigt von der spezialisierten Unterklasse zur allgemeineren Oberklasse.

  5. Aufgabe 5

    Anwendungsentwicklung

    Welches Sichtbarkeitssymbol steht in UML üblicherweise für ein privates Attribut?

    1. A
    2. B+
    3. C#
    4. D~
    Lösung anzeigen

    Richtige Antwort:

    Das Minuszeichen kennzeichnet private Sichtbarkeit. Plus steht für public, Raute für protected und Tilde für package.

  6. Aufgabe 6

    Anwendungsentwicklung

    Welche Schreibweise beschreibt eine öffentliche Methode ohne Parameter mit dem Rückgabetyp Boolean?

    1. A+ istAktiv(): Boolean
    2. B− istAktiv: Boolean()
    3. CBoolean + istAktiv
    4. D# Boolean(istAktiv)
    Lösung anzeigen

    Richtige Antwort: + istAktiv(): Boolean

    Eine öffentliche Operation beginnt mit +. Hinter der Parameterliste folgt nach einem Doppelpunkt der Rückgabetyp.

  7. Aufgabe 7

    Anwendungsentwicklung

    Was beschreibt die Multiplizität 1..* an einem Assoziationsende?

    1. AGenau eine Instanz
    2. BKeine oder eine Instanz
    3. CEine oder mehrere Instanzen
    4. DGenau zwei Instanzen
    Lösung anzeigen

    Richtige Antwort: Eine oder mehrere Instanzen

    1..* bedeutet mindestens eine Instanz, nach oben ohne feste Grenze: also eine oder mehrere.

Kurz erklärt

Häufige Fragen

Auf welcher Seite steht eine Multiplizität?

Sie steht an dem Assoziationsende, dessen erlaubte Anzahl sie für jeweils eine Instanz der Gegenseite beschreibt.

Was ist der Unterschied zwischen Aggregation und Komposition?

Die Komposition modelliert eine starke Teil-Ganzes-Beziehung mit gemeinsamer Lebensdauer. Die Aggregation ist eine schwächere Teil-Ganzes-Beziehung.

Wohin zeigt der Vererbungspfeil?

Das hohle Dreieck zeigt von der spezialisierteren Unterklasse zur allgemeineren Oberklasse.

Fachliche Referenz: IHK-Beispielaufgabe IT-Abschlussprüfung Teil 1. Die Erklärungen und Aufgaben auf dieser Seite sind eigenständig formuliert.