Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

3. Vorlesung: UML Use Case Diagramme

Ähnliche Präsentationen


Präsentation zum Thema: "3. Vorlesung: UML Use Case Diagramme"—  Präsentation transkript:

1 3. Vorlesung: UML Use Case Diagramme
Einführung Grundelemente Beispiel Beschreibung von Use Cases Beziehungen zwischen Use Cases Übersicht über Konstrukte in Use Case Diagrammen Wie findet man Use Cases? Kriterien für Use Cases Hans-Jürgen Steffens Systemanalyse SS 04

2 UML Use Case-Diagramme
Erster Schritt bei der Anforderungsanalyse: Use Case-Diagramme und -Beschreibungen Use Cases (Anwendungsfälle) beschreiben Systemfunktionalität aus Anwendersicht Beantworten die Frage „Wer macht was mit dem System?“ Hans-Jürgen Steffens Systemanalyse SS 04

3 Beispiel für UML Use Case Diagramm
Actor Communicates- Beziehung Use Case Systemgrenze Hans-Jürgen Steffens Systemanalyse SS 04

4 Elemente von Use Case-Diagrammen (1)
Actor (Akteur) Ist eine Rolle, die ein Benutzer des Systems spielt. Ist häufig eine Person, kann aber auch eine Organisationseinheit oder ein externes System sein. Use Case (Anwendungsfall) Beschreibt die Durchführung einer konkreten Aufgabe mit dem System aus Anwendersicht. Kann aus mehreren Einzelaktivitäten bestehen, die von einem Akteur durchgeführt werden, um ein bestimmtes Ergebnis zu erreichen. System Systemgrenzen können eingezeichnet werden Communicates-Beziehung zwischen Actor und Use Case Der Actor kommuniziert mit dem Use Case (z. B. er führt ihn durch, muss Eingaben machen o. ä.) Hans-Jürgen Steffens Systemanalyse SS 04

5 Notation für Use Case Diagramme
System Use Case 1 Use Case 3 Actor 2 Actor 1 Use Case 2 Hans-Jürgen Steffens Systemanalyse SS 04

6 Beschreibung von Use Cases
Die Use Case-Diagramme alleine reichen nicht aus, um die Systemfunktionalität aus Anwendersicht ausreichend zu beschreiben Daher ist zu jedem Use Case eine textuelle Beschreibung erforderlich Hans-Jürgen Steffens Systemanalyse SS 04

7 Muster für die Beschreibung von Use Cases
Name des Use Case (z. B. Substantiv + Verb) Vorbedingung Nachbedingung im Erfolgsfall Nachbedingung im Falle eines Fehlschlags Akteure Auslösendes Ereignis Beschreibung 1 Aktion 1 2 Aktion 2, ... Erweiterungen 1a Erweiterung Funktionsumfang Aktion 1 Alternativen 1A Alternative zur Ausführung Aktion 1 1B Weitere Alternative zur Ausführung Aktion 1 Quelle: Balzert, H.: Lehrbuch der Softwaretechnik Hans-Jürgen Steffens Systemanalyse SS 04

8 Beispiel: Use Case Einzelkarte kaufen
Name des Use Case: Einzelkarte kaufen Vorbedingung: Keine Nachbedingung (Erfolg): Fahrkarte ausgestellt Nachbedingung Fahrkarte wurde nicht ausgestellt, (Fehlschlag): Geld zurück gegeben Akteure: Fahrgast Auslösendes Ereignis: Fahrgast will Fahrkarte kaufen Beschreibung: Fahrgast wählt Fahrkartentyp Fahrgast wählt Fahrziel System ermittelt mögliche Verbindungen Fahrgast wählt gewünschte Verbindung aus System ermittelt Preis Fahrgast wirft Geld ein System gibt Wechselgeld und druckt Ticket aus Hans-Jürgen Steffens Systemanalyse SS 04

