Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientierte Analyse

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientierte Analyse"—  Präsentation transkript:

1 Objektorientierte Analyse
Dynamisches Modell erstellen

2 Objektorientierte Analyse Szenarios, Aktivitäten, Zustandsautomaten und Operationen identifizieren Interaktionsdiagramme, Aktivitätsdiagramme, und Zustandsdiagramme erstellen

3 Checkliste Szenario Wiederholung: Was ist ein Szenario?
1 Anwendungsfall= Bündel von Szenarios 1 Szenario= Beschreibung eines Anwendungsfall- Objekts Zeigt eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen sind Beschreibt eine Folge von Ereignissen und Systemreaktionen, die bei der Ausführung eines System(-teil)s auftreten

4 Checkliste Szenario 1. Szenarios aus Use Cases ableiten
Konstruktive Schritte zum Modellieren von Szenarios 1. Szenarios aus Use Cases ableiten Welche Variationen des Use Cases können auftreten? Welche dieser Variationen sind für die Modellierung des Gesamtsystems wichtig?  häufig verwendete Systemfunktionen, Ausnahmesituationen Sind auch die Szenarios, die nicht zum erwünschten Erfolg führen, in Erwägung gezogen? Empfiehlt sich die textuelle Beschreibung eines Szenarios?  Name des Szenarios, Bedingung, Ergebnis

5 Checkliste Szenario Beispiele: Use Case: entleihe Medium Szenario 1:
Name: entleihe Medium (Standardfall Ausgabe) Bedingungen: Medium verfügbar Medium nicht vorgemerkt Entleiherausweis gültig Entleiherkonto ausgeglichen Ergebnis: Medium wird ausgegeben Szenario 2: Name: entleihe Medium (Medium vorgemerkt) Medium ist verfügbar Medium wurde vorgemerkt Medium wird ausgegeben, wenn Entleiher= Vormerker Wenn Entleiher!=Vormerker, Vormerkung vorschlagen

6 Checkliste Szenario Szenario 3
Name: entleihe Medium (Ausweis ungültig) Bedingung: Ausweis des Entleihers ist ungültig Ergebnis: Ausleihe verweigert, Ausweisverlängerung vorgeschlagen Szenario 4 Name: entleihe Medium (nicht standardmäßiges Medium) Medium liegt vor Medium nicht vorgemerkt Ausweis gültig Medium ist nicht Standardmedium Ausgabe des Mediums, Buchung von Extragebühren

7 Checkliste Szenario 2. Diagrammart wählen
Sequenz- (und) oder Kommunikationsdiagramm? Sequenzdiagramm: - zeitliche Reihenfolge - Operationensaufrufe/ -abfolge - Grundsätzliche Kommunikation zwischen den Objekten, Kern des Szenarios Kommunikationsdiagramm: - in der Regel einfacher zu erstellen - Zusammenwirken ausgewählter Objekte

8 Checkliste Szenario

9 Checkliste Szenario

10 Checkliste Szenario 3. Auslöser des Szenarios finden
Aus Use Case Diagramm oder Beschreibungen der Use Cases 4. Kommunikationsobjekte ermitteln und eintragen - Welche Klassen bzw. Objekte sind an dem Szenario beteiligt?  Klassendiagramm - Sequenzdiagramm: Anordnung der Kommunikationspartner beachten 5. Ablauf des Szenarios konstruieren Vorgehensweise: - Zerlegen der Aufgaben des Use Case in Teile, bis jeder Teil einer Operation entspricht. - Welcher Schritt folgt nun? Welcher Kommunikationspartner führt die Operation aus?

11 6. Zentrale vs. Dezentrale Steuerungsstruktur
Checkliste Szenario 6. Zentrale vs. Dezentrale Steuerungsstruktur in Sequenzdiagrammen

12 Checkliste Szenario Analytische Schritte Fehlerquellen
- Ist das Sequenzdiagramm konsistent mit dem Klassendiagramm? Fehlerquellen zu viele Details Keine GUI betreffenden Objekte modellieren (=Entwurf)

13 Übung 1 Ziel: Aus Use Case Beschreibung Szenarios ableiten und Sequenzdiagramm erstellen Use Case Name: Medium ausleihen Ziel: Medium wird verbucht und ausgegeben Vorbedingung: Medium ist vorhanden Nachbedingung +: Entleiher erhält Medium Nachbedingung -: Entleiher erhält Medium nicht Akteure: Entleiher, Bibliotheksangestellte Auslösendes Ereignis: Entleiher legt Medium zur Ausleihe vor Beschreibung: Ausweisnummer des Entleihers wird überprüft Mediennummmer wird überprüft Medium wird verbucht Medium wird zur Ausleihe ausgegeben Erweiterungen: 1a. Ausweis ist nicht mehr gültig; Ausweis verlängern oder zurückgeben und Ausleihvorgang beenden 1b. Konto des Entleihers ist im Soll; Konto ausgleichen oder Vorgang beenden 2a. Medium ist vorgemerkt; Entleiher vormerken und Vorgang beenden 3a. Medium ist nicht Standardmedium; Leihfrist setzen, Sondergebühren verbuchen Alternativen: 4a. Medium wird zur Benutzung im Lesesaal bereitgestellt

14 Lösung 1. Szenarios ableiten und kurz beschreiben Beispiel: Szenario 4
Name: entleihe Medium (nicht standardmäßiges Medium) Bedingung: Medium liegt vor Medium nicht vorgemerkt Ausweis gültig Medium ist nicht Standardmedium Ergebnis: Ausgabe des Mediums, Buchung von Extragebühren

15 2. Akteure und Objekte identifizieren
Es existiert bereits folgendes Klassendiagramm : Entleiher Medium * * name anschrift typ mediennummer leihstatus vormerkung medienart 1 1 Konto In der Beschreibung sind bereits Bibliotheksangestellte und Entleiher als Akteure gelistet; im Klassendiagramm wurden die nebenstehenden Klassen identifiziert; sie stellen möglich Kommunikationspartner dar; der Entleiher ist als Klasse modelliert gebuehren status kontonummer

16 3. Sequenzdiagramm erstellen
Hinweis: Das Diagramm könnte in weiteren Stufen verfeinert werden

17 4. Operationen aus Sequenzdiagramm im Klassendiagramm ergänzen (hier Auswahl):
Entleiher Medium name anschrift typ mediennummer leihstatus vormerkung medienart * * hole_kontodaten() setze_gebuehren() ... liefere_daten() 1 1 Konto gebuehren status kontonummer liefere_daten() aktualisiere()

18 Checkliste Aktivität Aktivitätsdiagramme können zur Spezifikation von Use Cases und zur Verdeutlichung des Zusammenwirkens mehrerer Use Cases verwendet werden. Konstruktive Schritte 1. Start und Ende der Aktivität bestimmen. Hilfreich kann dabei eine bereits vorhandene Use Case Beschreibung sein. Wann terminiert die Aktivität? Handelt es sich bei der Aktivität um eine nichtterminierende, teilterminierende (nur einzelne Flows terminieren) oder vollständig terminierende? 2. Zuerst den Standardfall modellieren.

19 Checkliste Aktivität Welche Erweiterungen zum Standardfall sind möglich? Müssen Entscheidungsknoten modelliert werden? Liegt Parallelität in der Aktivität vor? Kann die Reihenfolge von Teilaktionen nicht genau bestimmt werden?  Bei einer Modellierung als Entscheidung muss nicht jeder Teilfluss durchlaufen werden, beim Splitting bzw. der Synchronisation geht die Verarbeitung erst dann weiter, wenn alle Teilpfade durchlaufen wurden. Objektknoten eintragen, um die Aussagefähigkeit des Diagramms zu erhöhen. Erzeugen die Aktionen Daten oder werden Daten benötigt?

20 Checkliste Aktivität Exkurs: Objektknoten in Aktivitätsdiagrammen
Ein Objektknoten gibt an, das ein oder mehrere Objekte existieren. Sie können Eingangs- oder Ausgangsparameter von Aktionen sein. Darstellung: Als Pins oder Rechtecke

