Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10. Vorlesung: Dynamische Konzepte

Ähnliche Präsentationen


Präsentation zum Thema: "10. Vorlesung: Dynamische Konzepte"—  Präsentation transkript:

1 10. Vorlesung: Dynamische Konzepte
Botschaften Collaboration Diagrams Sequence Diagrams Statechart Diagrams (Zustandsdiagramme) Hans-Jürgen Steffens Systemanalyse SS 04

2 Botschaften (Messages)
Objekte kommunizieren mit Hilfe von Botschaften (Messages) Z. T. auch Nachricht, Operations- oder Methodenaufruf genannt Ein Objekt sendet eine Botschaft an ein anderes Objekt Dieses Objekt muss über eine Operation gleichen Namens verfügen, die es dann ausführt Das sendende Objekt weiß nicht, wie die entsprechende Operation ausgeführt wird, es muss nur ihren Namen incl. Über- und Rückgabeparametern kennen Menge der Botschaften, auf die Objekte einer Klasse reagieren können: Protokoll der Klasse Interpretation von Botschaften bei Vererbung: Das empfangende Objekt überprüft bei der Definition seiner Klasse, ob eine entsprechende Operation definiert ist. Wenn ja, dann führt es diese aus. Andernfalls schaut es bei der direkten Oberklasse nach, anschließend bei deren Oberklasse usw. Hans-Jürgen Steffens Systemanalyse SS 04

3 Botschaften Wenn folgendes im Klassendiagramm definiert ist:
...ist folgende Botschaft möglich: Operation 1() : Klasse 1 : Klasse 2 Hans-Jürgen Steffens Systemanalyse SS 04

4 Interaktionsdiagramme
Stellen den Fluss der Botschaften zwischen den Objekten bei der Durchführung bestimmter Szenarios dar Szenario: Ein abgeschlossener Ablauf (z. B. Durchführung eines Use Cases bzw. ein beim Aufruf einer Operation in Gang gesetzter komplexerer Ablauf), wobei i.d.R. nur ein möglicher Fall betrachtet wird Z. B. werden der Erfolgsfall und der Misserfolgsfall eines Ablaufs meist in mehreren Diagrammen dargestellt Typen von Interaktionsdiagrammen: Collaboration Diagram Fokus auf dem Zusammenspiel der Objekte in Bezug auf ihre Assoziationen Sequence Diagram Fokus auf dem zeitlichen Ablauf Collaboration Diagram und Sequence Diagram sind inhaltlich sehr ähnlich. Hans-Jürgen Steffens Systemanalyse SS 04

5 Collaboration Diagrams
Object Diagrams mit Botschaften-Austausch an den Beziehungen Botschaften werden in der Reihenfolge ihres Versands nummeriert Wird während der Durchführung einer Operation eine weitere Botschaft versandt, so erfolgt verschachtelte Nummerierung 2 OperationA () 2.1 OperationB () innerhalb der Operation A versandte Botschaft 2.1.1 Operation C () - innerhalb der Operation B versandte Botschaft Es werden nur diejenigen Objekte angegeben, die an dem Szenario beteiligt sind Als ursprünglicher Auslöser kann ein Akteur angegeben werden Werden Klassenoperationen aufgerufen, so wird anstatt des Objekts die Klasse eingetragen Neu erzeugte und gelöschte Objekte können gekennzeichnet werden: {new} – neues Objekt {destroyed} – gelöschtes Objekt {transient} – neu erzeugtes und wieder gelöschtes Objekt Hans-Jürgen Steffens Systemanalyse SS 04

6 Elemente der Collaboration Diagrams
Objekt 1: Operation 1 () :Klasse 1 Association {transient} Nachricht 1.1: Operation 2 () 1.2: Operation 4 () Nummerierung (Reihenfolge und Schachtelung) :Klasse 2 :Klasse 4 {new} 1.1.1: Operation 3 () :Klasse 3 {new} Hans-Jürgen Steffens Systemanalyse SS 04

7 Beispiel: Autoverleih (Class Diagram)
Kunde Ausleihe Fahrzeug 1 * * 1 ausleihDatum rueckgabeDatum ... ... ... ... fzg_suchen():fzg reservieren() preis() ... ausleihen () gesamtpreis_ermitteln() ... * 1 Fahrzeugtyp Preis ... Hans-Jürgen Steffens Systemanalyse SS 04

