Use-Case-Diagramme und Sequenzdiagramme ergänzen sichUML-Tools die gemeinsam eine umfassende Einsicht in die Funktionalität und das Verhalten eines Systems ermöglichen. Dieser Leitfaden führt Sie Schritt für Schritt durch die effektive Nutzung dieser Diagramme zusammen, mit praktischen Beispielen und detaillierten Erklärungen.
Use-Case-Diagramme stellen die hochgradigen Funktionalitäten (Use-Cases) eines Systems und die externen Akteure (Benutzer oder andere Systeme) dar, die mit diesen Funktionen interagieren. Sie helfen dabei, was das System aus der Sicht des Benutzers tun sollte. Use-Cases werden als Ovale dargestellt, Akteure als Strichmännchen, und Beziehungen zeigen Interaktionen oder Abhängigkeiten.
Beispiel: Betrachten Sie ein Online-Banking-System. Das Use-Case-Diagramm könnte Akteure wie Kunden, Bank-Administrator und externen Zahlungsgateway enthalten. Use-Cases könnten „Anmelden“, „Geld überweisen“, „Kontoauszug anzeigen“ und „Konten verwalten“ umfassen. Die Beziehungen würden zeigen, welche Akteure mit welchen Use-Cases interagieren, und somit eine klare Übersicht über den funktionalen Umfang des Systems bieten.
Sequenzdiagramme modellieren die wie indem sie die Reihenfolge der Nachrichten darstellen, die zwischen Objekten (Instanzen von Klassen) über die Zeit hinweg ausgetauscht werden, um einen bestimmten Use-Case zu realisieren. Sie zeigen Lebenslinien für Objekte und den zeitlich geordneten Ablauf der Interaktionen, die zur Ausführung des Verhaltens des Use-Cases erforderlich sind.
Beispiel: Für den Use-Case „Geld überweisen“ im Online-Banking-System würde ein Sequenzdiagramm die Interaktionen zwischen Objekten wie Kunden, Bankkonto, Transaktionsprozessor und externem Zahlungsgateway darstellen. Das Diagramm würde die Reihenfolge der Nachrichten, wie „Überweisungsanfrage“, „Kontoüberprüfung“, „Transaktion verarbeiten“ und „Überweisung bestätigen“, veranschaulichen und somit eine detaillierte Sicht auf das dynamische Verhalten und die Zusammenarbeit zeigen, die zur Umsetzung der Funktionalität erforderlich ist.
Identifizieren und modellieren Sie die wichtigsten Use-Cases und Akteure für Ihr System. Dies liefert eine klare Übersicht über den funktionalen Umfang des Systems und die Interaktionen mit Benutzern.
Beispiel: Für ein Bibliotheks-Management-System könnte das Use-Case-Diagramm Akteure wie Bibliothekar, Mitglied und Administrator enthalten. Use-Cases könnten „Buch ausleihen“, „Buch zurückgeben“, „Katalog suchen“ und „Bestand verwalten“ umfassen. Die Beziehungen würden zeigen, welche Akteure mit welchen Use-Cases interagieren, und helfen dabei, die funktionalen Anforderungen des Systems zu definieren.
Wählen Sie einen bestimmten Use-Case (z. B. „Buch ausleihen“) aus, den Sie weiter untersuchen möchten. Dieser Use-Case wird die Grundlage für Ihr Sequenzdiagramm bilden.
Beispiel: Im Bibliotheks-Management-System würde die Auswahl des Use-Cases „Buch ausleihen“ die Identifizierung der wichtigsten Interaktionen und Schritte beinhalten, die ein Mitglied benötigt, um ein Buch auszuleihen. Dazu gehören die Überprüfung der Verfügbarkeit des Buches, die Aktualisierung des Mitgliedskontos und die Aufzeichnung der Transaktion.
Modellieren Sie die Objekte, die im Use-Case-Szenario beteiligt sind (z. B. Mitglied, Buch, Bibliotheksdatenbank, Transaktionsprotokoll). Zeigen Sie die Interaktionen (Nachrichten) zwischen diesen Objekten in der Reihenfolge ihrer Ausführung, um den Use-Case zu erfüllen. Dies klärt das dynamische Verhalten und die Zusammenarbeit, die zur Umsetzung der Funktionalität erforderlich sind.
Beispiel: Für den Anwendungsfall „Buch ausleihen“ würde der Sequenzdiagramm die Interaktionen zwischen Mitglied, Buch, Bibliotheksdatenbank und Transaktionsprotokoll zeigen. Das Diagramm würde die Reihenfolge der Nachrichten wie „Buch anfordern“, „Verfügbarkeit prüfen“, „Mitgliedskonto aktualisieren“ und „Transaktion protokollieren“ veranschaulichen und ein detailliertes Bild des dynamischen Verhaltens und der Zusammenarbeit zeigen, die zur Umsetzung der Funktionalität erforderlich sind.
Erstellen Sie neben dem Hauptfluss zusätzliche Sequenzdiagramme, um alternative oder außergewöhnliche Abläufe innerhalb des Anwendungsfalls darzustellen.
Beispiel:Für den Anwendungsfall „Buch ausleihen“ könnte ein alternativer Ablauf eine Situation darstellen, in der das Buch nicht verfügbar ist. Das Sequenzdiagramm für diesen alternativen Ablauf würde Interaktionen wie „Buch anfordern“, „Verfügbarkeit prüfen“, „Unverfügbarkeit melden“ und „Alternativen vorschlagen“ zeigen und ein detailliertes Bild davon vermitteln, wie das System Ausnahmen behandelt.
Stellen Sie die Nachvollziehbarkeit durch die Verknüpfung der Sequenzdiagramme mit ihren entsprechenden Anwendungsfallen sicher, um eine klare Navigation zwischen hochwertigen Anforderungen und detaillierten Interaktionen zu gewährleisten.
Beispiel:Im Bibliotheksverwaltungssystem stellt die Verknüpfung der Sequenzdiagramme für den Anwendungsfall „Buch ausleihen“ mit dem Anwendungsfall-Diagramm sicher, dass Stakeholder problemlos zwischen der hochwertigen Übersicht und den detaillierten Interaktionen navigieren können. Diese Nachvollziehbarkeit hilft, Klarheit und Konsistenz während des gesamten Entwicklungsprozesses zu gewährleisten.
| Diagrammtyp | Zweck | Wichtige Elemente | Rolle in der Entwicklung |
|---|---|---|---|
| Anwendungsfall-Diagramm | Systemfunktionen und Akteure erfassen | Akteure, Anwendungsfall, Beziehungen | Definierenwasdas System tut |
| Sequenzdiagramm | Modellieren von Objektinteraktionen über die Zeit | Objekte (Lebenslinien), Nachrichten | Definierenwiedas System dynamisch verhält |
Das Anwendungsfall-Diagramm für einen Online-Buchhandel identifiziert Akteure wie Kunden und Administrator, mit Anwendungsfallen wie „Bestellung aufgeben“ und „Bestand verwalten“. Die Beziehungen zeigen, welche Akteure mit welchen Anwendungsfallen interagieren, und bieten eine klare Übersicht über den funktionalen Umfang des Systems.
Beispiel:
Das Sequenzdiagramm modelliert den Anwendungsfall „Bestellung aufgeben“ durch Darstellung der Interaktionen zwischen den Objekten Kunde, Warenkorb, Bestellung und Bestand in der Reihenfolge ihres Auftretens. Dies klärt das dynamische Verhalten und die Zusammenarbeit, die zur Umsetzung der Funktionalität erforderlich sind.
Beispiel:
Durch die Kombination von Anwendungsfalldiagrammen und Sequenzdiagrammen erhalten Sie sowohl eine übersichtliche Darstellung der Systemfunktionalität auf hoher Ebene als auch eine detaillierte Sicht auf die erforderlichen Interaktionen, was klare Kommunikation und eine effektive Systemgestaltung ermöglicht.
Anwendungsfalldiagramm:
Sequenzdiagramm für „Medikamente verschreiben“:
Use-Case-Diagramm:
Sequenzdiagramm für „Bezahlen“:
Durch die Nutzung sowohl von Use-Case- als auch von Sequenzdiagrammen können Sie ein umfassendes Verständnis der Systemfunktionalität und -verhalten erlangen. Use-Case-Diagramme bieten eine übersichtliche Darstellung dessen, was das System tun soll, während Sequenzdiagramme einen detaillierten Einblick in das dynamische Verhalten des Systems bieten. Diese Kombination gewährleistet eine klare Kommunikation, eine effektive Systemgestaltung und einen erfolgreichen Einsatz komplexer Systeme.
Literatur:
[1] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577
[2] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577_sequencediag.html
[3] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575/6362_drawinguseca.html
[4] https://www.visual-paradigm.com/learning/handbooks/software-design-handbook/sequence-diagram.jsp
[5] https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html
[7] https://www.visual-paradigm.com/support/documents/vpuserguide/124_interoperabi.html
[8] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575_usecasediagr.html