UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg...

53
Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 UML - Diagramme Lerneinheit 2 Lerneinheit 2

Transcript of UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg...

Page 1: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

UML - Diagramme

Lerneinheit 2Lerneinheit 2

Page 2: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Diagramme in der UML

• Wesentlicher Bestandteil der Modellbildung• Graphen, wobei fundamentale Modellelemente (z.B.

Klassen, Objekte, Zustände) die Knoten und Beziehungen zwischen den Modellelementen die Kanten bilden

• Identifikation der Modellelemente und semantische Informationen durch Stringeintragungen und Labeling

• Ziel: Schnell wesentliche Zusammenhänge sichtbar machen• Auslagerung von Detailinformationen in formalisierte

Tabellen (nicht durch UML definiert)

Page 3: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Diagrammtypen

• Use-Case-Diagramm• statische Strukturdiagramme:

Klassendiagramm, Objektdiagramm, Paketdiagramm• Interaktionsdiagramme zur Beschreibung des

Informationsaustausches: Sequenzdiagramm, Kommunikationsdiagramm, Zeitdiagramm

• Zustandsdiagramme zur Beschreibung des Verhaltens: Zustandsdiagramm, Aktivitätendiagramm

• Architekturdiagramme zur Beschreibung der Implementierung: Komponentendiagramm, Einsatzdiagramm

Page 4: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Interaktionsdiagramme

• Interaktion = Reaktion von Objekten auf Ereignisse (Botschaften) und dadurch ausgelöste Aktionen, wodurch wiederum Ereignisse für andere Objekte ausgelöst werden können

• Interaktionsdiagramme stellen die Interaktionen zwischen den beteiligten Objekten dar

• drei Darstellungsformen:– Sequenzdiagramm– Kommunikationsdiagramm– Zeitdiagramm

Page 5: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zustandsdiagramme

• Darstellung des inneren dynamischen Verhaltens eines Objektes, das mit anderen Objekten interagiert

• zwei Darstellungsformen:– Zustandsübergangsdiagramm (state chart diagram)– Aktivitätendiagramm (activity diagram)

Page 6: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Architekturdiagramme

• Darstellung des physikalischen Entwurfs (Modularisierung, Konfigurierung) eines Systems

• zwei Darstellungformen:– Komponentendiagramm (component diagram)– Einsatzdiagramm (deployment diagram)

Page 7: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

InteraktionsdiagrammeBestandteile

• Objekte, die an der Interaktion beteiligt sind• Angaben zum Lebenszyklus der beteiligten Objekte• Kommunikationspfade und Botschaften zwischen den

beteiligten Objekten• Reaktionen der Empfängerobjekte auf eingehende

Botschaften• Reihenfolge der Botschaften

Page 8: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Sequenzdiagramm

Lerneinheit 2Lerneinheit 2

Page 9: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammDefinition

• Interaktionsdiagramm, das die zeitliche Sequenz (Reihenfolge) der Interaktionen von Objekten betont

• Die Botschaften werden in zeitlicher Ordnung als gerichtete Verbindungen zwischen den Lebenslinien der Objekte dargestellt

Page 10: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammAuftragserteilung durch Neukunden

:Kunde :Verkäufer :Controller

:Auftrag

Auftrag Anfrage Bonität (Kunde)

Bonität

[Bonität ok]

[auslieferungsfähig]

Zahlungs-eingang

Zahlung

Bestätigung

Ablehnung

a: Lieferung

b: Rechnung

[Bonität ok]

[Bonität nicht ok]

Scripts:Ereignis: Kundeerteilt Auftrag

Erzeugung desObjekts Auftrag

{b. SendTime - a. SendTime = 2 Werktage}

Page 11: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammEinsatzfelder

• Präzisierung von Anwendungsfall-Szenarien• Darstellung des Entwurfs von Interaktionen im DV-System• Spezifikation von Echtzeit-Systemen

Page 12: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammModellelemente (1)

• Objekte: Horizontale Anordnung am oberen Rand des Diagramms oder Darstellung zum Zeitpunkt der Erzeugung

• Objekt-Lebenslinien: Vertikale Ausrichtung; kennzeichnen die Existenz und Lebensdauer eines Objektes (Symbol: gestrichelte Linie); Aufspaltung der Lebenslinie bei Aktivitäten des Objekts, die aus alternativen oder sich zeitlich überdeckenden Botschaften resultieren