9 Fortsetzung: Use Case Einzelkarte kaufen
Erweiterungen: 3a. Fahrgast lässt Verbindungsübersicht ausdrucken Alternativen: 1A.-5A.: Fahrgast bricht Aktion ab, System geht nach Wartezeit in Ausgangszustand zurück 6A.: Fahrgast wirft nicht genug Geld ein, System gibt nach Wartezeit Geld zurück und geht in Ausgangszustand 6B.: Automat hat nicht mehr genug Wechselgeld, es muss passend gezahlt werden. Wenn nicht passend gezahlt wird, wird das Geld zurück gegeben und der Fahrgast erhält die Möglichkeit zum erneuten Geldeinwurf. Hans-Jürgen Steffens Systemanalyse SS 04

10 Beispiel: Use Case Monatskarte kaufen
Name des Use Case: Monatskarte kaufen Vorbedingung: Keine Nachbedingung (Erfolg): Monatskarte ausgestellt Nachbedingung Monatskarte wurde nicht ausgestellt, (Fehlschlag): Geld zurück gegeben Akteure: Fahrgast Auslösendes Ereignis: Fahrgast will Monatskarte kaufen Beschreibung: Fahrgast wählt Monatskartentyp Fahrgast wählt Fahrziel System ermittelt mögliche Verbindungen Fahrgast wählt gewünschte Verbindung aus System ermittelt Preis Fahrgast wirft Geld ein System gibt Wechselgeld und druckt Monatskarte aus Hans-Jürgen Steffens Systemanalyse SS 04

11 Fortsetzung: Use Case Monatskarte kaufen
Erweiterungen: 3a. Fahrgast lässt Verbindungsübersicht ausdrucken Alternativen: 1A.-5A.: Fahrgast bricht Aktion ab, System geht nach Wartezeit in Ausgangszustand zurück 6A.: Fahrgast wirft nicht genug Geld ein, System gibt nach Wartezeit Geld zurück und geht in Ausgangszustand 6B.: Automat hat nicht mehr genug Wechselgeld, es muss passend gezahlt werden. Wenn nicht passend gezahlt wird, wird das Geld zurück gegeben und der Fahrgast erhält die Möglichkeit zum erneuten Geldeinwurf. Hans-Jürgen Steffens Systemanalyse SS 04

12 Vergleich der Use Cases
Beide Use Cases haben gemeinsame Aktivitäten: Verbindungen ermitteln Geldeinwurf und Fahrkartenausgabe Hierfür können eigene Use Cases gebildet und über die include-Beziehung eingebunden werden Kriterien für Bildung eigener Use Cases: Umfassen selbst einen abgeschlossenen Ablauf Werden mehrfach benötigt (oder sie könnten in Zukunft mehrfach verwendet werden) Hans-Jürgen Steffens Systemanalyse SS 04

13 Include-Beziehung im Beispiel
Einzelkarte kaufen «include» «include» Verbindungen Geldeinwurf und ermitteln Fahrkartenausgabe «include» «include» Monatskarte kaufen Use Case „Monatskarte kaufen“ schließt Use Case „Geldeinwurf und Fahrkartenausgabe“ mit ein Hans-Jürgen Steffens Systemanalyse SS 04

14 Erweiterungen von Use Cases
Sonderfälle können mit Hilfe von eigenen Use Cases dargestellt werden, die über extend-Beziehungen eingebunden werden Im Beispiel: Ausdruck von Verbindungen Hans-Jürgen Steffens Systemanalyse SS 04

15 Extend-Beziehung im Beispiel
Use Case „Verbindung ausdrucken“ erweitert Use Case „Verbindungen ermitteln“ «extend» Fahrgast wünscht Ausdruck Verbindungen ermitteln Verbindung ______________________ ausdrucken Nach „Verbindungen anzeigen“ Bedingung für Erweiterung (optional) Extension Point (optional): An welcher Stelle wird Erweiterung durchgeführt? Hans-Jürgen Steffens Systemanalyse SS 04

16 Generalisierung von Use Cases
Use Cases, die viele Gemeinsamkeiten haben, können verallgemeinert werden Beispielsweise könnte für die Use Cases Einzelkarte kaufen und Monatskarte kaufen ein allgemeiner Use Case Fahrkarte kaufen definiert werden. In den speziellen Use Cases braucht dann nur noch beschrieben werden, wie sich diese vom allgemeinen Fall unterscheiden Hans-Jürgen Steffens Systemanalyse SS 04

