Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel

Ähnliche Präsentationen


Präsentation zum Thema: "9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel"—  Präsentation transkript:

1 9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel
Entwicklung des Klassendiagramms aus Use Cases Fortsetzung der 8. Vorlesung Komplettierung des Klassendiagramms Bildung von Packages Hans-Jürgen Steffens Systemanalyse SS 04

2 Use Case Dauer ermitteln
Operation „dauerErmitteln()“ bei Klasse Bestellung Wovon hängt die voraussichtliche Dauer ab? Zubereitungszeit der Speisen Es wird von einem Durchschnittswert ausgegangen, so dass diese Zeiten nicht gesondert hinterlegt werden müssen Wartezeit, bis Speisen zubereitet werden Diese hängt von anderen Bestellungen ab (Kapazität der Küche sei konstant) Verfügbarkeit der Fahrer Hängt ebenfalls von den anderen Bestellungen und voraussichtlichen Rückkunftzeit der entsprechenden Touren ab Außerdem von der Zahl der anwesenden Fahrer (Es wird davon ausgegangen, dass die Zahl pro Schicht konstant ist) Entfernung zur Lieferadresse Adressen werden Entfernungsbereichen (z. B. 5 min., 10 min., ...) zugeordnet Zusammenfassung von Speisen zu Touren (der genaue Algorithmus wird hier nicht betrachtet) Hans-Jürgen Steffens Systemanalyse SS 04

3 Erweiterungen Klassendiagramm
Hans-Jürgen Steffens Systemanalyse SS 04

4 Weitere Use Cases UC Speise ausgegangen melden / Speise wieder verfügbar melden Entsprechende Operations der Klasse Speise UC Tour als in Auslieferung melden / Rückkunft melden Entsprechende Operations der Klasse Tour UC Über Bestellstatus informieren Operation status() der Klasse Bestellung. Ermittelt den Status aus UhrzeitFertigstellung und durch Aufruf der Operation status () der Klasse Tour, welche wiederum die Uhrzeiten auswertet. UC Arbeitsbeginn / Arbeitsende erfassen Klasse Mitarbeiter als Generalisierung der Klasse Fahrer Für jede geleistete Schicht wird eine Arbeitszeitmeldung mit Beginn und Ende (Jeweils volles Datum und Uhrzeit) angelegt. Hans-Jürgen Steffens Systemanalyse SS 04

5 Arbeitszeitmeldungen
Hans-Jürgen Steffens Systemanalyse SS 04

6 Weitere Use Cases UC Personaleinsatz planen
Operation mitarbeiterZuordnen ( ) der Klasse Schicht-Durchführung UC Speisekarte pflegen Nicht explizit modelliert (Nutzung der in der Analyse als gegeben vorausgesetzten „get“- und „set“-Operations zur Veränderung von Attributwerten bei der Klasse Speise und Kategorie). Hans-Jürgen Steffens Systemanalyse SS 04

7 Use Case „Tageseinnahmen Fahrer abrechnen“
Operation „tageseinnahmenAbrechnen ( )“ Diese sucht alle Touren des Fahrers heraus, die noch nicht abgerechnet sind und summiert deren Summen auf (Operation „berechne Summe“, die wiederum die entsprechende Operation bei Bestellung aufruft). Anschließend werden die Touren mittels des booleschen Attributs als „abgerechnet“ gekennzeichnet Fahrer tageseinnahmenAbrechnen() 1 Tour Bestellung UhrzeitAbfahrt Nr UhrzeitRückkunft Datum abgerechnet Uhrzeit inAuslieferungMelden() Bemerkung * rückkunftMelden() 1 1..* UhrzeitFertigmeldung voraussichtlicheRückkunftberechnen() berechneSumme() status() aufnehmen() berechneSumme() kundeZuordnen() speisenZuordnen() dauerErmitteln() auftragfürKüchedrucken() fertigMelden() rechnungDrucken() tourAnlegen() bestehendeTourZuordnen() status() Hans-Jürgen Steffens Systemanalyse SS 04