Page 13: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

• Botschaften (als Pfeile zwischen den Lebenslinien dargestellt):– Synchroner Operationsaufruf ( )– Asynchroner Operationsaufruf ( ) (UML 1.0 )– Rückgabewert ( )– Syntax:

["[" Wächter-Bedingung "]"] NameBotschaft [([Parameter])]– Iterative Übermittlung von Botschaften: Syntax

*["[“Iterationsbereich "]"]

SequenzdiagrammModellelemente (2)

Page 14: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammDetailinformationen (1)

• Dauer der Objektaktivierung: Zeigt die Zeitdauer an, die ein Objekt zur Ausführung einer Aktivität benötigt (Transformation der Lebenslinie zu einem Balken); Symbolisierung von Rekursionen durch überlagerte Balken

• Script: Nähere Angaben zu einer Botschaft (z.B. auslösendes Ereignis) als freier Textstring (Darstellung am linken Diagrammrand auf Höhe der Botschaft)

• Zeitliche Ordnung der Botschaften: Botschaften sind zeitlich geordnet; bei Bedarf kann skalierbare Zeitachse verwendet werden

Page 15: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammDetailinformationen (2)

• Spezifikation von Zeitbedingungen: Verwendung von beliebigen Zeitfunktionen (z.B. sendTime, receiveTime) möglich

• Übermittlungsdauer: Falls diese nicht vernachlässigt werden kann, Verdeutlichung durch schräg verlaufenden Botschaftspfeil

• Erzeugung und Löschung eines Objektes• Alternative und parallele Botschaften:

Bedingungsabhängige oder zeitgleiche Botschaften an andere Objekte

Page 16: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

SequenzdiagrammNebenläufige Lebenslinie (Beispiel)

:Kunde :Verkäufer :Controller

Auftrag

Bonität

[Neukunde] Bonitätsprüfung

[Bestandskundekunde] Auftragsübersicht

Auftragsliste

Page 17: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Kommunikations-diagramme

Lerneinheit 2Lerneinheit 2

Page 18: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KommunikationsdiagrammDefinitionen

• Statische Elemente der Kommunikation: Klassen, Assoziationen und ihre Rollen (Spezifikationsebene) bzw. Objekte, Links und Ereignisse (Instanzenebene)

• Dynamisches Konstrukt der Kommunikation: Interaktionen• Ein Kommunikationsdiagramm repräsentiert die

Zusammenarbeit in Form eines Graphen. Knoten sind die Klassen (Objekte), Assoziationen (Links) die Kanten. Botschaften werden entlang der Kanten dargestellt.

Page 19: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KommunikationsdiagrammAuftragserteilung durch Neukunden

:Verkäufer

:Auftrag

{new}

{destroy}

:Kunde

:Controller

[Bonität ok]3B: Auftrag

2: Bonität := Anfrage Bonität (Kunde)

7: Zahlungs-eingang

1: Auftrag

4: Lieferung

5: Rechnung

[Bonität ok] 3A: Bestätigung

[Bonität nicht ok] 3: Ablehnung

6: Zahlung

Page 20: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KommunikationsdiagrammZeitliche Reihenfolge von Botschaften

• Syntax:[Sequenznummern/] ["[" Wächter-Bedingung "]"] [Sequenzausdruck] NameBotschaft

– Sequenznummer: Liste mit Sequenznamen anderer Botschaften

– Wächter-Bedingung: Botschaft wird nur weitergeleitet, wenn Bedingung erfüllt ist

– Sequenzausdruck:• Syntax: [Name|Zahl][.Zahl...][SequenzName]• Die Zahlenfolge kennzeichnet die relative Reihenfolge der

Botschaften• SequenzNamen kennzeichnen zeitliches Nebeneinander von

Botschaften

Page 21: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KommunikationsdiagrammWeitere Detailinformationen

• Iterative Botschaftsübermittlung: *["[" Iterationsbereich "]"]• Rückgabewerte:

[NameVariable:=]NameBotschaft([Parameterliste])

