Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Hans-Jürgen Steffens Systemanalyse SS 041 11. Vorlesung: Dynamische Konzepte am Fallbeispiel Sequence Diagram für Bestellung Aufnehmen Variante: Kunde.

Ähnliche Präsentationen


Präsentation zum Thema: "Hans-Jürgen Steffens Systemanalyse SS 041 11. Vorlesung: Dynamische Konzepte am Fallbeispiel Sequence Diagram für Bestellung Aufnehmen Variante: Kunde."—  Präsentation transkript:

1 Hans-Jürgen Steffens Systemanalyse SS Vorlesung: Dynamische Konzepte am Fallbeispiel Sequence Diagram für Bestellung Aufnehmen Variante: Kunde muss erst angelegt werden Collaboration Diagram für Bestellung Aufnehmen Zustandsdiagramm für die Klasse Speise Zustandsdiagramm für die Klasse Bestellung

2 Hans-Jürgen Steffens Systemanalyse SS 042 Sequence Diagram für Bestellung aufnehmen Grundlage für die Entwicklung des Sequence Diagrams ist das Klassendiagramm mit den Operations Reihenfolge und Logik des Botschaftenaustauschs lässt sich z.T. aus den Use Cases ableiten Für jede Operation muss bei ihrer Modellierung klar sein, wie deren grundlegender Ablauf ist Für komplexere, nicht aus sich selbst heraus verständliche Operationen sollten daher kurze Beschreibungen erstellt werden Sequence und Collaboration Diagramme können und sollten bereits während der Entwicklung der Klassendiagramme erstellt werden –Dokumentation der geplanten Abläufe –Verifizierung und ggf. Überarbeitung des Klassendiagramms: Kann das so funktionieren? Wurde nichts vergessen?

3 Hans-Jürgen Steffens Systemanalyse SS 043 Gesamtpreis s Sequence Diagram Bestellung aufnehmen (1) : Bestellung aufnehmen() Kunde auswählen() k : Bestellposition anlegen() Speise speise Zuordnen () * auswählen () berechne Summe () *errechneGesamtpreis () Summe Kunde Zuordnen() speisen Zuordnen() Fortsetzung nächste Folie

4 Hans-Jürgen Steffens Systemanalyse SS 044 : Entfernungs- bereich Sequence Diagram Bestellung aufnehmen (2) : Tour new () fahrtdauer () k : Kunde : Straße fahrtdauer ( ) fahrtdauer : Bestellung : Bestellposition positionFürKücheDrucken() get(MussGekochtWerden) MussGekochtWerden * tourAnlegen() dauerErmitteln() auftragFürKücheDrucken Fortsetzung von vorheriger Folie s : Speise get (fahrtdauer) fahrtdauer

5 Hans-Jürgen Steffens Systemanalyse SS 045 Variante: Kunde muss erst angelegt werden : Bestellung aufnehmen ( ) anlegen( ) kundeZuordnen ( ) : Kunde :Straße adresseZuordnen ( ) adresseAuswählen ( ) Anschließend weiter wie in Folie 2 mit Operation Speisen zuordnen

6 Hans-Jürgen Steffens Systemanalyse SS 046 Collaboration Diagram In der Regel entwickelt man entweder ein Sequence oder ein Collaboration Diagram – je nachdem welche Aspekte im Vordergrund stehen Die Vorgehensweise ist die gleiche wie beim Sequence Diagram Sequence Diagramme lassen sich direkt in Collaboration Diagramme umsetzen. Assoziationen zwischen Objekten aus Klassendiagramm Zeitliche Reihenfolge mit Hilfe der Nummerierung der Botschaften ausgedrückt Anmerkung: Im folgenden Beispiel wurden aus Gründen der Übersichtlichkeit der Versand von Botschaften eines Objekts an sich selbst weg gelassen

7 Hans-Jürgen Steffens Systemanalyse SS 047 Collaboration Diagram für Bestellung aufnehmen :Bestellung :Tour :Bestellposition k:Kunde Kunde :Straße Speise s:Speise 0: aufnehmen ( ) 1: k := auswählen ( ) 2: * anlegen ( ) 2.1: s:=auswählen ( ) 3: * errechneGesamtpreis ( ) 6: * positionFürKücheDrucken ( ) 4: new ( ) 5.1: fahrtdauer ( ) 5: fahrtdauer ( ) 6.1: get (MussGekochtWerden ) :Entfernungs- bereich 5.1.1: get (fahrtdauer )

8 Hans-Jürgen Steffens Systemanalyse SS 048 Ermittlung des Zustandsdiagramms Betrachtung des Lebenszyklus eines Objekts Welche Zustände lassen sich unterscheiden? Berücksichtigung der Operationen, die ein Objekt verändern: –Anlegen –Änderung von Attributwerten und Assoziationen –Löschen

