Skip to main content

Seite 14. UML-Sequenzdiagramm-Trainer

Dieser interaktive Trainer gehört zur Theorie-Seite:

UML-Sequenzdiagramm

Hier übst du, aus einer Aufgabenbeschreibung ein korrektes UML-Sequenzdiagramm abzuleiten.

Im Fokus stehen:

Teilnehmer
Lebenslinien
Nachrichten
Rückgaben
Reihenfolge
Aktivierungsbalken
parallele Prozessbereiche

Was wird trainiert?

BereichBedeutung
Teilnehmer erkennenbeteiligte Akteure, Objekte oder Systemteile
Lebenslinien verstehengestrichelte Linien unter den Teilnehmern
Nachrichten eintragendurchgezogene Pfeile als Aufrufe
Rückgaben unterscheidengestrichelte Pfeile als Antworten
Reihenfolge prüfenAblauf wird von oben nach unten gelesen
Parallelbereich erkennenzwei parallele Linien markieren parallele Abläufe
Beschriftungen sauber setzenMethodenaufrufe und Rückgaben eindeutig benennen

Interaktiver UML-Sequenzdiagramm-Trainer


Merksatz für den Trainer

Teilnehmer stehen oben.
Lebenslinien laufen nach unten.
Zeit läuft von oben nach unten.
Nachrichten sind durchgezogene Pfeile.
Rückgaben sind gestrichelte Pfeile.
Aktivierungsbalken zeigen Verarbeitung.
Parallele Abläufe müssen sichtbar markiert werden.

Wichtige fachliche Einordnung

Im Trainer verwenden wir für den parallelen Bereich eine IHK-nahe vereinfachte Darstellung mit zwei parallelen Linien.

Das bedeutet:

zwei parallele Linien = paralleler Ablaufbereich

Streng nach UML kann Parallelität auch als par-Combined-Fragment mit Rahmen dargestellt werden.

Für dein IHK-Lernen ist wichtig:

Du sollst erkennen:
Hier laufen zwei Prozesse parallel oder unabhängig voneinander ab.

Beispiel: Login prüfen

Aufgabenstellung:

Ein Benutzer gibt Login-Daten ein.
Die LoginGUI ruft den LoginService auf.
Der LoginService fragt das UserRepository ab.
Danach werden Dashboarddaten und Benutzerkontext parallel geladen.
Zum Schluss wird die Startseite angezeigt.

Mögliche Lösung:

Teilnehmer:
Benutzer
loginGUI:LoginGUI
loginService:LoginService
userRepository:UserRepository
dashboard:Dashboard

Ablauf:

Benutzer → loginGUI: loginDatenEingeben(name, passwort)
loginGUI → loginService: pruefeLogin(name, passwort)
loginService → userRepository: findeBenutzer(name)
userRepository --> loginService: benutzer
loginService --> loginGUI: loginStatus

Parallelbereich:

Prozess A:
loginGUI → dashboard: ladeDashboard()
dashboard --> loginGUI: dashboardDaten

Prozess B:
loginGUI → loginService: ladeBenutzerKontext()
loginService --> loginGUI: benutzerKontext

Abschluss:

loginGUI → Benutzer: startseiteAnzeigen()

Nachricht oder Rückgabe?

DarstellungBedeutung
durchgezogener PfeilAufruf / Nachricht
gestrichelter PfeilRückgabe / Antwort
senkrechte gestrichelte LinieLebenslinie
schmaler Balken auf LebenslinieAktivierungsbalken
zwei parallele Linienparalleler Ablaufbereich

Teilnehmer richtig benennen

Ein Teilnehmer kann ein Akteur oder ein Objekt sein.

Beispiele:

Benutzer
loginGUI:LoginGUI
loginService:LoginService
userRepository:UserRepository
dashboard:Dashboard

Wichtig:

Benutzer = Akteur
loginGUI:LoginGUI = Objekt / Instanz mit Klasse

Warum steht die Zeit von oben nach unten?

Ein Sequenzdiagramm wird vertikal gelesen.

oben = früher
unten = später

Das bedeutet:

Die erste Nachricht steht oben.
Spätere Nachrichten stehen weiter unten.

Typische Fehler im Sequenzdiagramm

FehlerWarum falsch?
Teilnehmer fehlenunklar, wer beteiligt ist
Lebenslinien fehlenAblauf ist nicht als Sequenzdiagramm erkennbar
Rückgaben als normale Nachrichten gezeichnetAntwort wirkt wie neuer Aufruf
Nachrichten in falscher ReihenfolgeAblauf wird fachlich falsch
Pfeile überlagern sichDiagramm ist schlecht lesbar
paralleler Bereich nicht markiertGleichzeitigkeit wird nicht sichtbar
zu lange Texte auf PfeilenDiagramm wird unübersichtlich
Klassen statt konkreter Teilnehmer falsch verwendetSequenzdiagramm zeigt konkrete Kommunikation

Mini-Testfragen

1. Wofür verwendet man ein UML-Sequenzdiagramm?

Ein Sequenzdiagramm zeigt den zeitlichen Nachrichtenaustausch zwischen Teilnehmern oder Objekten.

Merksatz:

Wer ruft wen wann auf?
2. Wie liest man ein Sequenzdiagramm?

Von oben nach unten.

oben = früher
unten = später
3. Was ist eine Lebenslinie?

Eine Lebenslinie ist die gestrichelte senkrechte Linie unter einem Teilnehmer.

Sie zeigt, dass der Teilnehmer während des Ablaufs existiert.

4. Wie wird eine normale Nachricht dargestellt?

Als durchgezogener Pfeil zwischen zwei Teilnehmern.

Beispiel:

loginGUI → loginService: pruefeLogin()
5. Wie wird eine Rückgabe dargestellt?

Als gestrichelter Pfeil zurück.

Beispiel:

loginService --> loginGUI: loginStatus
6. Was zeigt ein Aktivierungsbalken?

Ein Aktivierungsbalken zeigt, dass ein Teilnehmer gerade aktiv ist oder etwas verarbeitet.

7. Was bedeuten zwei parallele Linien in unserem Trainer?

Sie markieren einen parallelen Ablaufbereich.

Das bedeutet:

Mehrere Prozesse können parallel oder unabhängig voneinander ablaufen.
8. Was ist der Unterschied zwischen Nachricht und Rückgabe?

Eine Nachricht ruft etwas auf.

Eine Rückgabe liefert ein Ergebnis zurück.

Nachricht = Aufruf
Rückgabe = Antwort / Ergebnis
9. Warum dürfen Pfeile und Texte nicht überlappen?

Weil sonst unklar wird, welcher Pfeil zu welcher Nachricht gehört.

Ein Sequenzdiagramm muss sauber lesbar bleiben.

10. Was ist ein typischer IHK-Fehler?

Ein häufiger Fehler ist, die zeitliche Reihenfolge falsch darzustellen.

Wichtig:

Die Reihenfolge ergibt sich von oben nach unten.

Nächste Seite

Danach geht es weiter mit:

Mock-up / Benutzeroberflächen-Entwurf