1 / 15

Objektorientierte Konzepte

Objektorientierte Konzepte. Dynamische Konzepte: Zustandsautomat UML-Diagramme: Zustandsdiagramm Aktivitätsdiagramm. Zustandsautomat. Zustandsautomat= Zustände+ Übergänge (Transitionen) Zustand: Zeitspanne, in der ein Objekt auf ein Ereignis wartet (andauernde Aktivität)

marcellus
Download Presentation

Objektorientierte Konzepte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektorientierte Konzepte Dynamische Konzepte: Zustandsautomat UML-Diagramme: Zustandsdiagramm Aktivitätsdiagramm

  2. Zustandsautomat • Zustandsautomat= Zustände+ Übergänge (Transitionen) • Zustand: Zeitspanne, in der ein Objekt auf ein Ereignis wartet (andauernde Aktivität) • Ereignis: tritt zu einem bestimmten Zeitpunkt auf und hat (konzeptionell) keine Dauer; kann Aktion innerhalb eines Zustands auslösen (durch Operationen realisiert) • Transition: Durch ein Ereignis ausgelöster Zustandswechsel (Aktion) • Ein Objekt kann sukzessive mehrere Zustände durchlaufen • Momentaner Zustand und eintretendes Ereignis konstituieren den Folgezustand

  3. Zustandsdiagramm • Engl.: state chart diagram, UML 2.0: state machine diagram • Beschreibt die Zustandsfolgen eines Objekts einer Klasse in seinem gesamten Lebenszyklus oder während der Ausführung einer Operation • Modellierung des Intraobjektverhaltens (Interaktionsdiagramme: Interobjektverhalten)

  4. Basisnotation • Zustand= Rechteck mit abgerundeten Ecken • Zweiteilung möglich: Name (optional: anonymer Z.) + Aktivität (do/ Aktivität) oder Aktion (entry-,exit-Aktion) • Transition: Pfeil, beschriftet mit Ereignis; Ereignisarten: Signal (Ereignisname: left button down), Nachricht (Operationsaufruf: bearbeite()), Bedingung (wenn x<10), Zeitpunkt ( after(6 seconds), when(datum=10.11.04)) • Guard condition: Bedingung die nach Eintritt des Ereignisses überprüft wird • Anfangszustand: ausgefüllter Kreis, Endzustand: „Bullauge“ (auch optional) • Implizites Ereignis: tritt ein, wenn Verarbeitung beendet ist

  5. Beispiel 1: Lebenszyklus eines Buchs

  6. Beispiel 2: Kassenautomat: Parkgebühren zahlen

  7. Übung 1 Gastgeber öffneKeller() schließeKeller() holeGetränke() öffneKühlschrank() schließeKühlschrank() Ziel: Zustandsdiagramm erstellen Modellieren Sie einen zyklischen Zustandsautomaten. Folgende Situation: Es wird ein Einweihungsfest gegeben. Da es Hochsommer ist und die Gäste sehr durstig sind, muß häufig für Getränkenachschub aus dem Keller gesorgt werden. Der Gastgeber befindet sich zunächst in einem Zustand „mit Gast kommunizieren“. Der Forderung eines Gastes nach Getränkenachschub gibt der Gastgeber dann nach, wenn der Kühlschrank tatsächlich leer ist. Er kümmert sich dann um den Nachschub, der sich im Keller befindet. Nachdem er die neuen Getränke geholt und den Keller wieder abgeschlossen hat, macht er sich ans Auffüllen des Kühlschranks. Indem er seinem durstigen Gast ein neues Getränk überreicht, tritt wieder sein anfänglicher kommunizierender Zustand ein. Die gelungene Aktion wird durch ein Prosit abgeschlossen (bedenken Sie, dass es viele Gelegenheiten für ein Prosit gibt…). Im Zustandsdiagramm sollen die nebenstehenden Operationen eingebunden sein. ladeKühlschrank() zuprosten()

  8. Beispiel: Unterzustände

  9. Übung 2 Ziel: Zustandsdiagramm erstellen Anhand der folgenden Problembeschreibung ist ein Zustandsdiagramm zu erstellen, um das Abheben von Geld an einem - vereinfachten - Geldautomaten zu beschreiben. Zu Beginn ist der Automat im Zustand »bereit«. Wird eine Karte eingegeben, so wird die Karte eingezogen. Falsche Karten werden sofort ausgeworfen und der Geldautomat ist wieder bereit. Ist die Karte korrekt, dann wartet der Automat auf die Eingabe der Geheimzahl. Wird eine falsche Geheimzahl eingegeben, dann bricht der Automat die Verarbeitung ab (d.h. Auswerfen der Karte) und ist wieder bereit. Bei korrekter Geheimzahl wartet der Automat auf die Eingabe des Betrags. Ist der gewünschte Betrag zu hoch, kann er erneut eingegeben werden. Weist das Konto die notwendige Deckung auf, dann wird die Karte aktualisiert ausgegeben und anschließend der Kundenauftrag bearbeitet. Anschließend ist der Automat bereit für den nächsten Kunden. Solange der Automat den Auftrag noch nicht bearbeitet, kann jederzeit die Rückgabetaste gedrückt werden. Der Automat wirft die Karte aus und ist wieder bereit.

  10. Aktivitätsdiagramm • Einsatz: Beschreibung eines Ablaufs - Anwendungsfall - Workflow - Operation

  11. Notation Bereich A Bereich B • Kreis (ausgefüllt/ bullaugig): Start/Ende • Rechteck mit abgerundeten Ecken: Aktivität • Pfeil: Übergang • Raute: Entscheidung • Balken: Teilung (Splitting) und Synchronisation • Partition, „swimlane“: Verantwortlichkeitsbereiche; alternative Notation: (Partition) • Gabel: Unteraktionsdiagramm swimlane

  12. Beispiel 3: Auftrag bearbeiten

  13. Beispiel 4: Kaffee vom Automaten ziehen Automat Kafeetrinker

  14. Übung 3 Ziel: Aktivitätsdiagramm erstellen Wir schauen nochmal beim Einweihungsfest vorbei. Stellen Sie nun den Ablauf des Falles „Durst stillen“ durch ein Aktivitätsdiagramm dar. Beachten Sie dabei jetzt folgende Rahmenvoraussetzungen: Der Gast kann sich selbst bedienen, indem er aus dem Kühlschrank ein Bier holt. Er kann wahlweise den Gastgeber auch bitten, einen Tee zuzubereiten. Falls kein Bier mehr im Kühlschrank ist, holt der Gastgeber Bier aus dem Keller. Beachten Sie auch den Fall, dass es gar nichts mehr gibt und der Gast durstig bleibt. Versuchen Sie möglichst viele verschiedene Basisnotationselemente in das Diagramm einzubringen.

  15. Weitere Übungen Übung 4: Ziel: Zustandsdiagramm erstellen Versuchen Sie einen Kaffeeautomaten als Zustandsdiagramm zu modellieren. Übung 5: Ziel: Aktivitätsdiagramm erstellen Erweitern Sie den Lebenszyklus eines Buchs aus Beispiel 1, indem Sie die Akteure Entleiher und Bibliotheksangestellte mit einbeziehen. Entwickeln Sie daraus ein Aktivitätsdiagramm „Buch am Schalter entleihen“.

More Related