21 Checkliste Aktivität Semantik:
Objektfluss Oder-Semantik Kontrollfluss Und-Semantik Objektfluss Und-Semantik Eine Aktion startet erst dann, wenn die benötigten Objekte vorliegen bzw. am Ende einer Aktion werden die neuen Objekte bereitgestellt. Permanenter Objektfluss kann durch das Schlüsselwort {stream} oder alternativ durch einen ausgefüllten Pin dargestellt werden. Exkurs Ende

22 Checkliste Aktivität 5. Aktivitätsbereiche modellieren, wenn dies zur Aussagefähigkeit beiträgt und zeichentechnisch nicht problematisch ist. Alternativ sollte in diesem Fall und im Falle vieler Aktivitätsbereiche eine Textnotation bevorzugt werden. Analytische Schritte - Name: Analog zur Benennung von Operationen (Aktionen sind Verarbeitungsschritte!) - Gibt es Aktionsknoten, in die keine Kanten hineinführen oder aus der keine Kanten führen? - Sind Bedingungen bei einer Entscheidung eindeutig formuliert?  x>1 nicht: x>=1 - Ist die Menge der Bedingungen einer Entscheidung vollständig?

23 Übung 2 Ziel: Aktivitätsdiagramm aus Use Case Beschreibung modellieren. Wir betrachten nochmal den Use Case aus Übung 1 und versuchen daraus ein Aktivitätsdiagramm zu entwickeln. Use Case Name: Medium ausleihen Ziel: Medium wird verbucht und ausgegeben Vorbedingung: Medium ist vorhanden Nachbedingung +: Entleiher erhält Medium Nachbedingung -: Entleiher erhält Medium nicht Akteure: Entleiher, Bibliotheksangestellte Auslösendes Ereignis: Entleiher legt Medium zur Ausleihe vor Beschreibung: Ausweisnummer des Entleihers wird überprüft Mediennummmer wird überprüft Medium wird verbucht Medium wird zur Ausleihe ausgegeben Erweiterungen: 1a. Ausweis ist nicht mehr gültig; Ausweis verlängern oder zurückgeben und Ausleihvorgang beenden 1b. Konto des Entleihers ist im Soll; Konto ausgleichen oder Vorgang beenden 2a. Medium ist vorgemerkt; Entleiher vormerken und Vorgang beenden 3a. Medium ist nicht Standardmedium; Leihfrist setzen, Sondergebühren verbuchen Alternativen: 4a. Medium wird zur Benutzung im Lesesaal bereitgestellt

24 Lösung Start und Ende ermitteln.
Dazu lesen wir in der Beschreibung das auslösende Ereignis sowie das Ziel: Startaktion: Medium zur Ausleihe vorlegen Ende der Aktivität: Medium ausgeben Dann modellieren wir den Standardfall, so wie er in der Beschreibung vorliegt. Gibt es bereits Entscheidungsknoten oder Splittings? Danach wird analog der Erweiterungen und Alternativen das Diagramm verfeinert. Gibt es (weitere) Entscheidungen oder Splittings? Sind die Bedingungen für die Entscheidungen vollständig und korrekt? Sollen Aktivitätsbereiche modelliert werden? Empfiehlt sich das Einfügen von Objektknoten?

25 Checkliste Zustandsautomat
Anwendungsgebiet in der Analyse Modellierung des dynamischen Verhaltens von Klassen und Use Cases (Verhaltenszustandsautomat) Spezifikation der Zustände und Bedingungen von Operationsabläufen (Protokollzustandsautomat) Konstruktive Schritte Muss überhaupt ein Zustandsautomat bzw. ein Zustandsdiagramm erstellt werden?  Lebenszyklus der Klasse/ Objekt; meist trivial - sinnvoll, wenn ein Objekt auf eine bestimmte Botschaft abhängig vom aktuellen Zustand unterschiedlich reagieren kann - wenn einige Operationen nur in bestimmten Zuständen auf ein Objekt anwendbar sind

26 Checkliste Zustandsautomat
Beispiel 1: Der Zustandsautomat der Klasse Seminartyp ist trivial: der Seminartyp existiert oder er existiert nicht

27 Checkliste Zustandsautomat
Beispiel 2: VerhaItenszustands-automat im ausgebuchten oder stornierten Zustand können keine Anmeldungen vorgenommen werden

