29
Hans-Jürgen Steffens Systemanalyse SS 04 1 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure Über Ereignisliste Über Ziele und Aufgabenbeschreibungen Beschreibungen Sonderfälle Zerlegung komplexer Use Cases Generalisierungen Gesamt-Use Case-Diagramm

Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Embed Size (px)

Citation preview

Page 1: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 1

4. Vorlesung: Use Case Diagramme Fallbeispiel

Akteure ermitteln Use Cases ermitteln:

• Über Aufgaben der Akteure

• Über Ereignisliste

• Über Ziele und Aufgabenbeschreibungen Beschreibungen Sonderfälle Zerlegung komplexer Use Cases Generalisierungen Gesamt-Use Case-Diagramm

Page 2: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 2

Akteure ermitteln

Aus Interview mit Auftraggeber / Pflichtenheft:

• Verkäufer

• Kunde

• Fahrer

• Manager

Page 3: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 3

Aufgaben der Akteure: Verkäufer

Bestellungen aufnehmen

• i.d.R. telefonisch Menü fertigstellen

• Menü bereit zur Auslieferung melden

• Rechnung und Anfahrthinweise ausdrucken Über Bestellstatus informieren

• Wenn Kunde anruft und fragt, wo seine Pizza bleibt Arbeitsbeginn erfassen Arbeitsende erfassen

Page 4: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 4

Aufgaben der Akteure: Kunde

Bestellung aufgeben

• Über Internet Über Bestellstatus informieren

• Über Internet

Page 5: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 5

Aufgaben der Akteure: Fahrer

Menü als in Auslieferung melden

• Bei Abfahrt Tour zurückmelden Arbeitsbeginn erfassen Arbeitsende erfassen

Page 6: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 6

Aufgaben der Akteure: Manager

Tageseinnahmen der Fahrer abrechnen Personaleinsatz planen Auswertungen erstellen

Page 7: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 7

Ermittlung von Use Cases über Ereignis-Liste

Kunde will telefonisch bestellen Kunde will telefonisch Auskunft über Bestellung Kunde will über Internet bestellen Kunde will über Internet Auskunft über Bestellung Menü ist fertig Menü wird vom Fahrer übernommen Fahrer meldet sich von Tour zurück Arbeitsbeginn Fahrer / Verkäufer Arbeitsende Fahrer / Verkäufer Zeitpunkt für wöchentl. Personalplanung Manager will Auswertung erstellen

Aufgabe: Ordnen Sie die vorher ermittelten Aufgaben den Ereignissen zu!

Page 8: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 8

Ermittlung von UC über Ziele / Aufgabenbeschr.

Ziele (aus Pflichtenheft): • Bestellaufnahme und -abwicklung• Abrechnung• Bestellung über Internet• Arbeitszeiterfassung• Statistische Auswertungen• Erfassen und Information über Bestellstatus• Personalplanung• Ermittlung Auslieferungszeit• Routenoptimierung

Aus diesen Zielen lassen sich die vorher beschriebenen Aufgaben ableiten

Für die letzten beiden Ziele ist zu untersuchen, ob eigene Use Cases gebildet oder ob diese im Rahmen anderer Use Cases (welcher?) berücksichtigt werden sollten.

Page 9: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 9

Fazit bzgl. Ermittlung von Use Cases

Die drei Möglichkeiten zur Ermittlung von Use Cases (über Akteure, Ereignisliste und Ziele) hängen eng miteinander zusammen. In der Regel wird man mit einer Betrachtungsart beginnen und bei der Ausarbeitung der Use Cases die anderen Fragestellungen mit einbeziehen.

Page 10: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 10

Erster Entwurf Use Case Diagramm (1)

Verkäufer

Fahrer

Bestellungaufnehmen

Menü fertig stellen

Über Bestellstatusinformieren

Arbeitsbeginnerfassen

Arbeitsendeerfassen

Tour als inAuslieferung melden

Tour zurückmelden

Informations-System Pizza-Service

Page 11: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 11

Use Case Bestellung aufnehmen

Name: Bestellung aufnehmen

Vorbedingung: -

Nachbed. Erfolg: Bestellung aufgenommen und bestätigt

Nachb. Misserf.: Bestellung nicht aufgenommen

Akteure: Verkäufer

Ausl. Ereignis: Anruf Kunde

Ablauf: 1. Aufgrund des Kundennamens und ggf. Vorname, Straße, Hausnr. wählt der Verkäufer den Kunden aus der Kundenliste im System aus. Er fragt den Kunden, ob die Daten stimmen. Ggf. korrigiert er die Daten.

2. Der Verkäufer nimmt die Bestellung des Kunden entgegen, indem er im System aus einer elektronischen Speisekarte die Speisen auswählt und jeweils die Menge einträgt.

3. Das System ermittelt den Preis und – aufgrund der vorliegenden Bestellungen, der geplanten Fahrten und der Entfernung zum Zielort – die voraussichtliche Dauer.

4. Der Verkäufer bestätigt – nach Rückfrage beim Kunden – die Bestellung und druckt einen Auftrag für die Küche aus.

Alternativen 1a) Falls es sich um einen Neukunden handelt, erfasst der Verkäufer die Kundendaten. In diesem Fall prüft das System, ob die Adresse innerhalb des Liefergebiets liegt. Falls nicht, wird die Bestellannahme beendet.

2a) Falls eine Speise ausgegangen ist, wird ihm dies bei der Auswahl angezeigt, und er kann die Speise nicht in die Bestellung aufnehmen. Stattdessen wird ein Ersatzgericht vorgeschlagen, das er dem Kunden anbieten kann.

5.

Page 12: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 12

Use Case Menü fertig stellen

Name: Menü fertig stellen

Vorbedingung: Speisen sind gekocht

Nachbed. Erfolg: Menü ist fertig gemeldet und zur Auslieferung bereit

Nachb. Misserf.: Menü konnte nicht fertig gemeldet werden (Verzögerung, Speise ausgegangen)

Akteure: Verkäufer

Ausl. Ereignis: Speisen sind gekocht

Ablauf: 1. Verkäufer wählt fertig zu stellendes Menü aus Liste aus 2. Er bestätigt die Fertigstellung 3. Das System druckt die Rechnung für den Fahrer aus

Alternativen: 1a) Falls es ein Problem gibt, ändert/storniert der Verkäufer die Bestellung entsprechend (ggf. nach Rückfrage beim Kunden)

1.

Page 13: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 13

Use Case Tour als in Auslieferung melden

Name: Tour als in Auslieferung melden

Vorbedingung: Menüs zur Tour sind fertig gemeldet

Nachbed. Erfolg: Tour ist als in Auslieferung gemeldet

Nachb. Misserf.: Tour nicht (vollständig) als in Auslieferung gemeldet

Akteure: Fahrer

Ausl. Ereignis: Aktion des Fahrers

Ablauf: 1. Fahrer wählt Tour aus Liste aus 2. Er bestätigt, dass die Tour in Auslieferung ist

Alternativen: 2a) Im Falle eines Problems (z. B. ein Menü ist nicht fertig) ändert er ggf. die Tour (z. B. Entfernung des nicht fertigen Menüs), weiter mit 2.

3.

Page 14: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 14

Use Case Tour zurück melden

Name: Tour zurück melden

Vorbedingung: Tour ist als in Auslieferung gemeldet

Nachbed. Erfolg: Tour zurück gemeldet

Nachb. Misserf.: Tour nicht (vollständig) zurück gemeldet

Akteure: Fahrer

Ausl. Ereignis: Aktion des Fahrers

Ablauf: 1. Fahrer wählt Tour aus Liste aus 2. Er bestätigt, dass die Tour vollständig ausgeliefert wurde

Alternativen: 2a) Im Falle eines Problems (z. B. ein Menü konnte nicht ausgeliefert werden), kann er einzelne Menüs zurück melden oder nicht zurück melden

3.

Page 15: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 15

Use Case Über Bestellstatus informieren

Name: Über Bestellstatus informieren

Vorbedingung:

Nachbed. Erfolg: Bestellstatus und voraussichtliche Dauer ermittelt

Nachb. Misserf.: -

Akteure:

Ausl. Ereignis: Nachfrage des Kunden