9 Hans-Jürgen Steffens Systemanalyse SS 049 Zustände von Objekten der Klasse Speise Objekte der Klasse Speise können die zwei Zustände verfügbar und ausgegangen einnehmen Ändern sich in der Regel nicht, beschreiben keine Zustände Ändern das Objekt nicht Statusänderung (verfügbar oder nicht verfügbar), setzt den Wert für das Attribut ausgegangen Boolesche Variable False : Speise ist verfügbar True: Speise ist ausgegangen

10 Hans-Jürgen Steffens Systemanalyse SS 0410 Zustandsdiagramm für Klasse Speise new ( ) delete ( ) ausgegangenMelden ( ) verfügbarMelden ( )

11 Hans-Jürgen Steffens Systemanalyse SS 0411 Zustandsdiagramm der Klasse Bestellung Klasse Bestellung enthält bereits eine Operation, die den Status ermittelt Der Status hängt hier nicht alleine von Attributwerten der Bestellung selbst ab, sondern auch von den Attributwerten der zugehörigen Tour Diese Attributwerte (z. B. Werte des Attributs abgerechnet) gelten für alle Bestellungen einer Tour Beispiel: Eine Bestellung befindet sich in Auslieferung, wenn bei der zugehörigen Tour eine Abfahrtszeit eingetragen ist, aber noch keine Rückkunft-Zeit Der Status wird nicht nur durch die Operation der Bestellungen geändert, sondern auch durch die Operationen anderer Klassen Tour Fahrer Es wurde entschieden, dass Stornierungen nur möglich sind, wenn die Bestellung noch nicht fertig gemeldet ist Übergang zum Zustand gelöscht daher nur vom Zustand aufgenommen aus möglich Wichtig für die Implementierung der Operation stornieren: Es ist eine Überprüfung erforderlich, ob Stornierung noch zulässig ist.

12 Hans-Jürgen Steffens Systemanalyse SS 0412 Zustandsdiagramm für Klasse Bestellung aufnehmen ( ) fertigMelden ( ) stornieren ( ) inAuslieferungMelden ( ) rückkunftMelden ( ) tageseinnahmenAbrechnen ( ) Bestellung aufgenommen, Attribut UhrzeitFertigmeldung ist noch leer abgerechnet gelöscht Attribut UhrzeitFertigmeldung hat einen Wert, Attribut UhrzeitAbfahrt der zugehörigen Tour hat noch keinen Wert Attribut UhrzeitAbfahrt der zugehörigen Tour hat einen Wert, Attribut UhrzeitRückkunft der hat noch keinen Wert Operation der Klasse Tour Attribut UhrzeitRückkunft der Tour hat einen Wert, Attribut abgerechnet ist False Operation der Klasse Fahrer Attribut abgerechnet der Tour ist True

13 Hans-Jürgen Steffens Systemanalyse SS 0413 Zusammenfassung Grundlage für die Entwicklung von Sequence und Collaboration Diagrammen ist das Klassendiagramm mit den Operationen, der Ablauf lässt sich u. a. mit Hilfe der Use Case Diagramme ermitteln Für etwas komplexere Varianten können mehrere Diagramme erstellt werden Für die Identifikation von Zuständen und Transitionen werden für den Lebenszyklus eines Objekts relevante Attributwerte betrachtet sowie Operationen, die Attributwerte verändern Zustände können auch von anderen, verbundenen Objekten abhängen

14 Hans-Jürgen Steffens Systemanalyse SS 0414 Übungsfragen Versuchen Sie, Sequence und Collaboration Diagram für die Klasse Bestellung noch einmal selbstständig herzuleiten und vergleichen Sie diese mit der Lösung aus der Vorlesung Versuchen Sie, das Zustandsdiagramm für die Klasse Bestellung noch einmal selbstständig herzuleiten und vergleichen Sie diese mit der Lösung aus der Vorlesung Entwickeln Sie das Sequence und das Collaboration Diagram für die Fertigmeldung einer Bestellung Incl. Ausdruck der Rechnung (vgl. den entsprechenden Use Case und seine Umsetzung in das Klassendiagramm in der entsprechenden Vorlesung) Entwickeln Sie das Zustandsdiagramm für die Klasse Tour


Herunterladen ppt "Hans-Jürgen Steffens Systemanalyse SS 041 11. Vorlesung: Dynamische Konzepte am Fallbeispiel Sequence Diagram für Bestellung Aufnehmen Variante: Kunde."

Ähnliche Präsentationen


Google-Anzeigen