Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.3 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Verhaltensmodellierung.

Ähnliche Präsentationen


Präsentation zum Thema: "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.3 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Verhaltensmodellierung."—  Präsentation transkript:

1 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Verhaltensmodellierung

2 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 2 Objektorientierte Analyse (OOA) Verhaltensmodellierung

3 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 3 Objektorientierte Analyse (OOA) Verhaltensmodellierung

4 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 4 Objektorientierte Analyse (OOA) Bedeutung der Zustandsautomaten Anwendung im Projekt Use Cases, deren Ablauf im wesentlichen durch Ereignisse gesteuert werden, können statt mit einem Aktivitätsdiagramm besser mit einem Zustandsautomaten beschrieben werden Parallele Zustandsautomaten kommen dann zum Einsatz, wenn mehrere Objekte in einem Diagramm spezifiziert werden sollen (z.B. Prüfen einer Bestellung und Prüfen einer Zahlung) Oberzustände sind dann sinnvoll, wenn für mehrere Zustände zum gleichen Zeitpunkt ein Übergang zu einem neuen Zustand möglich ist (z.B. Hinzufügen des Zustands Abgewiesen) Zu beachten Zwischen Bedingungen (Wächter) und Ereignissen unterscheiden: Ereignisse kommen von außen (entsprechen im Aktivitätsdiagramm einer anderen Swimlane), während Bedingungen selbst abgefragt werden Bevor man ein neues Objekt definiert, ist zu überlegen, ob es sich bei der betrachteten Information eventuell um einen neuen Zustand eines schon vorhandenen Objekts handelt.

5 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 5 Zustandsdiagramm (STD = state transition diagram) als endlicher Automat: Alle Ausgangsgrößen lassen sich durch die derzeitigen und vergangenen Eingangsgrößen herleiten; der somit erforderliche Speicher definiert die Zustände des Automaten. Objektorientierte Analyse (OOA) Zustandsautomat allgemein Zustandsdiagramm enthält vier Basis-Komponenten: Zustand, repräsentiert durch ein Rechteck (mit abgerundeten Ecken), das den Namen des Zustands enthält; der Anfangszustand eines STD's ist extra gekennzeichnet. Zustandsübergang, repräsentiert durch einen Pfeil, dessen Spitze die Richtung des Übergangs zeigt. Ereignis, das den Zustandsübergang auslöst Aktion, die beim Zustandsübergang ausgeführt wird Folgendes ist möglich: Ein Zustandsübergang führt wieder zu sich selbst, wenn beim Auftreten des Ereignisses eine Aktion ausgeführt wird, aber kein Zustandswechsel stattfinden soll. Ein Zustand wird beim Auftreten des Ereignisses gewechselt, ohne dass eine Aktion ausgeführt wird. Syntax: Ereignis / Aktion oder Ereignis Aktion

6 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 6 Mit Hilfe des Zustandsdiagramms visualisiert man die verschiedenen Zustände eines Objekts, die es im Laufe seines Lebens einnehmen kann, und die Funktionen, die zu Zustandsänderungen des Objektes führen. Ein Zustandsdiagramm besteht aus Zuständen (einer davon dient als Anfangszustand) und Zustandsübergängen (Transitionen), die durch ein Ereignis (auch Trigger genannt) - gegebenenfalls mit einer (Wächter-) Bedingung (engl. Guards) kombiniert - ausgelöst werden und selber Aktionen auslösen können: Ereignis [Bedingung] / Aktion. Objektorientierte Analyse (OOA) Zustandsautomat Zustand3 entry / Aktivität5 exit / Aktivität6 Zustand0 Zustand2 Ereignis1 / Aktion1 Ereignis3 [Bedingung] Ereignis2 / Aktion4 Ereignis4 Implizites Ereignis Anfangs- zustand Endzustand (optional) Transition Zustand1 entry / Aktivität2 do / Aktivität3

7 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 7 Beschreibung von Zuständen: Zustände werden durch Zustandsvariable und (Zustands- )Aktivitäten beschrieben – Zustandsvariable (Attribute der Klasse) haben das Format: variable : klasse = initialwert {merkmal} {zusicherung} – Zustandsaktivitäten (interne Aktivitäten) können sein: Entry-Aktivität: nichtunterbrechbare Aktivität beim Eintreten in den Zustand Exit-Aktivität: nichtunterbrechbare Aktivität beim Verlassen des Zustands Do-Aktivität: unterbrechbare Aktivität mit und ohne definiertem Ende; das Beenden einer do-Aktivität kann zu einem Zustandswechsel führen, so dass bei der Transition ein Ereignis nicht explizit angegeben werden muss (implizites Ereignis). Verzögerte Ereignisse defer gibt an, dass ein Ereignis nicht im aktuellen Zustand verarbeitet werden kann, jedoch im nachfolgenden Zustand eine Rolle spielen könnte. Objektorientierte Analyse (OOA) Zustandsautomat

8 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 8 Zusammengesetzter Zustand: Setzt sich aus Zuständen, Pseudozuständen und Transitionen zusammen, steht stellvertretend für einen vollständigen Zustandsautomaten und kann Ein- und Austrittspunkte besitzen Objektorientierte Analyse (OOA) Zustandsautomat

9 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 9 Zustände können in verschiedene sequentielle oder parallele Unterzustände aufgeteilt werden, wenn es nötig ist, Ereignisse innerhalb eines Zustandes eines Objektes näher zu untersuchen (Die Notation von Unterzuständen ist gleich denen von Zuständen): Objektorientierte Analyse (OOA) Zustandsautomat