8 Use Case „Auswertungen erstellen“
Hier kommt es in der Analysephase weniger darauf an, entsprechende Operationen hinzuzufügen, sondern die gewünschten Arten von Auswertungen zu analysieren, ob sie mit Hilfe des Klassendiagramms realisierbar sind Beispiele: Auswertung Umsatz pro Monat Über Datum der Bestellung lassen sich die Bestellungen eines Monats identifizieren und die Summen aufaddieren Auswertung Durchschnittliche Dauer von der Bestellung bis zur Auslieferung Uhrzeit der Zustellung wird nicht erfasst, da keine mobile Erfassung vorgesehen ist. Es lassen sich daher nur die Dauern zwischen Bestellung und Abfahrt oder zwischen Bestellung und Rückkunft der Fahrer auswerten (Mittelwert könnte als Annäherung an die gewünschte Größe gewertet werden) Auswertung Bestellungen pro Verkäufer Erweiterung des Modells erforderlich: Assoziation zwischen Verkäufer und Bestellung Hans-Jürgen Steffens Systemanalyse SS 04

9 Zuordnung Verkäufer zu Bestellung
Untergrenze 0, da auch Internet-Bestellungen möglich sind Hans-Jürgen Steffens Systemanalyse SS 04

10 UC, die über Internet abgewickelt werden
UC Bestellung über Internet aufgeben Prinzipiell der gleiche Ablauf wie bei Bestellaufnahme durch Verkäufer Unterschiede liegen im Detail: Kunde darf seine Daten nicht über Auswahl aus Liste auswählen (er darf die anderen Kundendaten nicht sehen), sondern muss einige Mindestfelder (z. B. Name, Vorname, Telefonnr.) eingeben, bevor restliche Angaben angezeigt werden und ggf. korrigiert werden können. Bestellung kann einigen Beschränkungen (z. B. Höchstbestellwert) unterliegen Bestellung wird anschließend dem Verkäufer zur Freigabe weitergeleitet. UC im Internet über Bestellstatus informieren Eigene Class Operation definiert, die die Bestellung über anonyme Eingabe der Bestellnummer auswählt, die Statusabfrage durchführt und die Antwort zurück liefert. Hans-Jürgen Steffens Systemanalyse SS 04

11 Erweiterungen für Internet-UCs
Kunde Kundennr Bestellung Name Nr Vorname Datum Hausnr Uhrzeit Telefonnr Bemerkung auswählen() UhrzeitFertigmeldung * 1 anlegen() berechneSumme() ändern() aufnehmen() adresseZuordnen() kundeZuordnen() adresse() speisenZuordnen() fahrtdauer() dauerErmitteln() überInternetEingabeAuswählen() auftragfürKüchedrucken() fertigMelden() rechnungDrucken() tourAnlegen() bestehendeTourZuordnen() status() überInternetAufgeben() internetBestellungGenehmigen() statusAbfrageInternet() Hans-Jürgen Steffens Systemanalyse SS 04

12 Use Case Bestellung stornieren / ändern
Problematik bei Stornierung / Änderung: Da die Aufträge sofort nach der Bestellung in die Küche gegeben werden, ist dem System nicht bekannt, ob diese bereits in Arbeit sind, oder noch problemlos umgeändert werden können. Lösungsmöglichkeiten: Der Verkäufer geht in die Küche und überprüft, ob Änderung noch problemlos möglich Die Küche erhält ihre Aufträge nicht auf Papier, sondern ebenfalls elektronisch und bestätigt den Beginn der Bearbeitung. Vorher kann noch problemlos storniert werden. Es wird prinzipiell so vor gegangen, dass Änderungen und Stornierungen bis zur Fertigmeldung möglich sind, danach nicht mehr. Hans-Jürgen Steffens Systemanalyse SS 04

13 Use Case Bestellung stornieren / ändern
Beispielhaft wird die Stornierung einer Bestellung betrachtet: Operation „stornieren ( )“ der Klasse Bestellung: Diese überprüft zunächst den Status (ob noch nicht fertig gemeldet) Es wird eine Storno-Meldung für die Küche ausgedruckt, damit diese ggf. die Zubereitung der Speisen stoppen kann. Die Tour, der die Bestellung zugeordnet ist, erhält eine Operation bestellungEntfernen( ), die an dieser Stelle aufgerufen wird. Die Bestellung wird gelöscht (und damit wg. der Komposition automatisch auch alle zugehörigen Bestellpositionen) Operation „bestellungEntfernen ( )“ der Klasse Tour: Diese überprüft, ob noch weitere Bestellungen enthalten sind. Falls nicht, wird die Tour ebenfalls gelöscht. Hans-Jürgen Steffens Systemanalyse SS 04