Ablauf: 1. Auswahl aus Liste der Bestellungen 2. System zeigt Bestellstatus (erfasst, fertig gestellt, in Auslieferung, ausgeliefert)

an 3. System ermittelt die aufgrund der aktuellen Daten voraussichtliche Dauer

Alternativen:

4.

Page 16: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 16

Erster Entwurf Use Case Diagramm (2)

ManagerKunde

Im Internet überBestellstatus informieren

Bestellung überInternet aufgeben

TageseinnahmenFahrer abrechnen

Personaleinsatzplanen

Auswertungenerstellen

Informations-System Pizza-Service

Page 17: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 17

Sonderfälle

Zu UC Bestellung aufnehmen:

• Speise ist ausgegangen

• Kunde wohnt außerhalb des Liefergebiets

• Neukunde, Kundendaten müssen erst erfasst werden Zu UC Lieferung fertig stellen:

• Menü ist verzögert / kann nicht fertig gestellt werden Zu UC Tour zurückmelden:

• Menü konnte nicht zugestellt werden Allgemein:

• Kunde möchte Bestellung stornieren oder ändern (telefonisch oder über Internet)

• Tour wird nicht rechtzeitig als in Auslieferung gemeldet (Fahrer kam zu spät zurück, Essen wird kalt)

Page 18: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 18

Behandlung v. Sonderfällen und komplexen UCs

Bei Sonderfällen ist zu entscheiden, ob diese in Form von eigenen Use Cases modelliert werden sollten (z. B. eigene Abläufe). Ebenso bei der Aufteilung eines UC über include

Beispiel: Bestellung aufnehmen

Bestellungaufnehmen

Neukunde anlegen

Ersatz für ausgegangeSpeise vorschlagen

«extend»

«extend»

Dauer ermitteln

Speise suchen

«include»

«include»

Page 19: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 19

Use Case Dauer ermitteln

Name: Dauer ermitteln

Vorbedingung:

Nachbed. Erfolg: Menü zu Tour zugeordnet und Dauer ermittelt

Nachb. Misserf.: -

Akteure:

Ausl. Ereignis: Bestell- und Kundendaten erfasst

Ablauf: 1. Aufgrund vorliegender Bestellungen, voraussichtlicher Rückkunft der Fahrer, Entfernung des Ortes wird das Menü ggf. mit einem anderen zu einer gemeinsamen Tour zusammengefasst und die voraussichtliche Dauer berechnet.

Alternativen:

2.

Page 20: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 20

Weitere UCs für Sonderfälle

Für die allgemeinen Sonderfälle sind eigene Use Cases notwendig

• Kunde möchte Bestellung stornieren oder ändern

• Tour wird nicht rechtzeitig als in Auslieferung gemeldet

Bestellungstornieren/ändern

Verzögerungbearbeiten

Verkäufer

Bestellung überInternet stornieren/ändern

Kunde

Page 21: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 21

Use Case Verzögerung bearbeiten

Name: Verzögerung bearbeiten

Vorbedingung: Bestellung liegt vor

Nachbed. Erfolg: Bestellstatus und voraussichtliche Dauer ermittelt

Nachb. Misserf.: -

Akteure: Verkäufer

Ausl. Ereignis: System ermittelt, dass Verspätung vorliegt (z. B. Menü nicht rechtzeitig fertig gemeldet, nicht rechtzeitig in Auslieferung gemeldet)

Ablauf: 1. Verkäufer wird über Verspätung und Art der Verspätung informiert.

Alternativen:

2.

Page 22: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 22

Weitere erforderliche Use Cases

Untersuchung der Use Cases unter der Fragestellung „wo kommt die jeweilige Information her?“

• Wie wird definiert, dass eine Speise ausgegangen ist?

• Wo kommt die Speisekarte her? Weitere Use Cases

Speise ausgegangenmelden

Speise wiederverfügbar melden

Speisekarte pflegen

Verkäufer

Manager

Page 23: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 23

Generalisierungen

Ebenso:

• Über Bestellstatus informieren

• Bestellung ändern / stornieren

Bestellungaufnehmen

Bestellen

Bestellung überInternet aufgeben

KundeVerkäufer

Page 24: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 24

