Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Checklisten dynamisches Modell

Ähnliche Präsentationen


Präsentation zum Thema: "Checklisten dynamisches Modell"—  Präsentation transkript:

1 Checklisten dynamisches Modell
Checklisten für: Szenario Zustandsautomaten Operationen

2 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

3 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

4 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

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

6 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

7 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?

8 Checkliste Szenario Beispiel: Frisör - Geschäftsprozess

9 Checkliste Szenario Beispiel: Frisör - Klassendiagramm

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

11 Checkliste Szenario Sequenzdiagramm: mehrere Transaktionen

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

13 Checkliste Szenario Sequenzdiagramm: Beispiel Bibliothek

14 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

15 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

16 Checkliste Zustandsautomat trivialer Lebenszyklus

17 Checkliste Zustandsautomat nicht trivialer Lebenszyklus

18 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

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

20 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)

21 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

22 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

23 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.

24 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 > 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.

25 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.


Herunterladen ppt "Checklisten dynamisches Modell"

Ähnliche Präsentationen


Google-Anzeigen