• Link-Attribute: Stellen den Bezug zum statischen Modell her. U.a. folgende Kennungen möglich:– Name der Rolle eines anonymen Objektes– Deskriptoren für Beschränkungen bei einem Objekt bzw.

Link: z.B. {new}, {destroy},{transient}, {persistent}

Page 22: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KommunikationsdiagrammEinsatzfelder

• Darstellung der Realisierung einer Operation• Darstellung zeitgleicher Interaktionen von Objekten• Darstellung der Dynamik von Entwurfsmustern

Page 23: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

KollaborationsdiagrammDarstellung des Operationsablaufes

tutor / Teacher : Person lecturer / Teacher : Person

/ Student : Person :Course

1.1*[i:=1..n]: lecturer()

1: namesOfTeachers() 1.2.i: name()

studentTeachers()

Page 24: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Kommunikationsdiagramm auf Spezifikationsebene (Beispiel)

benachrichtigen

Benutzer

benachrichtigen

Vormerkung

Vormerkung prüfen

Buch

entlasten

Ausleihezurücknehmen

reservieren

Exemplar

gehört zu

betrifft

gibt zurück

veranlaßt betrifft

gehö

rt z

u

rese

rvie

rt

0,1

0,1

0,1

* **

**1

1

1

1

1

Vormerker

Entleiher

Page 25: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Übung Kommunikationsdiagramm - Lösung

:Ausleihe

4B: benachrichtigen ()

:Exemplar :Buch

:Vormerkung/Entleiher : Benutzer /Vormerker : Benutzer

1: zurücknehmen () 4A: reservieren ()

2A: entlasten ()

{destroy}

2B: Vormerkung prüfen ()

3: benachrichtigen ()

Page 26: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zustandsübergangs-diagramme

Lerneinheit 2Lerneinheit 2

Page 27: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ObjektzustandDefinition

Der Zustand eines Objektes ist eine Sammlung/Ausprägungvon Attributen des Objektes und Beziehungen des Objekteszu anderen Objekten.

Page 28: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Warte- und Aktionszustände

• Wartezustand: Ein Zustand in dem das Objekt auf das Eintreten eines Ereignisses und/oder die Erfüllung einer Bedingung wartet.

• Aktionszustand: Ein Zustand in dem das Objekt definierte Aktionen ausführt.

Page 29: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zustand - Notation

• Symbol:• Symbolinhalte:

– Bezeichner(:String)– Aktionen: Syntax: Aktionsbezeichner/Aktionsausdruck

• entry-AktionSyntax: entry/Aktionsausdruck

• exit-AktionSyntax: exit/Aktionsausdruck

• do-AktionSyntax: do/Aktionsausdruck

• ereignisbedingte AktionSyntax: Ereignis["[" Wächterbedingung“]“]/Aktionsausdruck

Page 30: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Einfache Zustände

Kartenprüfung

do / pruefeKarte( )

prüfe Karte

:KontoAuszugsDrucker :WindowObjekt

Aktionszustand Wartezustand

Paßworteingabe

entry / ausschaltenEcho()onZeichentaste(Z:char) / transformiere(Z)onF1 / anzeigenHilfe()exit / einschaltenEcho()

Objekte

Zustände

bzw. alternativ

Page 31: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Einfacher Zustandsübergang

• Ein einfacher Zustandsübergang (Transition) ist der Übergang eines Objektes von einem Start- in einen Zielzustand

• Start- und Zielzustand können identisch sein• Auslöser:

– Ereignis und (optional) Wächterbedingung erfüllt (Wartezustand)

– Abschluß einer Aktivität (Aktionszustand)

• Zustandsübergang kann Aktionen auslösen

Page 32: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Notation eines Zustandsübergangs

• Syntax[Ereignis]["["Wächter-Bedingung“]"] / [Aktions-Ausdruck] [^Sendeklausel]

– Ereignis: Ereignisname[(Parameterliste)]– Aktions-Ausdruck: Liste von Aktionen, die durch den

Zustandsübergang ausgelöst werden– Sendeklausel: Zielobjekt.Ereignisname[(Paramterliste)]

Page 33: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ZustandsübergangBeispiel

WindowObjektedargestellt

WindowObjektselektiertClickMausTaste (Pos : Point)

[Pos-in-einemObjekt]/ Objekt := pickObjekt(Pos)∧ Objekt.blinken

