Use-Case-Diagramme und Sequenzdiagramme ergänzen sichUML-Tools die zusammenarbeiten, um ein umfassendes Verständnis der Systemfunktionalität und -verhalten zu ermöglichen. Dieser Leitfaden führt Sie Schritt für Schritt durch die effektive Nutzung dieser Diagramme gemeinsam, mit praktischen Beispielen und detaillierten Erklärungen.
Wie man Use-Case- und Sequenzdiagramme gemeinsam nutzt
Use-Case-Diagramm: Erfassung funktionaler Anforderungen
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 bieten so eine klare Übersicht über den funktionalen Umfang des Systems.
Sequenzdiagramm: Darstellung dynamischer Interaktionen
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 eines 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 so eine detaillierte Sicht auf das dynamische Verhalten und die Zusammenarbeit zeigen, die zur Umsetzung der Funktionalität erforderlich ist.
Praktischer Arbeitsablauf zur gemeinsamen Nutzung beider Diagramme
1. Beginnen Sie mit einem Use-Case-Diagramm
Identifizieren und modellieren Sie die wichtigsten Use-Cases und Akteure für Ihr System. Dies bietet 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.
2. Wählen Sie einen Use-Case zur Detailierung aus
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.
3. Erstellen Sie ein Sequenzdiagramm für den Use-Case
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.
4. Verwenden Sie Sequenzdiagramme für Variationen und Ausnahmen
Erstellen Sie neben dem Hauptfluss zusätzliche Sequenzdiagramme, um alternative oder außergewöhnliche Flüsse innerhalb des Anwendungsfalls darzustellen.
Beispiel:Für den Anwendungsfall „Buch ausleihen“ könnte ein alternativer Fluss eine Situation darstellen, in der das Buch nicht verfügbar ist. Das Sequenzdiagramm für diesen alternativen Fluss 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.
5. Verknüpfen Sie Diagramme zur Nachvollziehbarkeit
Stellen Sie die Nachvollziehbarkeit durch die Verknüpfung von Sequenzdiagrammen 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 bewahren.
Zusammenfassungstabelle
| 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 |
Beispiel aus einem Online-Buchhandel
Anwendungsfall-Diagramm
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:
- Akteure: Kunde, Administrator
- Anwendungsfälle: Bestellung aufgeben, Bestand verwalten, Katalog durchsuchen, Bestellverlauf anzeigen
- Beziehungen: Der Kunde interagiert mit Bestellung aufgeben und Katalog durchsuchen; der Administrator interagiert mit Bestand verwalten und Bestellverlauf anzeigen.
Sequenzdiagramm
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:
- Objekte: Kunde, Warenkorb, Bestellung, Bestand
- Interaktionen: Bestellung anfordern, Warenkorb überprüfen, Zahlung verarbeiten, Bestand aktualisieren, Bestellung bestätigen
- Reihenfolge: Kunde fordert Bestellung an → Warenkorb überprüft Artikel → Bestellung verarbeitet Zahlung → Bestand aktualisiert Lagerbestand → Bestellung bestätigt Transaktion.
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 Interaktionen, die zur Umsetzung dieser Funktionen erforderlich sind, was eine klare Kommunikation und eine effektive Systemgestaltung ermöglicht.
Zusätzliche Beispiele
Gesundheitsverwaltungssystem
Anwendungsfalldiagramm:
- Akteure: Patient, Arzt, Pflegekraft, Administrator
- Anwendungsfälle: Termin vereinbaren, Medikamente verschreiben, medizinische Aufzeichnungen aktualisieren, Personal verwalten
- Beziehungen: Der Patient interagiert mit Termin vereinbaren; der Arzt interagiert mit Medikamente verschreiben und medizinische Aufzeichnungen aktualisieren; der Administrator interagiert mit Personal verwalten.
Sequenzdiagramm für „Medikamente verschreiben“:
- Objekte: Arzt, Patient, medizinische Aufzeichnungen, Apotheke
- Interaktionen: Verschreibung anfordern, medizinische Vorgeschichte überprüfen, Verschreibung erstellen, an Apotheke senden, Patient informieren
- Sequenz: Arzt beantragt Verschreibung → Medizinische Akten überprüfen Vergangenheit → Verschreibung erstellt → Apotheke erhält Bestellung → Patient informiert.
E-Commerce-Plattform
Use-Case-Diagramm:
- Akteure: Kunde, Verkäufer, Administrator
- Use-Cases: Produkte durchsuchen, zum Warenkorb hinzufügen, Kasse, Angebote verwalten, Zahlung verarbeiten
- Beziehungen: Der Kunde interagiert mit Produkten durchsuchen, zum Warenkorb hinzufügen und Kasse; der Verkäufer interagiert mit Angebote verwalten; der Administrator interagiert mit Zahlung verarbeiten.
Sequenzdiagramm für „Kasse“:
- Objekte: Kunde, Warenkorb, Zahlungsgateway, Bestellung, Lagerbestand
- Interaktionen: Kasse anfordern, Warenkorb überprüfen, Zahlung verarbeiten, Lagerbestand aktualisieren, Bestellung bestätigen
- Sequenz: Kunde fordert Kasse an → Warenkorb überprüft Artikel → Zahlungsgateway verarbeitet Zahlung → Lagerbestand aktualisiert Lagerbestand → Bestellung bestätigt Transaktion.
Fazit
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 leisten 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