UML 2.5.1 Kurzreferenz

Die 5 prüfungsrelevanten Diagrammtypen nach UML 2.5.1 für die IHK-Prüfung

Use-Case-Diagramm

1. Systemgrenze (System Boundary)

ElementBeschreibung
FormRechteck mit abgerundeten Ecken (optional)
SystemnameOben im Rechteck, zentriert
Use CasesINNERHALB der Systemgrenze
AkteureAUSSERHALB der Systemgrenze
✅ Systemgrenze mit Use Cases und Akteuren
Online-Shop Artikel bestellen Kunde Bank

2. Akteure (Actors)

AkteurtypPositionBeschreibungBeispiele
PrimärakteurLINKSInitiiert die Interaktion, hat ein ZielKunde, Benutzer, Sachbearbeiter
SekundärakteurRECHTSUnterstützt das SystemDatenbank, Zahlungsdienst, Bank

3. «include» - MUSS-Beziehung

ElementBeschreibung
PfeilrichtungBasis-UC → Include-UC (zum Eingebundenen)
LinieGESTRICHELT
BedeutungBasis-UC enthält IMMER Include-UC
✅ «include» - Pfeil ZUM eingebundenen UC
Artikel bestellen Anmelden «include»

4. «extend» - KANN-Beziehung

ElementBeschreibung
PfeilrichtungExtend-UC → Basis-UC (zum Basis-Use-Case)
LinieGESTRICHELT
BedeutungExtend-UC erweitert Basis OPTIONAL
ConditionOPTIONAL - gibt an WANN erweitert wird
Extension PointOPTIONAL - gibt an WO erweitert wird
✅ «extend» mit Notizzettel (vollständig)
Artikel bestellen extension points nachWarenkorb Gutschein einlösen «extend» condition: {hat Gutschein} ext.point: nachWarenkorb
✅ «extend» Kurzform mit [Condition] (prüfungstauglich!)
Termin absagen EP: nachAbsage Benachrichtigung senden «extend» [kurzfristig]

Kurzform: Condition direkt am Pfeil in [eckigen Klammern] – kompakter als Notizzettel, für IHK-Prüfungen empfohlen!

✅ «extend» ohne Condition (auch UML 2.5.1 konform!)
Geld abheben Quittung drucken «extend»

«extend» Notation - Drei gültige Varianten:

Variante Extension Point Condition Empfehlung
Vollform (Notizzettel) ✅ Im Basis-UC ✅ Im Notizzettel {} Für komplexe Fälle
Kurzform ✅ Im Basis-UC ✅ Am Pfeil [] ⭐ Für IHK-Prüfungen!
Minimalform Optional – Wenn Bedingung offensichtlich

Include vs. Extend - Entscheidungshilfe

Frage→ «include»→ «extend»
Wird es IMMER ausgeführt?Ja, ohne AusnahmeNein, nur optional
Funktioniert Basis ohne?Nein, unvollständigJa, vollständig nutzbar
PfeilrichtungBasis → IncludeExtend → Basis

5. Generalisierung (Vererbung)

✅ Generalisierung - Leeres Dreieck zur Oberklasse
Benutzer Kunde Admin

Leserichtung: Kunde ist ein Benutzer, Admin ist ein Benutzer

✅ Generalisierung zwischen Use Cases (spezialisierter Anwendungsfall)
Bezahlen Mit Karte bezahlen Per PayPal bezahlen

Gleiches Symbol wie bei Akteuren: durchgezogene Linie + leeres Dreieck zum allgemeineren Anwendungsfall. Das IHK-Beiblatt zeigt diese Variante ausdrücklich.

Klassendiagramm

1. Klassenaufbau (Drei-Kammer-Notation)

✅ Vollständige Klasse nach UML 2.5.1
Kunde - kundenNr: int - name: String # rabatt: double + bestellen(): void - berechneRabatt(): double
SymbolSichtbarkeitZugriff
+publicÜberall
-privateNur Klasse selbst
#protectedKlasse + Unterklassen
~packageGleiches Paket

