Checklisten dynamisches Modell

Slides:



Advertisements
Ähnliche Präsentationen
System zur Erfassung und Abrechnung von Privat- und BG- Patienten
Advertisements

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
24. Methoden und Verfahren der objektorientierten Analyse Realisierung
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Vorlesung Softwaretechnik
OO Analyse Analyseprozess Erstellen eines Modells
Assoziationen Verbindungen zwischen Objekten einer Klasse
Methodik: Objektorientierte Analyse
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Analyse
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Objektorientierter Entwurf (OOD) Übersicht
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Lösungen
Objektorientierte Konzepte
Methodik: Objektorientierte Analyse
Objektorientierte Konzepte und Notation in UML
Objektorientierte Konzepte
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
Strukturgleichungsmodelle
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Buch S70ff (Informatik I, Oldenbourg-Verlag)
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
CRM Editor auf der Basis von Qt (Beispiel von Ubi erat Lupa)
Kurzüberblick über ereignisgesteuerte Prozessketten (EPK)
Softwareprojekt Shopverwaltung
Spezifikation von Anforderungen
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
8. Vorlesung: Klassendiagramm für Fallbeispiel
3. Vorlesung: UML Use Case Diagramme
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Das Call- Car- Center Projekt
Name: Vorbedingung: Nachbed. Erfolg: Nachbed. Misserfolg: Akteure: Ausl. Ereignis: Ablauf: Alternativen: Fahrt anfordern Fahrt stornieren Anfrage bearbeiten.
Nachtragsfall 1: Leistungsänderung
Dienstag, Markus Schoenen
Unified Modeling Language Repetition / Einführung zu UML
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 9: Abstraktion.
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Kapitel 16 Ökonometrische Modelle
UML-Kurzüberblick Peter Brusten.
Einstiegsübung „Leistungsnachweis durch Vortrag“
Unified Modeling Language
die Auftragsbearbeitung für den Kleinbetrieb
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
UML Modellierung des Verhaltens von Klassen und Objekten
Vom Geschäftsprozess zum Quellcode
verstehen planen bearbeiten
Zustandsübergangsdiagramme (1)
2. MKT – Die verbale Selbstinstruktion Mi
Klassen und Klassenstruktur
Unified Modeling Language UML
Technische Informatik II
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
X. Übungsblatt – Aufgabe X In Aufgabe 1a) wurde ein sog. 2:1-Multiplexer entworfen, den man vereinfacht mit nebenstehenden Blockschaltbild darstellen kann.
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.
Tutorium Software-Engineering SS14 Florian Manghofer.
Manuel Friedrich Schiller-Gymnasium Hof Geschäftsprozesse modellieren Ereignisgesteuerte Prozessketten (EPKs)
 Präsentation transkript:

Checklisten dynamisches Modell Checklisten für: Szenario Zustandsautomaten Operationen

Checkliste Szenario Szenario = verfeinerter GP jede Variante des GP ist ein Szenario helfen Operationen zu finden Darstellung: Interaktionsdiagramme Sequenzdiagramm/Kollaborationsdiagramm validieren das statische Modell primär --> Standardverhalten (fundamentale Funktionen) sekundär --> Variation zu Standardverhalten (Ausnahmeverhalten) positiv --> erfolgreiche Bearbeitung negativ --> erfolgloser Ausgang

Checkliste Szenario Dokumentation Name des Szenarios Bedingungen, die zu Szenario führen Ergebnis des Szenarios Beispiel: Versicherung -- bearbeite Schadensfall S1: bearbeite Schadensfall (Schaden bezahlen) S2: bearbeite Schadensfall (Police ungültig) S3: bearbeite Schadensfall (unvollständige Deckung) Wichtig: alle Bedingungen explizit angeben 1 Szenario --> 1 Interaktionsdiagramm

Checkliste Szenario Dokumentation Name bearbeite Schadensfall (Schaden bezahlen) Bedingungen: notwendige Daten vorhanden Police gültig Police deckt Schaden ab Ergebnis: Schadenersatzanspruch wird vollständig beglichen