10 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 10 Beschreibung von Zustandsübergängen: Es existieren verschiedene Formen von Ereignissen: – Empfangsereignis (signal/call event): Empfang von (Aufruf)Nachrichten (Operationsrufe) als asynchrone/synchrone Signale, zumeist mit Übername von Parametern – Zeitereignis (time event) definiert mittels eines relativen (after) oder absoluten (when) Zeitpunkts, zu dem die Transaktion ausgelöst werden soll – Zustandsereignis (change event) als Änderung von beobachteten Datenwerten (logischer Ausdruck, z.B. [number < 10]), im englischen guard (Wächter). Aktionen beinhalten in der Regel das Senden von Nachrichten (Ausgangsereignisse) an andere Klassen Eine Transition feuert nur dann, wenn das zugehörende Ereignis eintritt UND die im Wächter spezifizierte Bedingung erfüllt ist (in den Zustand TRUE wechselt) Bei einem impliziten Ereignis wird die Transition ausgeführt, wenn die dem Zustand verbundene Verarbeitung beendet ist (i.d.R. eine do-Aktivität). Objektorientierte Analyse (OOA) Zustandsautomat

11 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 11 Beispiele von Zustandsübergängen: Objektorientierte Analyse (OOA) Zustandsautomat

12 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 12 Pseudozustände: Objektorientierte Analyse (OOA) Zustandsautoma t

13 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 13 Pseudozustände: Objektorientierte Analyse (OOA) Zustandsautomat

14 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 14 Beispiele für Pseudo- zustände: Objektorientierte Analyse (OOA) Zustandsautomat

15 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 15 Beispiel: Trigger (Ereignis) und Guard (Wächterbedingung) können gemeinsam oder alleine stehen Kreuzungspunkte ermöglichen das Hintereinanderschalten verschiedener Transitionen ohne verbindende Zustände Interne Aktivitäten können durch Bedingungen erweitert werden Interne Aktivitäten werden häufig als Zustandsverhalten bezeichnet Objektorientierte Analyse (OOA) Zustandsautomat

16 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 16 Aktivitäten und Ereignisse sind nicht streng unterschieden. An den Transitionen fehlen Ereignisse (ggfs. mit Wächtern) Objektorientierte Analyse (OOA) Zustandsautomat Nebenstehendes Zustandsdiagramm hat Fehler. Übung: Korrigieren sie bitte.

17 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 17 Objektorientierte Analyse (OOA) Zustandsautomat Übung: Zustandsautomat für eine Digitale Armbanduhr Eine einfache digitale Armbanduhr hat eine Anzeige und zwei Knöpfe, um die Uhr zu stellen (Knopf A und Knopf B). Die Uhr hat zwei Betriebsarten: Zeit anzeigen und Zeit einstellen. Im Modus Zeit anzeigen werden die Stunden und Minuten angezeigt. Sie sind durch einen blinkenden Doppelpunkt voneinander getrennt. Im Modus Zeit einstellen gibt es die Untermodi Stunden einstellen und Minuten einstellen. Mit Knopf A werden die Modi gewählt. Mit jedem Drücken des Knopfes wird der nächste Modus eingeschaltet. Dabei gilt die Reihenfolge: anzeigen, Stunden einstellen, Minuten einstellen, anzeigen, usw. In den Untermodi werden durch Drücken von Knopf B die Stunden oder Minuten jeweils um eine Einheit vorgestellt. Die Knöpfe müssen losgelassen werden, bevor sie ein anderes Ereignis veranlassen können. Zeichnen Sie ein Zustandsdiagramm der Uhr, indem Sie die drei Zustände Zeit anzeigen, Stunden einstellen und Minuten einstellen verwenden.

18 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 18 Übung: Der Automat soll gestartet werden und anschließend, nach dem Betreten von Links.Zustand1, schrittweise die Eingabesequenz A,B,C,B,A,X,Y,Z,Y,X,P,Q verarbeiten. Vollziehen Sie die Ausführung des Automaten nach und notieren Sie die Ausgaben, die während der Ausführung produziert werden, in der korrekten Reihenfolge. Tipp: Die Bedingung in prüft, ob der Zustand aktiv ist. Objektorientierte Analyse (OOA) Zustandsautomat

19 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 19 Objektorientierte Analyse (OOA) Zustandsautomat Unterschied zwischen einem geschachtelten und einen flachen Zustandsautomaten:

20 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 20 Objektorientierte Analyse (OOA) Zustandsautomat Übung:

21 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 21 Objektorientierte Analyse (OOA) Zustandsautomat Übung für den Zusammenhang zwischen Zustands- und Klassendiagramm : Kennzeichnen Sie die Transitionen mit den möglichen Ereignissen, die den Methoden aus der Klasse entsprechen.

22 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 22 Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übungsaufgabe Seite 16

23 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 23 Lösung der Übung Digitale Armbanduhr Seite 17 Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen

24 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 24 Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übung Pizzeria Seite 18: 00:00:00 Margerita 00:00:00 Roma 00:00:00 Hawaii 00:00:03 Tonno 00:00:07 Funghi 00:00:09 Hawaii 00:00:12 Tonno 00:00:15 Salami 00:00:15 Diavolo 00:00:21 Speciale 00:00:23 Calzone 00:00:26 FruttiDiMare 00:00:26 Margerita 00:00:26 Roma

25 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 25 Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übung flaches Diagramm Seite 20: Ein Oberzustand wird verlassen, wenn in jeder Region ein Endzustand erreicht ist oder wenn eine Transition direkt nach außen führt.

26 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Okt 2010 Seite 26 Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übung auf Seite 21:


Herunterladen ppt "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.3 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Verhaltensmodellierung."

Ähnliche Präsentationen


Google-Anzeigen