28 Checkliste Zustandsautomat
Beispiel 3: Protokollzustands-automat Die Operationen der Klasse werden so modelliert,dass sie zeigen, in welchen Zustand sie auf Objekte der Klasse angewandt werden können

29 Checkliste Zustandsautomat
Beispiel 4: Der Use Case ‚Parkgebühr bezahlen‘ wird durch ein Zustandsdiagramm spezifiziert. Automaten lassen sich sehr gut durch Zustandsautomaten modellieren.

30 Checkliste Zustandsautomat
2. Zustandsautomatenelemente identifizieren und in Beziehung setzen Mögliche Vorgehensweisen: - Brainstorming: Tabelle erstellen, in der alle Zustände, Ereignisse und Verarbeitungsschritte, die innerhalb eines Anwendungsfalls oder durch Objekte der Klasse ausgeführt werden, eingetragen werden. - In welchen Zustand befindet sich ein Objekt der Klasse direkt nach seiner Erzeugung? Welche Ereignisse können eintreten? Welche Zustände können ausgehend davon folgen?

31 Checkliste Zustandsautomat
3. Gibt es einen oder mehrere Endzustände oder ist der Zustandsautomat zyklisch? 4. Aktivitäten (Verarbeitungen) eintragen - Gibt es mit einer Transition eine Verarbeitung? - Besitzen alle eingehenden Transitionen eines Zustands die gleiche Aktivität?  entry/ - Besitzen alle ausgehenden Übergänge die gleiche Aktivität?  exit/ - Wird über die Dauer eines Zustands eine Verarbeitung ausgeführt und ruft ihre Beendigung einen Zustandsübergang hervor?  do/ 5. Welche externen oder internen Ereignisse lösen Zustandsübergänge aus? Handelt es sich um zeitliche Ereignisse?

32 Checkliste Zustandsautomat
Analytische Schritte Name: Sollte die Zeitspanne beschreiben, in der sich das Objekt in einem Zustand befindet. Möglichst nicht in Form einer Verarbeitung ausdrücken: „prüfend“ statt „prüfen“ Die Aktivitäten und Verarbeitungen des Zustandsdiagramms sollten konsistent zum Klassendiagramm sein, d.h. mindestens eine Teilmenge der Operationen aus dem Klassendiagramm sein Besitzen alle Zustände ein- und ausgehende Transitionen? Gibt es Situationen, die nicht durch die bestehenden Transitionen modelliert sind?

33 Checkliste Operationen
Konstruktive Schritte Operationen aus den Interaktionsdiagrammen/ Zustandsdiagrammen in das Klassendiagramm eintragen Gibt es Listenoperationen (=Operationen, die auf Listen zurückgreifen, z.B. die Operation „ermittleKunden()“ aus Beispiel 1) die das statische Modell vervollständigen?  als Klassenoperation eintragen Verwaltungsoperationen werden nicht in das Klassendiagramm der Analyse eingetragen Operationen in einer Vererbungsstruktur so hoch wie möglich eintragen Ergänzende Beschreibungen der Operationen vornehmen, wenn Funktionsweise nicht klar wird  kann eine Operation in diesem Fall zerlegt werden?

34 Checkliste Operationen
Analytische Schritte Name: Verb, Verb/Substantiv Kombination; sollte aussagen, was die Operation macht; konsistenter Aufbau Allgemein gehaltene Namen können ein Indiz auf Operationen sein, die verschiedene Verarbeitungsschritte beinhalten. Hier evtl. prüfen, ob sich mehrere aussagekräftige Verben finden lassen. Z.B.: „verarbeite()“  ladeDaten(), ermittleWert(), …

35 Übung 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. 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.

36 Weitere Übungen Stellen Sie das Szenario aus Übung 1 als Kommunikationsdiagramm dar. Leiten Sie aus Übung 1 weitere Szenarien ab und stellen Sie diese in einem Interaktionsdiagramm dar. Erstellen Sie für das Medium Buch einen innerhalb einer Bibliothek typischen Lebenszyklus.


Herunterladen ppt "Objektorientierte Analyse"

Ähnliche Präsentationen


Google-Anzeigen