Checkliste Szenario Dokumentation Name bearbeite Schadensfall (Police ungültig) Bedingungen: notwendige Daten vorhanden Police ungültig Ergebnis: Antragsteller erhält Schreiben

Checkliste Szenario Dokumentation Name bearbeite Schadensfall (unvollständige Deckung) Bedingungen: notwendige Daten vorhanden Police gültig Police deckt Schaden nur unvollständig ab erfolgreiches Verhandeln mit Antragsteller Ergebnis: Schaden wird gemäß Vergleich beglichen

Checkliste Szenario Welche Klassen sind beteiligt? Basis: Klassendiagramm, evt. erweitern Welche Aufgaben gibt es im GP? Aufgaben zerlegen, bis Operationen extrahiert sind Fragen: Was ist jetzt zu tun? Wer führt es aus?

Checkliste Szenario Beispiel: Frisör - Geschäftsprozess

Checkliste Szenario Beispiel: Frisör - Klassendiagramm

Checkliste Szenario Beispiel: Frisör - Sequenzdiagramm Name: bediene Kunden(incl. Zusatzverkäufe) Bedingungen: Kunde ist angemeldet Ergebnis: Kunde hat bezahlt

Checkliste Szenario Sequenzdiagramm: mehrere Transaktionen

Checkliste Szenario Sequenzdiagramm: mehrere Transaktionen Zentral --> fork diagram ein Steuerobjekt für alle weitere Operationen Dezentral --> stair diagram verteilte Steuerungslogik

Checkliste Szenario Sequenzdiagramm: Beispiel Bibliothek

Checkliste Szenario Ergebnis Sequenzdiagramm (Kollaborationsdiagramm) Konstruktive Schritte Jeder Geschäftsprozess ergibt mehrere Szenarios Standard/Alternativen, positiv/negativ, Dokumentation Wie läuft das Szenario ab? Beteiligte Klassen, Aufgaben in Operationen zerlegen, Operationenreihenfolge Zu welcher Klasse gehören die Operationen? Wie ist das Szenario strukturiert? Mehrere Transaktionen? Zentral/dezentral (fork/stair diagram) Analytische Schritte Ist das Sequenzdiagramm konsistent mit dem Klassendiagramm? Fehlerquelle Zu viele Details

Checkliste Zustandsautomat spezifiziert Lebenszyklus einer Klasse hilft Operationen und deren Abhängigkeiten zu finden nur bei nicht trivialen Lebenszyklen, also wenn * ein Objekt auf eine Botschaft je nach aktuellem Zustand unterschiedlich reagiert * Operation nur auf ein Objekt in bestimmten Zuständen anwendbar ist, sonst ignoriert wird

Checkliste Zustandsautomat trivialer Lebenszyklus

Checkliste Zustandsautomat nicht trivialer Lebenszyklus

Checkliste Zustandsautomat Zustände Anfangszustand Objekt direkt nach der Erzeugung Zwischenzustände Welches Ereignis führt zu einem Folgezustand? Endzustand nur bei linearen Automaten zyklische Automaten (Bsp: Tank, Geldautomat, ...) durchlaufen die Zustände iterativ --> kein Endzustand

Checkliste Zustandsautomat Ereignisse Externe Ereignisse vom Benutzer oder anderen Objekten Zeitliche Ereignisse Reaktion des Objektes bei abweichendem Verhalten (exeption handling)

Checkliste Zustandsautomat Ergebnis Zustandsdiagramme für nicht triviale Lebenszyklen Konstruktive Schritte Welche nicht triviale Lebenszyklen existieren? Welche Zustände kann ein Objekt annehmen? Gibt es Endzustände? Welche Ereignisse sind zu modellieren? Analytische Schritte Geeigneter Zustandsname? (kein Verb!) Ist jeder Zustand erreichbar? Gibt es für jede Operation einen Zustand für eine Objektreaktion? Konsistenz mit Klassendiagramm (Operationen)