Syntax & Eigenschaften (wie im IHK-Beiblatt)

Attribut: Sichtbarkeit Name : Typ {Eigenschaften}

Methode: Sichtbarkeit Name(param : Typ, …) : Rückgabetyp {Eigenschaften}

Eigenschaften stehen in geschweiften Klammern, z. B. {static, final}. Das IHK-Beiblatt notiert static als Property-String – also {static}, nicht unterstrichen.

Hinweis: Der strenge UML-Standard zeigt statische Merkmale unterstrichen. Für die IHK-Prüfung gilt aber die Beiblatt-Schreibweise {static}.

2. Assoziationen (UML 2.5.1)

Eine Assoziation ist eine strukturelle Beziehung zwischen Klassen.

AssoziationstypDarstellungBedeutung
Einfache AssoziationDurchgezogene Linie ohne PfeilBidirektional (beide kennen sich)
Gerichtete AssoziationLinie mit offener Pfeilspitze >Navigierbar nur in Pfeilrichtung
AggregationLinie mit leerer Raute ◇"hat ein" - Teil existiert unabhängig
KompositionLinie mit gefüllter Raute ◆"besteht aus" - Teil stirbt mit Ganzem
✅ Einfache Assoziation (bidirektional)
Student Vorlesung besucht * *

Keine Pfeilspitze = beide Klassen kennen einander

✅ Gerichtete Assoziation (unidirektional)
Bestellung Kunde gehörtZu * 1

Offene Pfeilspitze = Bestellung kennt Kunde, aber nicht umgekehrt

3. Aggregation vs. Komposition

✅ Aggregation ◇ (leere Raute)
Team Mitglied 1 *

"hat ein" - Mitglied existiert unabhängig

✅ Komposition ◆ (gefüllte Raute)
Bestellung Position 1 1..*

"besteht aus" - Position existiert nicht ohne Bestellung

KRITISCH: Raute IMMER am "Ganzen"!

Team ◇─── Mitglied | Bestellung ◆─── Position

4. Vererbung (Generalisierung)

✅ Vererbung - Leeres Dreieck △ zur Oberklasse
Fahrzeug # geschwindigkeit PKW LKW

Kursiv = abstrakte Klasse

5. Interface & Realisierung

Ein Interface definiert einen Vertrag (nur Operationen, keine Implementierung). Eine Klasse, die das Interface umsetzt, steht über die Realisierungsbeziehung damit in Verbindung: gestrichelte Linie + leeres Dreieck zum Interface.

ElementDarstellungBedeutung
InterfaceKlasse mit Stereotyp «interface» (kursiver Name)Vertrag ohne Implementierung
RealisierungGESTRICHELTE Linie + LEERES Dreieck △Klasse setzt Interface um („implements“)
✅ Realisierung - gestrichelte Linie + leeres Dreieck zum Interface
«interface» Zahlbar + bezahlen(): void Kreditkarte + bezahlen() PayPal + bezahlen()

Merke: Vererbung = durchgezogen + Dreieck · Realisierung = gestrichelt + Dreieck. Gleiche Spitze, andere Linie!

Begriff im IHK-Beiblatt: „Implementierung"

Das offizielle IHK-Beiblatt beschriftet diese Beziehung mit „Implementierung" (Klasse → «interface»). Gemeint ist dasselbe wie die hier gezeigte Realisierung – beide Begriffe sind UML-konform und austauschbar.

6. Abhängigkeit (Dependency)

Hinweis: Die Abhängigkeit steht nicht auf dem IHK-Beiblatt – sie ist also nicht als Vorlage vorgegeben. Sie ist trotzdem gültiges UML und kann im Aufgabentext verlangt sein, daher hier zur Vollständigkeit.

Eine Abhängigkeit ist die schwächste Beziehung: Klasse A benutzt Klasse B nur vorübergehend – z. B. als Methodenparameter, lokale Variable oder Rückgabetyp. Es gibt kein dauerhaftes Attribut.

ElementDarstellungBedeutung
LinieGESTRICHELTLose, temporäre Nutzung
PfeilspitzeOFFEN > (zum Benutzten)A hängt von B ab
Typische AuslöserParameter, lokale Variable, Rückgabewert„uses“ statt „has“
✅ Abhängigkeit - gestrichelte Linie + OFFENE Pfeilspitze
Rechnung + drucken(d: Drucker) Drucker + ausgeben() «use»

Abgrenzung: Wird B dauerhaft als Attribut gehalten → Assoziation/Aggregation. Wird B nur kurz benutzt (Parameter/lokal) → Abhängigkeit.

7. Multiplizitäten

NotationBedeutungBeispiel
1Genau einsAuto hat 1 Motor
0..1OptionalPerson hat 0..1 Ehepartner
* oder 0..*Beliebig vieleKunde hat * Bestellungen
1..*Mindestens einsBestellung hat 1..* Positionen

8. Vollständiges Klassendiagramm-Beispiel

✅ Online-Shop mit verschiedenen Beziehungstypen
Kunde - name: String - email: String + bestellen() Bestellung - bestellNr: int - datum: Date + berechneGesamt() Position - menge: int - einzelpreis: double + berechneSumme() Produkt - name: String - preis: double + getDetails() 1 * 1 1..* 1

Legende: ── Assoziation | ◆─ Komposition | ─> Gerichtete Assoziation

Sequenzdiagramm

1. Grundelemente

ElementDarstellungBeschreibung
Objekt/LebenslinieRechteck + gestrichelte Linie:Klassenname oder objekt:Klasse
AktivierungsbalkenSchmales Rechteck auf LebenslinieObjekt führt gerade Code aus
NachrichtHorizontaler PfeilMethodenaufruf

2. Nachrichtentypen (UML 2.5.1)

TypLiniePfeilspitzeBedeutung
SynchronDurchgezogenGEFÜLLT ▶Sender wartet auf Antwort
AsynchronDurchgezogenOFFEN >Sender wartet NICHT
RückgabeGESTRICHELTOFFEN >Antwort auf synchronen Aufruf
✅ Synchrone Nachricht - GEFÜLLTE Spitze
methode(parameter)
✅ Rückgabe - GESTRICHELT + offene Spitze
ergebnis
✅ Asynchrone Nachricht - durchgezogen + OFFENE Spitze
nachrichtSenden()

Unterschied zur synchronen: gleiche durchgezogene Linie, aber offene statt gefüllter Spitze. Der Sender wartet nicht auf eine Antwort.

3. Selbstaufruf, Objekt-Konstruktion & -Destruktion

Diese drei Elemente stehen ausdrücklich auf dem IHK-Beiblatt und tauchen regelmäßig in AP2-Sequenzdiagrammen auf.

✅ Selbstaufruf (reflexive Nachricht)
:Controller validiere()

Pfeil vom Objekt zu sich selbst – das Objekt ruft eine eigene Methode auf.

✅ Objekt-Konstruktion (create) & Destruktion (X)
:Service «create» :Session Objekt-Destruktion

create = gestrichelter Pfeil auf den Objekt-Kopf (Objekt entsteht hier). X = Lebenslinie endet, Objekt wird zerstört.

4. Kombinierte Fragmente

FragmentBedeutungVerwendung
altAlternativeif-else (mit [guards])
optOptionalif ohne else
loopSchleifewhile/for [min,max]
parParallelGleichzeitige Ausführung
breakAbbruchVorzeitiger Ausstieg

5. Vollständiges Sequenzdiagramm-Beispiel

✅ Login-Prozess mit alt-Fragment
:Benutzer :LoginController :Datenbank login(user, pass) prüfeCredentials() result alt [gültig] loginErfolgreich() [ungültig] fehlerMeldung()

Legende: ▶ Synchrone Nachricht | - - -> Rückgabe | alt = if-else mit [Guards]

Aktivitätsdiagramm

1. Grundelemente