17 Generalisierung im Beispiel
Hans-Jürgen Steffens Systemanalyse SS 04

18 Übersicht Konstrukte im Use Case-Diagramm
System Use Case Actor Use Case Use Case «include» «extend» Use Case Bedingung ________ Use Case Extension Point Hans-Jürgen Steffens Systemanalyse SS 04

19 Wie findet man Use Cases? (1)
Akteure ermitteln Wer führt die Aufgaben heute / künftig durch? Welche Rollen gibt es? Was gehört zum System / nicht zum System? Use Cases für den Standardfall ermitteln Mittels Akteuren: Welche Aufgaben führen Sie durch? An welchen Aufgaben wirken sie mit? Mittels Ereignissen: Erstellen einer Ereignisliste Welche Aktivitäten lösen diese aus? Für jedes Ereignis Use Case ermitteln. Mittels Aufgabenbeschreibungen: Was sind die Gesamtziele des Systems? Welches sind die zehn wichtigsten Aufgaben? Was ist das Ziel jeder Aufgabe? Hans-Jürgen Steffens Systemanalyse SS 04

20 Wie findet man Use Cases? (2)
Use Cases für Sonderfälle ermitteln Erweiterungen und Alternativen in Use Case-Beschreibungen definieren Aufbauend auf Standardfälle die Sonderfälle formulieren und mit extend einbinden Aufteilen komplexer Use Cases Komplexe Schritte als eigene Use Cases definieren und über include einbinden Komplexe Use Cases mit vielen Sonderfällen in mehrere Use Cases zerlegen und Gemeinsamkeiten mit include modellieren Gemeinsamkeiten von Use Cases ermitteln Gemeinsame Teilabläufe in eigenen Use Cases darstellen und über include einbinden Mehr Gemeinsamkeiten als Unterschiede Ggf. Generalisierung nutzen Hans-Jürgen Steffens Systemanalyse SS 04

21 Kriterien für Use Cases
Gute Use Cases: Verständlich für Auftraggeber Extern wahrnehmbares Verhalten Fachliche Beschreibung des Arbeitsablaufs Trennung von Standard- und Sonderfällen Beschreibung max. 1 Seite pro Use Case Häufige Fehler: Zu kleine und damit zu viele Use Cases Zu frühe Betrachtung von Sonderfällen Zu detaillierte Beschreibung Verwechseln von include und extend Es wird versucht, im Use Case-Diagramm eine Ablaufreihenfolge zu modellieren Hans-Jürgen Steffens Systemanalyse SS 04

22 Zusammenfassung Die Beschreibung der Systemfunktionalität aus Anwendersicht in Form von Use Cases (Anwendungsfälle) stellt den ersten Schritt der Anforderungsanalyse dar. Zentrale Elemente von UML Use Case Diagrammen sind die Use Cases sowie die sie ausführenden Actors (Akteure) Use Cases werden mit ihren einzelnen Ablaufschritten textuell beschrieben Beziehungstypen zwischen Use Cases sind include (ein Use Case umfasst einen anderen), extend (ein Use Case erweitert das Verhalten eines anderen) und Generalisierung (ein Use Case ist die Verallgemeinerung mehrerer anderer) Use Cases lassen sich über Akteure, Ereignisse und Aufgabenbeschreibungen identifizieren, anschließend sind Sonderfälle, komplexe Teilschritte und Gemeinsamkeiten zu modellieren. Hans-Jürgen Steffens Systemanalyse SS 04

23 Übungsfragen Was ist ein Use Case? Nennen Sie Beispiele aus unterschiedlichen Anwendungsbereichen. Was ist der Zweck von UML Use Case-Diagrammen? Welche Konstrukte umfassen UML Use Case Diagramme? Wie kann man Use Cases beschreiben? Nennen und erläutern Sie die verschiedenen Arten von Beziehungen zwischen Use Cases. Wie findet man Use Cases? Woran erkennt man gute bzw. schlechte Use Case-Diagramme und –Beschreibungen? Hans-Jürgen Steffens Systemanalyse SS 04


Herunterladen ppt "3. Vorlesung: UML Use Case Diagramme"

Ähnliche Präsentationen


Google-Anzeigen