Page 34: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ZustandsübergangsdiagrammDefinition

Ein Zustandsübergangsdiagramm zeigt die Zustände eines repräsentativen Objektes einer Klasse und die Zustandsübergänge in Form eines Graphens(Zustände=Knoten, Übergänge = Kanten). Es hat einen Startzustand (Symbol: ausgefüllter Kreis) und einen oder mehrere Endzustände (Symbol:Kreisring)

Page 35: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ZustandsübergangsdiagrammAuftrag

Aufgenommen

do / Bonität prüfen

Bestätigt

Angenommendo / Lieferdatum

ermitteln

Ausgeliefert

[Neukunde]

[Bestandskunde]

[Bonität nicht ok]

/ Ablehnen

/ Bestätigen

[Bonität ok]

/ Rechnung, ausliefern

Auslieferungsfähig

Zahlungseingang[Zahlung vollständig]

Zahlungseingang[Zahlung unvollständig]/ Anforderung Restbetrag

Zahlungszielverstrichen/ Mahnung

Page 36: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ZustandsübergangsdiagrammEinsatzfelder

• Modellierung von Zuständen eines Anwendungsfalls/Szenarios (in der Analysephase) oder eines Controller-Objektes (in der Designphase)

• Spezifikation von Objekten deren Verhalten stark ereignisgesteuert ist

Page 37: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zusammengesetzter ZustandDefinition

Ein zusammengesetzter Zustand besteht aus mehreren nebenläufigen Subzuständen (Regionen) oder sich gegenseitig ausschließende Subzuständen. Die Übergänge zwischen den Subzuständen eines zusammengesetzten Zustands werden i.a. mit Zustandsübergangsdiagrammen dargestellt.Die Details eines zusammengesetzten Zustands können verborgen werden.

Page 38: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zusammengesetzter ZustandTransitionen

• Übergang in einen zusammengesetzten Zustand (Z): Eine Transition, die gezeichnet am Rand des Symbols für Z endet, ist äquivalent mit einer Transition in alle Pseudoanfangszustände von Z. Eine Transition in einen Subzustand von Z ist möglich.

• Übergang von einem zusammengesetzten Zustand (Z): Ein Transition von Z führt zum unmittelbaren Verlassen aller Subzustände von Z. Eine (direkte) Transition von einem Subzustand in einen Zustand außerhalb von Z ist möglich.

Page 39: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zusammengesetzter ZustandInterne und externe Zustandsübergange

Zustand 2

Zustand 3

Zustand 4E2

E4

E6

E5

Zustand 1

E3

Zusammengesetzter Zustand

SubZust 2.1 SubZust 2.2 SubZust 2.3

SubZust 1.1 SubZust 1.2E1.1

E2.1

E1.2

E2.2 E2.3

H

E1Zustand 5

Page 40: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

• Eine Transition in den History Indicator eines zusammengesetzten Zustands (Z) (oder einer Region von Z) bedeutet, daß der Übergang in den Subzustand von Z erfolgt, den Z vor dem letztmaligen Verlassen eingenommen hatte.

• Symbol des History Indicators:

Zusammengesetzter ZustandHistory Indicator

H

Page 41: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Zusammengesetzter Zustand Zustandsübergangsrumpf

• Um bei einem zusammengesetzten Zustand, dessen Details innerhalb eines Zustandsübergangsdiagramms verborgen sind, zu symbolisieren, daß eine Transition in einen Subzustand erfolgt oder von einem Subzustand erfolgt, kann ein Zustandsübergangsrumpf verwendet werden.

• Symbol:

Page 42: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

ZustandsübergangsrumpfStruktur

(a) Zustandsübergangsdiagramm ohne Zustandsübergangsrumpf

(a) Zustandsübergangsdiagramm mit Zustandsübergangsrumpf

Zustand 1

Zustand 2

Zustand 3

E2

E1 Zustand 4

Zustand 5

E5

Zustand 3

Zustand 1

Zustand 2

SubZust 3.1

SubZust 3.2

E3

E4

Zustand 4

Zustand 5

E5

E5

E1

E2

Page 43: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Komplexer Zustandsübergang

• Unter einem komplexen Zustandsübergang versteht man eine Transition mit mehreren Startzuständen (Synchronisation) oder mehreren Zielzuständen (Verzweigung)