ElementSymbolBeschreibung
Startknoten● (gefüllter Kreis)Beginn des Ablaufs
Endknoten◉ (Kreis mit Punkt)Beendet alle Aktivitäten
Ablaufende (Flow Final)⊗ (Kreis mit X)Beendet nur den aktuellen Fluss, andere Pfade laufen weiter
AktivitätAbgerundetes RechteckAuszuführende Aktion
Entscheidung (Decision)◇ Raute (1 rein, n raus)Verzweigung mit [Guards]
Zusammenführung (Oder) (Merge)◇ Raute (n rein, 1 raus)Alternative Pfade zusammenführen
Teilung (Splitting) (Fork)▬ Balken (1 rein, n raus)Parallele Pfade starten
Synchronisation (Und) (Join)▬ Balken (n rein, 1 raus)Parallele Pfade synchronisieren

KRITISCH: Richtige Zusammenführung!

VerzweigungZusammenführungBedeutung
◇ Entscheidung (Decision)◇ Merge (Raute!)ENTWEDER-ODER Pfade
▬ Fork (Balken)▬ Join (Balken!)UND Pfade (parallel)

Merkregel: Raute → Raute | Balken → Balken

2. Entscheidung + Merge (Alternative Pfade)

✅ Entscheidung (◇) wird mit Merge (◇) zusammengeführt
? [ja] [nein] Aktion A Aktion B

3. Fork + Join (Parallele Pfade)

✅ Fork (▬) wird mit Join (▬) synchronisiert
Parallel A Parallel B

Join wartet auf ALLE parallelen Pfade!

4. Schwimmbahnen (Partitionen / Verantwortungsbereiche)

Schwimmbahnen (engl. Swimlanes, UML-Begriff: Partitionen) teilen das Diagramm in Spalten (oder Zeilen) auf und ordnen jede Aktivität einem Verantwortlichen zu – Person, Rolle, Abteilung oder System. So wird sichtbar, wer was macht. Im IHK-Beiblatt heißen sie „Schwimmbahn 1 / Schwimmbahn 2".

Warum prüfungsrelevant?

Sobald eine AP2-Aufgabe Formulierungen wie „der Kunde …“, „das System …“, „der Sachbearbeiter …“ mischt, erwartet der Erwartungshorizont meist ein Aktivitätsdiagramm mit Swimlanes. Jede Aktivität gehört eindeutig in genau eine Lane.

✅ Bestellprozess mit drei Partitionen (Kunde | System | Lager)
Kunde System Lager Bestellung aufgeben Bestand prüfen verfügbar? [ja] Ware kommissionieren Versenden [nein] Kunde informieren

Regel: Eine Aktivität liegt in der Lane, deren Verantwortlicher sie ausführt. Eine Transition, die die Lane wechselt, bedeutet eine Zuständigkeits-Übergabe.

Typische Fehler bei Swimlanes

FehlerRichtig
Aktivität auf einer Lane-Grenze platziertEindeutig in einer Lane
Start-/Endknoten vergessen einzuordnenAuch sie liegen in einer Lane
Decision-Raute über mehrere Lanes gezogenRaute gehört zu der Lane, die entscheidet

Zustandsdiagramm

1. Zustände

ElementDarstellungBeschreibung
Einfacher ZustandAbgerundetes RechteckZustand ohne interne Aktionen
Zustand mit AktionenZweigeteilt: Name | entry/do/exitZustand mit internen Aktionen
Startzustand● (gefüllter Kreis)Initialer Zustand
Endzustand◉ (Kreis mit Punkt)Finaler Zustand

2. Interne Aktionen

AktionWann?Beispiel
entry /Beim Betretenentry / lampeAn()
do /Während (unterbrechbar)do / blinken()
exit /Beim Verlassenexit / lampeAus()
ereignis /Bei internem Ereignis (ohne Zustandswechsel)tasteGedrückt / zähleHoch()