Checkliste Operationen Ergebnis Klassendiagramm mit allen Operationen Konstruktive Schritte Operationen aus Szenarios und Zustandsautomaten in Klassendiagramm übertragen Vererbung von Operationen berücksichtigen so hoch wie möglich in der Hierarchie eintragen Nur bei Bedarf: Operationsbeschreibung Analytische Schritte Geeigneter Operationssname? (beginnt immer mit Verb) Balance zwischen Attributen und Operationen? Klassen sollen nur Attribute enthalten, die von den Operationen benötigt werden

Aufgaben Aufgabe 1: Ziel: Ein Szenario als Sequenzdiagramm beschreiben. Für folgende Beschreibung sind die Bedingungen und das Ergebnis zu identifizieren. Erstellen Sie dann ein Sequenzdiagramm. Eine Palette ist aus einem Lager in ein anderes umzulagern. Jedes Lager besteht aus mehreren Lagerplätzen. Prüfen Sie zuerst, ob die Palette eine Klimatisierung benötigt und prüfen Sie dann, ob im gewünschten Lager ein geeigneter Platz frei ist. Anschließend wird die Palette aus der Quelle entfernt und am Ziel eingefügt. Aufgabe 2: Ziel: Aus einem Geschäftsprozeß ein Klassendiagramm und Szenarios erstellen. Leiten Sie aus folgendem Geschäftsprozeß ein Klassendiagramm ab und spezifizieren Sie für folgende Szenarios Sequenzdiagramme: Existierendem Kunden wird der Kredit gewährt. Existierendem Kunden wird der Kredit nur mit einem Bürgen gewährt. Geschäftsprozeß: bearbeite Kreditantrag Ziel: Dem Kunden den gewünschten Kredit gewähren Kategorie: - Vorbedingung: - Nachbedingung Erfolg: Kunde erhält den Kredit Nachbedingung Fehlschlag: Kreditantrag wird abgelehnt Akteure: Kreditsachbearbeiter Auslösendes Ereignis: Kreditantrag liegt vor

Aufgaben Beschreibung: 1. prüfen, ob Kunde der Bank bekannt ist 2. prüfen, ob entsprechende Sicherheiten vorhanden sind 3. prüfen, ob Kunde feste Beschäftigung hat 4. Kreditwürdigkeit prüfen 5. Kredit gewähren Erweiterungen: 1a neuer Kunde Alternativen: 2a prüfen, ob ein Bürge vorhanden ist 5a niedrigeren Kredit gewähren Aufgabe 3: Ziel: Für eine Klasse den Zustandsautomaten (Lebenszyklus) erstellen. Spezifizieren Sie für die Klasse Mietwagen (s.u.) den Lebenszyklus. Die Wirkung der Operationen ist wie folgt definiert:  vermieten(): Ein neues Objekt von Mietvertrag erzeugen und entweder vorhandenem Kunden zuordnen oder neuen Kunden erfassen.  Zurücknehmen(): Gibt der Kunde den Mietwagen vertragsgemäß zurück, so wird das Auto gewaschen und überprüft.  bereitstellen(): Ergibt sich bei der Prüfung die einwandfreie Funktion, so wird der Wagen wieder in den Fuhrpark überstellt.

Aufgaben anmeldenWerkstatt(): Ein defekter Mietwagen wird zur Reparatur angemeldet. Sobald ein Mietwagen repariert ist, wird er wieder bereitgestellt. ausmustern(): ergibt sich bei der Prüfung, dass der Kilometerstand des Mietwagens > 80000 km ist, wird er aus dem Fuhrpark des Mietwagenverleihs entfernt und zum Verkauf bereitgestellt. Ist der Wagen defekt, wird er zunächst repariert, um einen höheren Verkaufspreis zu erzielen.

Aufgaben Aufgabe 4: Ziel: OOA-Modelle prüfen. Prüfen Sie, wie die Modelle a und b verbessert werden können. Mit welcher Checkliste stellen Sie die Fehler fest? Prüfen Sie, ob die beiden Modelle in c gleichwertig sind. Erstellen Sie dazu Objektdiagramme.