11. Vorlesung: Dynamische Konzepte am Fallbeispiel

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Franziska Schmidt Sarah Ahlheit
Anwendungsfalldiagramm
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Sequenzdiagramm.
CPU, Programmausführung
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Gliederung Motivation / Grundlagen Sortierverfahren
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Abhängigkeitsbeziehung
Polymorphie (Vielgestaltigkeit)
Lösungen
Objektorientierte Konzepte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
HERA und Changemanagement Scenario. HERA und Changemanagement2 Ausgangssituation Bob erstellt während der Anforderungserhebung mit HERA ein Use Case Projekt.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Datenmodellierung - Aufbau einer Datenbank -
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Dieter Bergmann, Lichtenfels
Buch S70ff (Informatik I, Oldenbourg-Verlag)
Verdienstmedaillen Wenn Sie diese Präsentation im Internet-Explorer ablaufen lassen wollen, so klicken Sie bitte auf das Leinwandsymbol unten rechts. Mit.
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
Softwareprojekt Shopverwaltung
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
2. Vorlesung Ansätze der Systemanalyse: Strukturierte Analyse (SA)
7. Vorlesung Vererbung Einfach- und Mehrfachvererbung Polymorphismus
4. Vorlesung: Use Case Diagramme Fallbeispiel
9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel
8. Vorlesung: Klassendiagramm für Fallbeispiel
3. Vorlesung: UML Use Case Diagramme
6. Vorlesung: Statische Konzepte
12. Vorlesung: Aktivitätsdiagramme
5. Vorlesung: Grundkonzepte Objekt-Orientierung
10. Vorlesung: Dynamische Konzepte
Ingenieurbüro für Informationssysteme Konzepte und Marketing Himmelsweg 4-4a Tostedt Telefon (04182) Telefax (04182) D110 - IFI-Dienstplan.
Betriebsanleitung DQI-WaWi2.
Unified Modeling Language Repetition / Einführung zu UML
Infor:lösungen Allgemeine Funktionalitätsbeschreibung Lösungsnr.:RS0008_VendorQuoteHandling Titel:Lieferantenanfragebehandlung Lieferantenanfragebehandlung.
25. Januar 2007Klasse IT '041 Projekt Solar Server Schulprojekt der Klasse IT `04.
Tipps für den Seminarvortrag Johann(a) Musterfrau.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
UML Modellierung des Verhaltens von Klassen und Objekten
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Normalisierungsprozess
Zustandsübergangsdiagramme (1)
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Ressourcenlistenhistorie
Allgemeine Funktionalitätsbeschreibung
Allgemeine Funktionalitätsbeschreibung
Systemanalyse - Folien zur Vorlesung für AI/DM im Sommersemester
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
Abbildung UML-Schema  Rel. Schema (1)
Java-Kurs Übung Besprechung der Hausaufgabe
Einführung in die Programmierung mit Java
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Excel-Tool: Beschwerdeanalyse  Folie 1 von Bitte Makros aktivieren Das Excel-Tool funktioniert nur mit eingeschalteten Makros. Eventuell erhalten.
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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