• Symbol:

Page 44: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Komplexer Zustandsübergang

Warenanlieferungerfolgt

Warenerhaltbestätigen

Wareprüfen

Lieferscheinprüfen

[ok][ok]

Page 45: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Übung Zustandsübergangsdiagramm - Lösung

Einstellmodus Stundenentry / BlinkenStdAnzeige ()onK3Press / StundenErhöhen ()exit / FestStdAnzeige ()

Normalzeit Einstellmodus Minutenentry / BlinkenMinAnzeige ()onK3Press / MinutenErhöhen ()exit / FestMinAnzeige ()

Uhrzeit

H

Start Knopf2Press

Knopf2Press

Knopf2Press

DatumUhrzeitHStart

/Initialisierung Normalzeit

Knopf1Press

Knopf1Press

(a)

(b)

Page 46: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Aktivitätendiagramm

Lerneinheit 2Lerneinheit 2

Page 47: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

AktivitätendiagrammDefinition und Einsatzfelder

• Spezialfall eines Zustandsübergangsdiagramms:– (fast) alle Zustände sind Aktionszustände– (fast) alle Zustandsübergänge werden durch den Abschluß

einer Aktivität ausgelöst

• Einsatzfelder:– Beschreibung von Arbeitsabläufen– Spezifikation einer komplexen Operation mit parallelen

Ablauf- und Kontrollpfaden

Page 48: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Entscheidungsknoten

• Ermöglicht die bedingungsabhängige Transition in einen oder mehrere Zustände

• Führt verschiedene Entscheidungszweige wieder zusammen

• Symbol:

Page 49: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Aktivitätendiagramm mit Entscheidungsknoten

prüfe Warenbewegungabgeschlossen

Lager: Stichtagsinventur durchführen

offene Warenbewegungabschließen

erfasse Bestand

[Warenbewegung nichtabgeschlossen]

[Warenbewegungabgeschlossen]

sperre betroffeneLagerbereiche drucke Inventurliste

Page 50: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

AktivitätendiagrammZustände unterschiedlicher Klassen

• In einem Aktivitätendiagramm können Zustände unterschiedlicher Klassen dargestellt werden

• Die einzelnen Klassen werden graphisch durch Verwendung von Bahnen (swimlanes) organisiert

Page 51: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

AktivitätendiagrammEinfluß der Aktivitäten auf Objektzustände

• Verändern die in einem Aktivitätendiagrammbeschriebenen Aktivitäten den Zustand eines Objektes, so kann dies explizit dargestellt werden:– Objekt wird zusammen mit seinem Zustand (in eckigen

Klammern) in einem Objektsymbol dargestellt – Verbindung mit den Aktivitäten, die eine Zustandsänderung

bewirken

Page 52: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Aktivitätendiagramm mit Objektzuständen

Lager

bereitstellen Ware

Auftrag[abholbereit]

übergeben Ware

Auftrag[aufgenommen]

erfasse Auftrags-daten in Rechnung

quittieren

bezahlen Rechnung

erteile Kaufauftrag

entgegen-nehmen Ware

Auftrag[erledigt]

VerkaufKunde

Auftrag[erteilt]

Use Case: Verkauf Möbelmitnahmemarkt

Page 53: UML - Diagramme - dipl-inf.de 2 Lerneinheit 2.pdf · Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg Unified Modeling Language überarbeitet UML 2.0 Diagramme in der UML • Wesentlicher

Prof. Dr. D. Frosch-WilkeProf. Dr. U. Samberg

Unified Modeling Language

überarbeitet UML 2.0

Übung Aktivitätendiagramm - Lösungeinholen

Lohnbestätigung

prüfe Kreditart

einholen Schufaauskunft

ermittle pfändbaresGehalt

einholenGrundbuchauszug schätze Liegenschaft

ermittleBeleihungsgrenze

prüfe Kreditantrag

gewähre Kredit ablehnen Kredit

prüfe Kreditantragdurch Vorstand

[Kreditantrag liegt vor]

[Kreditart =Konsumentenkredit] [Kreditart = Hypothekenkreditkredit]

[zu gewähren] [weiterleiten an Vorstand]

[abzulehnen]

[abzulehnen]

[zu gewähren]