Das IHK-Beiblatt listet im Zustandskörper genau diese vier Zeilen: entry/aktion, do/aktion, exit/aktion, ereignis/aktion.

✅ Zustand mit internen Aktionen
Aktiv entry / statusAktiv() do / verarbeitung() exit / speichern()

3. Übergänge (Transitionen)

✅ Übergangsnotation: Ereignis [Guard] / Aktion
Zustand A Zustand B ereignis [guard] / aktion

Format: Ereignis [Guard] / Aktion - alle Teile sind optional!

Im IHK-Beiblatt steht dieselbe Notation als operation[bedingung]/verhalten – nur andere Wörter, gleiche Struktur.

Zeitauslöser: after(Zeitdauer)

Ein Übergang kann auch durch Zeitablauf ausgelöst werden. Statt eines Ereignisses steht dann after(Zeitdauer) an der Transition – z. B. after(30s) für „nach 30 Sekunden automatisch wechseln". Das IHK-Beiblatt zeigt diesen Auslöser ausdrücklich.

4. Vollständiges Zustandsdiagramm-Beispiel

✅ Bestellung-Lebenszyklus
Neu Bezahlt Versendet Zugestellt Storniert zahlung_ok versenden zugestellt stornieren stornieren / rückerstattung()

Legende: ● Start | ◉ Ende | Transitionen: ereignis [guard] / aktion

5. Pseudozustände: Choice & Junction (Legacy)

📜 Historischer Hintergrund

In UML 1.x (1997-2005) wurden Rauten häufig für Verzweigungen in Zustandsdiagrammen verwendet – ähnlich wie in Aktivitätsdiagrammen. Seit UML 2.0 werden Guards bevorzugt direkt an Transitionen geschrieben.

Ältere IHK-Materialien und Prüfungen könnten noch die Rauten-Notation verwenden!

SymbolNameUML-VersionBedeutung
◇ChoiceUML 2.xDynamische Entscheidung (Guard zur Laufzeit ausgewertet)
◇JunctionUML 1.x/2.xStatische Verzweigung / Zusammenführung
UML 1.x Stil (mit Raute) – noch in älteren Prüfungen zu finden
Aktiv timeout [versuche<3] Wiederholung [else] Gesperrt
✅ UML 2.x Stil (Guards direkt an Transition) – EMPFOHLEN
Aktiv timeout [versuche<3] Wiederholung timeout [else] Gesperrt

Vorteil: Kompakter, keine Extra-Symbole nötig

Prüfungstipp:

Wenn du in einer Prüfung eine Raute im Zustandsdiagramm siehst → es ist eine Choice/Junction aus UML 1.x-Zeiten.

Für eigene Diagramme: Verwende besser Guards direkt an der Transition – das ist der moderne UML 2.x Standard.

Schnellreferenz - Pfeilspitzen

DiagrammElementLinieSpitze
Use-CaseAssoziationDurchgezogenKEINE
«include»GestricheltOFFEN >
«extend»GestricheltOFFEN >
GeneralisierungDurchgezogenLEERES △
KlasseAssoziationDurchgezogenKEINE (bidirektional)
Gerichtete AssoziationDurchgezogenOFFEN > (navigierbar)
VererbungDurchgezogenLEERES △
RealisierungGestricheltLEERES △
AbhängigkeitGestricheltOFFEN >
Aggreg./Komp.Durchgezogen◇/◆ am Ganzen
SequenzSynchronDurchgezogenGEFÜLLT ▶
AsynchronDurchgezogenOFFEN >
RückgabeGestricheltOFFEN >
AktivitätKontrollflussDurchgezogenOFFEN >
ZustandTransitionDurchgezogenOFFEN >

UML 2.5.1 Referenz

Diese Kurzreferenz basiert auf dem offiziellen UML 2.5.1 Standard (OMG Document formal/2017-12-05).

Quelle: https://www.omg.org/spec/UML/2.5.1

UML 2.5.1 Kurzreferenz | Zu den Aufgaben

Erstellt mit Unterstützung von KI-Tools, redaktionell geprüft