Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1
Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm Zustandsautomat Definition Zustandsdiagramm Notation Arten Verfeinerung 2
Szenario: Definition Sequenz von Verarbeitungsschritten, unter bestimmten Bedingungen ausgeführt sollen Hauptziel des Akteurs realisieren und Ergebnis liefern Use-Case: durch Kollektion von Szenarien dokumentiert jedes durch Bedingung(en) definiert Beginn: auslösendes Ereignis Ende (2 Kategorien): erfolgreiche Bearbeitung des Use-Case Fehlschlag 3
Szenario: Definition 4
Interaktionsdiagramme Szenarien durch Interaktionsdiagramme modelliert mehrere Arten: Sequenzdiagramm Kommunikationsdiagramm Timing-Diagramm Interaktionsübersichtsdiagramm 5
Sequenzdiagramm: Notation Zeigt Interaktion zwischen mehreren Kommunikationspartnern (meist Objekte) Notation: 6
Sequenzdiagramm: Notation jeder Kommunikationspartner durch Rechteck dargestellt (mit Namen) Akteure durch entsprechendes Symbol zwei Dimensionen: vertikal: Zeit horizontal: Lebenslinien Kommunikation durch Pfeile Zeitspanne entspricht Aktionssequenz (längliche Rechtecke) 7
Sequenzdiagramm: Nachrichten Nachrichten sysnchron oder asynchron synchron: Sender wartet, bis Verarbeitung durchgeführt Antwort vom Empfänger (evt. mit Daten) Notation: Pfeil mit geschlossener Spitze asynchron: Sender wartet nicht auf Fertigstellung Setzt eigene Verarbeitung parallel zum Empfänger fort Notation: Pfeil mit offener Spitze 8
Sequenzdiagramm: Beispiel Beispiel: Konsistenz zu Klassendiagramm 9
Kommunikationsdiagramm: Notation Notation: zusätzlich: Objektbeziehungen (kann an Nachricht angetragen werden, Richtung: Pfeil) Reihenfolge der Aufrufe durch Nummern Schleifen und Bedingungen möglich Schleife: * Bedingung: [Bedingung] 10
Kommunikationsdiagramm: Beispiel Beispiel: ebenfalls Konsistenz zu Klassendiagramm 11
Sequenz- vs. Kommunikationsdiagramm Sequenzdiagramm: zeichtlicher Aspekt im Vordergrund Kommunikationsdiagramm: Objektbeziehungen im Vordergrund Reihenfolge durch Nummern (nicht so schnell ersichtlich) 12
Zustandsautomat: Definition besteht aus Zuständen und Zustandsübergängen (Transitionen) Zustand: Zeitspanne, in der Objekt auf Ereignis wartet Objekt kann mehrere Zustände durchlaufen Modellierung in Zusandsdiagramm 13
Zustandsdiagramm: Notation Notation: 14
Zustandsdiagramm: Zustand Zustand: Name optional, also anonyme Zustände möglich nach Möglichkeit kein Verb Anfangszustand (schwarzer Punkt) zu 1. Zustand über Transition Endzustand Kreis) möglich (schwarzer Punkt mit 15
Zustandsdiagramm: Aktivität Aktivität: möglich an Transition oder in Zusand entry-aktivität: wird ausgeführt, sobald Objekt Zustand erreicht exit-aktivität: wird ausgeführt, sobald Objekt Zustand verlässt do-aktivität: beginnt wenn Objekt Zustand einnimmt und endet wenn es ihn verlässt 16
Zustandsdiagramm: Beispiele Beispiele: Zustandsdiagramm mit Aktivitäten an Zustandsdiagramm mit entry-aktivitäten Transitionen 17
Zustandsdiagramm: Beispiel Zustandsdiagramme optional mit Rahmen Name dann links oben in Fünfeck Kürzel: sm (state machine) Beispiel: 18
Zustandsdiagramm: Transition, Ereignis Transition: Zustandsübergang, durch Pfeil dargestellt, von Ereignis ausgelöst auch Selbsttransition möglich Ereignis: Signal Operationsaufruf zeitliches Ereignis implizites Ereignis Änderung bestimmter Werte 19
Zustandsdiagramm: Beispiel Bedingung: nur bei true Zustandswechsel Beispiel: 20
Arten Verhaltenszustandsautomat: Verhalten von Modellen spezifizieren Protokollzustandsautomat: für Objekt einer Klasse beschreibt zulässige Reihenfolge der Operationen nur Operationen angetragen, die nur in bestimmtem Zustand aufgerufen werden Unterscheidung: entry-, {protocol} am Namen exit- und do-aktivitäten nicht erlaubt 21
Arten: Beispiel an Transitionen: Operationen Syntax: [Vorbedingung] Operation / [Nachbedingung] Beispiel: 22
Verfeinerung: Definition durch Unterzustände jeder Unterzustand besitzt Anfangszustand Transition in verfeinerten Zustand entspricht Transition in den Anfangszustand der Verfeinerung Transition aus verfeinertem Zustand: jeder Unterzustand wird verlassen exit-aktivität wird ausgeführt 23
Verfeinerung: Beispiel Beispiel: mit Verfeinerung ohne Verfeinerung 24