8 Beispiel: Autoverleih (Collaboration Diagram)
1.1: fzg_suchen () Fahrzeug 1: ausleihen () :Ausleihe 1.2: reservieren () 1.3: preis () :Fahrzeug {new} 1.3.1: get_preis () :Fahrzeugtyp Hans-Jürgen Steffens Systemanalyse SS 04

9 Sequence Diagrams Darstellung der zeitlichen Reihenfolge
Zeit wird nach unten aufgetragen Für jedes beteiligte Objekt wird eine gestrichelte Lebenslinie eingezeichnet, die die Dauer seiner Existenz repräsentiert Neu entstehende Objekte: Botschaft auf Objekt-Symbol Gelöschte Objekte: großes X Botschaftenaustausch Gerichtete Kanten vom sendenden zum empfangenden Objekt mit Angabe der Operation Die Aktivierung des Objekts wird mit Hilfe eines Rechtecks dargestellt Rückgabe des Kontrollflusses kann mit Hilfe eines gestrichelten Pfeils dargestellt werden Die Beziehungen der Objekte sind im Sequence Diagram nicht ersichtlich. Hans-Jürgen Steffens Systemanalyse SS 04

10 Darstellung von Bedingungen und Iterationen
Bedingter Versand von Botschaften: Bedingung wird in eckiger Klammer vorangestellt Hierdurch können auch Verzweigungen dargestellt werden Es sollten aus Gründen der Übersichtlichkeit nicht zu viele Verzweigungen in ein Diagramm eingezeichnet werden, ggf. kann man mehrere Diagramme erstellen Wiederholungen (Iterationen) Sternchen vor der Operation, ggf. mit Bedingung in eckiger Klammer Hans-Jürgen Steffens Systemanalyse SS 04

11 Elemente der Sequence Diagrams
Objekt1:Klasse Objekt2:Klasse Objekt4:Klasse Neues Objekt angelegt Objekt botschaft() antwort botschaft() Aktivierung Objekt3:Klasse botschaft() antwort Iteration Zeit *botschaft() Objekt gelöscht antwort Bedingung [x>0]botschaft() [x<0]botschaft() Lebenslinie Hans-Jürgen Steffens Systemanalyse SS 04

12 Beispiel: Autoverleih (Sequence Diagram)
Fahrzeug f:Fahrzeug :Fahrzeugtyp Klasse Objekt- name Klassen- name ausleihen() :Ausleihe fzg_suchen() f reservieren() preis () get_preis () preis preis gesamtpreis Hans-Jürgen Steffens Systemanalyse SS 04

13 Einsatz von Interaktionsdiagrammen
Interaktionsdiagramme werden i.d.R. nicht zur kompletten Dokumentation des Gesamtsystems eingesetzt Werden eingesetzt zur Dokumentation und Untersuchung von besonders komplexen, schwer durchschaubaren und erklärungsbedürftigen Abläufen In der Analyse sollten derartige Abläufe so detailliert beschrieben werden, dass ihre fachliche Korrektheit diskutiert werden kann und dass eine geeignete Vorgabe für Entwurf und Implementierung vorliegt. Hans-Jürgen Steffens Systemanalyse SS 04

14 Zustandsdiagramme (State Chart Diagrams)
Zustandsautomat (finite state machine) Besteht aus Zuständen und Zustandsübergängen (Transitionen) Zustand Zeitspanne, in der Objekt auf ein Ereignis wartet Objekt kann mehrere Zustände durchlaufen Zu jedem Zeitpunkt ist das Objekt in genau einem Zustand Dieser wird durch seine aktuellen Attributwerte und Beziehungen definiert Mit einem Zustand können Aktionen verbunden sein /entry: Aktionen, die beim Eintritt in den Zustand ausgeführt werden /exit: Aktionen, die beim Austritt aus dem Zustand ausgeführt werden /do: Aktionen, die während des Zustandes ausgeführt werden Zustände können weiter in Sub-Zustände zerlegt sein, für die wiederum Zustandsdiagramme gezeichnet werden können Hans-Jürgen Steffens Systemanalyse SS 04