Beschreibung bei Generalisierung

Name: Bestellen

Nachbed. Erfolg: Bestellung aufgenommen und bestätigt

Nachb. Misserf.: Bestellung nicht aufgenommen

Ausl. Ereignis: Bestellwunsch

Ablauf: 1. Auswahl Kundendaten, ggf. ändern 2. UC Speise suchen 3. Speisen auswählen. 4. System ermittelt Preis. 5. UC Dauer ermitteln. 6. Actor schließt Bestellung ab. 7. Auftrag für Küche wird ausgedruckt

Alternativen 1a) Falls es sich um einen Neukunden handelt - UC Neukunde anlegen

3a) Falls Speise ausgegangen, kann sie nicht gewählt werden – UC Ersatz für ausgegangene Speise vorschlagen

8.

Page 25: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 25

Beschreibung der Spezialisierungen

Nur Änderungen gegenüber Generalisierung beschreiben:

Name: Bestellung aufnehmen (Spezialisierung von Bestellen)

Nachbed. Erfolg: Bestellung aufgenommen und bestätigt

Nachb. Misserf.: Bestellung nicht aufgenommen

Akteure: Verkäufer

Ausl. Ereignis: Kunde ruft an

Ablauf: Änderung gegenüber UC Bestellen 1a) Verkäufer wählt Kundendaten aus Liste aus

Name: Bestellung über Internet aufgeben (Spezialisierung von Bestellen)

Nachbed. Erfolg: Bestellung aufgenommen und bestätigt

Nachb. Misserf.: Bestellung nicht aufgenommen

Akteure: Kunde

Ausl. Ereignis: Aufruf Bestellseite im Internet

Ablauf: Änderung gegenüber UC Bestellen: 1a) Einloggen des Kunden mit Kunden-Nr., ggf. Ändern Kundendaten

Page 26: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 26

Gesamt-Use Case-Diagramm (Teil 1)

Bestellungaufnehmen

Bestellung überInternet aufgeben

KundeVerkäufer

Bestellen

Neukunde anlegen

Ersatz für ausgegangeSpeise vorschlagen

«extend»

«extend»

Dauer ermittelnSpeise suchen

«include» «include»

Bestellungstornieren/ändern

Bestellung überInternet stornieren/ändernBestellung direkt

stornieren/ändern

«extend»«include» «include»

Über Bestellstatusinformieren

Im Internet überBestellstatus informieren

Direkt überBestellstatus informieren

«include»

Page 27: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 27

Gesamt-Use Case-Diagramm (Teil 2)

Tour als inAuslieferung melden

Verkäufer

Fahrer

Arbeitsbeginnerfassen

Arbeitsendeerfassen

Tour zurückmelden

Menü fertig stellen Verzögerungbearbeiten Speise ausgegangen

melden Speise wiederverfügbar melden

Speisekarte pflegen

Manager

TageseinnahmenFahrer abrechnen

Personaleinsatzplanen

Auswertungenerstellen

Page 28: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 28

Zusammenfassung

Es wurde anhand der Beispielanwendung gezeigt, wie Use Cases gefunden, strukturiert und beschrieben werden können

Die drei Möglichkeiten zur Ermittlung von Use Cases (über Akteure, Ereignisliste und Ziele) hängen eng miteinander zusammen und ergänzen sich

Bei Sonderfällen und komplexen Use Cases muss entschieden werden, ob eigene Use Cases gebildet und über extend bzw. include eingebunden werden

Weitere erforderliche Use Cases findet man, indem man fragt, wo erforderliche Informationen erfasst werden.

Use Cases mit sehr vielen Gemeinsamkeiten können generalisiert werden. In der Beschreibung der Spezialisierungen sind dann nur noch die Abweichungen vom generalisierten Use Case erforderlich.

Page 29: Hans-Jürgen Steffens Systemanalyse SS 041 4. Vorlesung: Use Case Diagramme Fallbeispiel Akteure ermitteln Use Cases ermitteln: Über Aufgaben der Akteure

Hans-Jürgen Steffens Systemanalyse SS 04 29

Übungsfragen

Erarbeiten Sie eine oder mehrere der fehlenden Use Case-Beschreibungen