Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Hans-Jürgen Steffens Systemanalyse SS 041 10. Vorlesung: Dynamische Konzepte Botschaften Collaboration Diagrams Sequence Diagrams Statechart Diagrams (Zustandsdiagramme)"—  Präsentation transkript:

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

2 Hans-Jürgen Steffens Systemanalyse SS 042 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.

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

4 Hans-Jürgen Steffens Systemanalyse SS 044 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.

5 Hans-Jürgen Steffens Systemanalyse SS 045 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 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

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

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

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

9 Hans-Jürgen Steffens Systemanalyse SS 049 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.

10 Hans-Jürgen Steffens Systemanalyse SS 0410 Darstellung von Bedingungen und Iterationen Bedingung 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

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

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

13 Hans-Jürgen Steffens Systemanalyse SS 0413 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.

14 Hans-Jürgen Steffens Systemanalyse SS 0414 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

15 Hans-Jürgen Steffens Systemanalyse SS 0415 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

16 Hans-Jürgen Steffens Systemanalyse SS 0416 Zustandsdiagramme (State Chart Diagrams) Zustandsdiagramme 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

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

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

19 Hans-Jürgen Steffens Systemanalyse SS 0419 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

20 Hans-Jürgen Steffens Systemanalyse SS 0420 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.

21 Hans-Jürgen Steffens Systemanalyse SS 0421 Ü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?


Herunterladen ppt "Hans-Jürgen Steffens Systemanalyse SS 041 10. Vorlesung: Dynamische Konzepte Botschaften Collaboration Diagrams Sequence Diagrams Statechart Diagrams (Zustandsdiagramme)"

Ähnliche Präsentationen


Google-Anzeigen