14 Erweiterungen für Stornierung
Tour Bestellung UhrzeitAbfahrt Nr UhrzeitRückkunft Datum Uhrzeit abgerechnet Bemerkung inAuslieferungMelden() UhrzeitFertigmeldung rückkunftMelden() 1 1..* berechneSumme() voraussichtlicheRückkunftberechnen() status() aufnehmen() kundeZuordnen() berechneSumme() bestellungEntfernen() speisenZuordnen() dauerErmitteln() auftragfürKüchedrucken() fertigMelden() rechnungDrucken() tourAnlegen() bestehendeTourZuordnen() status() überInternetAufgeben() internetBestellungGenehmigen() statusAbfrageInternet() stornieren() stornoMeldungDrucken() Hans-Jürgen Steffens Systemanalyse SS 04

15 Weitere Fragestellungen
Aus Gründen des Modellumfangs hier nicht berücksichtigt: Änderungen (z. B. von Einzelpositionen) Korrektur von Fehlern / Problemen Z. B. Kunde nimmt einen Teil der Lieferung nicht ab, weil er telefonisch etwas anderes bestellt hat (und zahlt dann natürlich auch weniger) Lieferung konnte nicht zugestellt werden. Hans-Jürgen Steffens Systemanalyse SS 04

16 Gesamt-Klassendiagramm Übersicht
Hans-Jürgen Steffens Systemanalyse SS 04

17

18 Bildung von Packages Zeitplanung und Mitarbeiter -erfassung Kunden
Bestellung und Lieferung Speisekarte Ist abhängig von Hans-Jürgen Steffens Systemanalyse SS 04

19 Detaildiagramm für Package Kunden
Klasse aus anderem Package Ort PLZ Ortsname 1 Bestellung und Lieferung:: Bestellung Nr 1..* Datum Uhrzeit Straße Bemerkung Entfernungsbereich Straßenname UhrzeitFertigmeldung adresseAuswählen() Fahrtdauer berechneSumme() adresse() * 1 aufnehmen() fahrtdauer() kundeZuordnen() speisenZuordnen() dauerErmitteln() 1 auftragfürKüchedrucken() * fertigMelden() rechnungDrucken() Kunde tourAnlegen() Kundennr bestehendeTourZuordnen() Name status() Vorname überInternetAufgeben() * 1 Hausnr internetBestellungGenehmigen() Telefonnr statusAbfrageInternet() stornieren() auswählen() stornoMeldungDrucken() anlegen() ändern() adresseZuordnen() adresse() fahrtdauer() überInternetEingabeAuswählen() Hans-Jürgen Steffens Systemanalyse SS 04

20 Zusammenfassung Das Klassendiagramm aus der vorangehenden Vorlesung wurde mit Hilfe der weiteren Use Case-Beschreibungen vervollständigt Für die Erstellung von Auswertungen ist zu untersuchen, ob die gewünschten Auswertungen mit Hilfe der modellierten Lösung möglich sind, bzw. ob sie ergänzt werden muss Bestellungen über das Internet laufen fachlich genauso wie die direkt am System, gewisse Funktionalitäten, z. B. Auswahl der Kundendaten müssen im Detail geändert werden Für Stornierungen und Änderungen von Aufträgen ist deren Bearbeitungsstatus von Bedeutung, der allerdings erst einmal erfasst sein muss Es wurde gezeigt, wie sich ein umfangreiches Modell mit Hilfe von Packages übersichtlicher strukturieren lässt Hans-Jürgen Steffens Systemanalyse SS 04

21 Übungsfragen Versuchen Sie, die gezeigten Erweiterungen des Klassendiagramms selbst nachzuvollziehen Erläutern Sie mit Hilfe des Klassendiagramms, wie eine Bestellung abläuft Welche Operations sind beteiligt, was tun diese jeweils, welche Attributwerte werden genutzt / verändert? Überlegen Sie sich für die zur Änderungs-/Stornierungsthematik vorgeschlagene Lösung b (Küche erhält Aufträge elektronisch) die notwendige Erweiterung für das Klassendiagramm Welche neue nichtfunktionale Anforderung an das System resultiert aus diesem Lösungsvorschlag? Hans-Jürgen Steffens Systemanalyse SS 04


Herunterladen ppt "9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel"

Ähnliche Präsentationen


Google-Anzeigen