Objektorientierte Analyse (OOA) Verhaltensmodellierung

Slides:



Advertisements
Ähnliche Präsentationen
Modellbasierte Software-Entwicklung eingebetteter Systeme
Advertisements

7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Kapitel 7 State-Machines/Zustandsautomaten
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Objektorientierter Entwurf
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Seminar Rechtsinformatik
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Verhaltensmodellierung mit UML2 Übersicht
Objektorientierte Analyse (OOA) Übersicht
Objektorientierter Entwurf (OOD) Übersicht
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
DHBW Stuttgart, Informationstechnik, SW-Engineering, Bedienung des Innovators Sep 2012 / rie Seite 1 Innovator 11 (lokales Repository auf H:\..) INNOVATOR.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Lösungen
Die Beschreibung der Insula Ostia in XML
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
Objektorientierte Konzepte
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Grundkurs Theoretische Informatik, Folie 3.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 3 Gottfried Vossen Kurt-Ulrich Witt.
Die Lineare Funktion Eine besondere Gerade.
Fakten, Regeln und Anfragen
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Christian Schindelhauer
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Heute: Scherenzange zeichnen
Kurzüberblick über ereignisgesteuerte Prozessketten (EPK)
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Delphi II - OOP IFB Fortbildung
Input / Wahrnehmung Control / Bewusstsein Output / Motorik Information.
Sequenzdiagramme (1) Festlegen des Inter-Objekt-Verhaltens (Interaktionsstruktur, Verantwortlichkeiten) Sequenzdiagramm ist temporal orientiert zeigt.
Software Engineering 1 6. Übung
Sequenzdiagramm Von Michael Möhring.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
UML-Kurzüberblick Peter Brusten.
UML Modellierung des Verhaltens von Klassen und Objekten
Das Kausalnetz als Kern eines DSS
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Zustandsübergangsdiagramme (1)
Objectives Verstehen was unterDelegate verstanden wird
Technische Informatik II
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
DD, DTD, DFD SWT-Übung WS 10/11. 2 DD, Syntax SWT-Übung , Gregor Buchholz Data Dictionary, Syntax - = (besteht aus) / ist äquivalent.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
Stoppen der Eingabeaufforderung einer Abfrage j drücken Sie dann F5, oder klicken Sie auf Bildschirmpräsentation > Von Beginn an, um den Kurs zu starten.
Unified Modeling Language UML
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Tupelkalkül: Notation (1)
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Customizing Tools: Alarme
Excel-Tool: Beschwerdeanalyse  Folie 1 von Bitte Makros aktivieren Das Excel-Tool funktioniert nur mit eingeschalteten Makros. Eventuell erhalten.
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
UML – Unified Modeling Language
Einführung DI Harald Sander.
4. Modellieren und Diagrammarten
 Präsentation transkript:

Objektorientierte Analyse (OOA) Verhaltensmodellierung

Objektorientierte Analyse (OOA) Verhaltensmodellierung

Objektorientierte Analyse (OOA) Verhaltensmodellierung

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.

Objektorientierte Analyse (OOA) Zustandsautomat allgemein 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. 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 Syntax: Ereignis / Aktion oder Ereignis Aktion 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.

Objektorientierte Analyse (OOA) Zustandsautomat 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. Anfangs-zustand Zustand1 entry / Aktivität2 do / Aktivität3 Ereignis1 / Aktion1 Zustand0 Implizites Ereignis Endzustand (optional) Transition Zustand3 entry / Aktivität5 exit / Aktivität6 Ereignis3 [Bedingung] Ereignis4 Zustand2 Ereignis2 / Aktion4

Objektorientierte Analyse (OOA) Zustandsautomat 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 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 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 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 Beispiele von Zustandsübergängen:

Objektorientierte Analyse (OOA) Zustandsautomat Pseudozustände:

Objektorientierte Analyse (OOA) Zustandsautomat Pseudozustände:

Objektorientierte Analyse (OOA) Zustandsautomat Beispiele für Pseudo- zustände:

Objektorientierte Analyse (OOA) Zustandsautomat 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 Nebenstehendes Zustandsdiagramm hat Fehler. Aktivitäten und Ereignisse sind nicht streng unterschieden. An den Transitionen fehlen Ereignisse (ggfs. mit Wächtern) Übung: Korrigieren sie bitte.

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.

Objektorientierte Analyse (OOA) Zustandsautomat Ü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 <name> prüft, ob der Zustand <name> aktiv ist.

Objektorientierte Analyse (OOA) Zustandsautomat Unterschied zwischen einem geschachtelten und einen flachen Zustandsautomaten:

Objektorientierte Analyse (OOA) Zustandsautomat Übung:

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.

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übungsaufgabe Seite 16

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übung Digitale Armbanduhr Seite 17

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

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.

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Lösung der Übung auf Seite 21: