Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

11. Vorlesung: Dynamische Konzepte am Fallbeispiel

Ähnliche Präsentationen


Präsentation zum Thema: "11. Vorlesung: Dynamische Konzepte am Fallbeispiel"—  Präsentation transkript:

1 11. 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 Hans-Jürgen Steffens Systemanalyse SS 04

2 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? Hans-Jürgen Steffens Systemanalyse SS 04

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

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

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

6 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 Hans-Jürgen Steffens Systemanalyse SS 04

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

8 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 Hans-Jürgen Steffens Systemanalyse SS 04

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

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

11 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. Hans-Jürgen Steffens Systemanalyse SS 04

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

13 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 Hans-Jürgen Steffens Systemanalyse SS 04

14 Ü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 Hans-Jürgen Steffens Systemanalyse SS 04


Herunterladen ppt "11. Vorlesung: Dynamische Konzepte am Fallbeispiel"

Ähnliche Präsentationen


Google-Anzeigen