15 Zustandsdiagramme (State Chart Diagrams)
Transition Verbindet zwei Zustände Ist atomar (kann nicht unterbrochen werden) Wird ausgelöst von Ereignis Welche Transition durchgeführt wird („feuert“), hängt vom aktuellen Zustand und dem Ereignis ab Ereignisse Arten von Ereignissen: Bedingung, die wahr wird Signal Botschaft (Aufruf einer Operation) Verstrichene Zeit Eintreten eines bestimmten Zeitpunkts Kann mit Wächter verbunden sein Zusätzliche Bedingung, die ausgeführt wird, wenn Ereignis eintritt Hans-Jürgen Steffens Systemanalyse SS 04

16 Zustandsdiagramme (State Chart Diagrams)
Werden in der Analyse benutzt, um den Lebenszyklus von ausgewählten Objekten zu beschreiben (dort wo dieser Lebenszyklus komplexer ist). Als Aktionen werden die Operationen der entsprechenden Klasse genutzt Hans-Jürgen Steffens Systemanalyse SS 04

17 Zustandsdiagramme – Wichtige Konstrukte
Anfangszustand Transition Zustand 2 Ereignis 1 Zustand 1 do/ Aktivität Zustand 4 Ereignis 3[Wächter] Zustand 3 entry/Aktion 3 exit/Aktion 4 Ereignis 2/ Aktion 2 Endzustand Hans-Jürgen Steffens Systemanalyse SS 04

18 Beispiel: Zustandsdiagramm für Klasse Fahrzeug
Neues Fz. / erfassen() frei Ausleihe / reservieren() Fz. okay / freigeben() Rückgabe / zurück- nehmen() zurück- verliehen gegeben Fz. nicht okay / inReparatur Melden() Fz-Schaden / inReparaturMelden() Reparatur beendet / ausReparatur zurückmelden() Fz-Schaden / inReparaturMelden() Fz. verkauft / löschen() In Reparatur Fz. verkauft / löschen() Fz. verkauft / löschen() Hans-Jürgen Steffens Systemanalyse SS 04

19 Abbildung der Zustände für Klasse Fahrzeug
Attribut „Status“ dient der Abbildung der im Zustandsdiagramm verwendeten Zustände Bemerkung: Der Zustand verliehen hängt mit der Existenz eines Ausleihe-Objekts zusammen, bei dem das Rückgabedatum noch leer ist Hans-Jürgen Steffens Systemanalyse SS 04

20 Zusammenfassung Objekte kommunizieren mit Hilfe von Botschaften. Das empfangende Objekt führt seine Operation gleichen Namens durch. Mit Hilfe von Sequence und Collaboration Diagrams lassen sich Abläufe anhand des Botschaften-Flusses darstellen und analysieren. Beim Collaboration Diagram steht das Zusammenspiel der Objekte im Zusammenhang mit ihren Beziehungen im Vordergrund. Im Sequence Diagram wird die zeitliche Reihenfolge dargestellt. Mit Hilfe von Zustandsdiagrammen kann der Lebenszyklus von Objekten in Form von Zuständen und Zustandsübergängen (Transitionen) dargestellt werden. Hans-Jürgen Steffens Systemanalyse SS 04

21 Übungsfragen Was ist eine Botschaft?
Welche Botschaften versteht ein Objekt? Was bezeichnet man als Protokoll einer Klasse? Welche Arten von Interaktionsdiagrammen gibt es in der UML? Wozu dienen diese? Wie unterscheiden Sie sich? Wie können Varianten von Abläufen (z. B. erfolgreiche und nicht erfolgreiche Durchführung) beschrieben werden? Was ist der Unterschied zwischen Lebenslinie und Aktivierung? Was ist der Zustand eines Objekts? Wie kann man herausfinden, in welchem Zustand sich ein Objekt befindet? Was ist eine Transition? Wann wird diese durchgeführt? Wofür verwendet man Zustandsdiagramme? Hans-Jürgen Steffens Systemanalyse SS 04


Herunterladen ppt "10. Vorlesung: Dynamische Konzepte"

Ähnliche Präsentationen


Google-Anzeigen