42
KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) IPD Tichy, Fakultät für Informatik Kapitel 2.2 - Weitere UML-Diagrammtypen SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz

Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

  • Upload
    others

  • View
    12

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

IPD Tichy, Fakultät für Informatik

Kapitel 2.2 - Weitere UML-Diagrammtypen

SWT I – Sommersemester 2010

Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz

Page 2: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

UML-Diagramme

2 Kapitel 2.2 - Weitere UML-Diagrammtypen

Anwendungsfall-

diagramm

Interaktions-

diagramm

Aktivitäts-

diagramm

Klassen-

diagramm

Paket-

diagrammZustands-

diagramm

Ablauf

Strukturen

Szenarien

nach J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Verhalten

zwischen

Klassen

Interaktion

zwischen

Objekten

Struktu-

rierung

Verhalten

einer

Klasse

10.05.2010

Page 3: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Anwendungsfalldiagramm

(engl. use case diagram)

Zur Anforderungsspezifikation – was will der Benutzer von seinem System?

Modellieren typischer Interaktionen des Benutzers mit dem System

Gewinnung ausDialog mit dem (zukünftigen) Benutzer

Dialog mit Experten

Ermöglicht Kontrolle, ob das Systemdas vom Auftraggeber gewünschte leistet (Design und Implementierung)

3 Kapitel 2.2 - Weitere UML-Diagrammtypen

evtl. ≠ Kunde!

10.05.2010

Page 4: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Anwendungsfalldiagramm

(engl. use case diagram)

Zur Anforderungsspezifikation – was will der Benutzer von seinem System?

Modellieren typischer Interaktionen des Benutzers mit dem System

Gewinnung ausDialog mit dem (zukünftigen) Benutzer

Dialog mit Experten

Ermöglicht Kontrolle, ob das Systemdas vom Auftraggeber gewünschte leistet (Design und Implementierung)

4 Kapitel 2.2 - Weitere UML-Diagrammtypen

evtl. ≠ Kunde!

10.05.2010

Wichtig: Anwendungsfalldiagramme sind ein

Hilfsmittel zur Anforderungsermittlung und –

verwaltung. Sie zeigen nur Zusammenhänge

der an Anwendungsfällen beteiligten

Modellelemente.

Anwendungsfalldiagramme modelieren

kein Verhalten und keine Abläufe!

Page 5: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Definition

Def. Anwendungsfall: Ein Anwendungsfall ist eine

typische, gewollte Interaktion eines oder mehrerer Akteure

mit einem (geschäftlichen oder technischen) System.

Ein Anwendungsfall wird stets durch einen Akteur initiiert und führt

i.d.R. zu einem durch einen Akteur wahrnehmbaren Ergebnis.

Ein Anwendungsfall beschreibt was ein System leisten muss, nicht

wie es das leisten muss – er kann insbesondere mehrere

verschiedene Ablaufvarianten umfassen

5 Kapitel 2.2 - Weitere UML-Diagrammtypen

könnte z.B. mit einem Aktivitätsdiagramm

beschrieben werden

10.05.2010

Page 6: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel „Groupware-System“

6 Kapitel 2.2 - Weitere UML-Diagrammtypen

Benutzer

Groupware-System

Termin

eintragen

Termin

ändern

Termin

löschen

10.05.2010

Akteur

System

Anwendungsfall

Verb nicht

vergessen!

Page 7: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Benutzung anderer Anwendungsfälle

7 Kapitel 2.2 - Weitere UML-Diagrammtypen

Benutzer

Groupware-System

Termin

eintragen

Termin

ändern

Termin

löschen

Enthält-Beziehung

Der benutzte Anwendungsfall ist

notwendig, um die Funktionalität

des benutzenden sicherzustellen

Teilnehmer

verständigen«include»

«actor»

SMS-Gerät

Akteur

(alternative

Darstellungsweise)

«include»

«include»

10.05.2010

Page 8: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

UML-Diagramme

8 Kapitel 2.2 - Weitere UML-Diagrammtypen

Anwendungsfall-

diagramm

Interaktions-

diagramm

Aktivitäts-

diagramm

Klassen-

diagramm

Paket-

diagrammZustands-

diagramm

Ablauf

Strukturen

Szenarien

nach J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Verhalten

zwischen

Klassen

Interaktion

zwischen

Objekten

Struktu-

rierung

Verhalten

einer

Klasse

10.05.2010

Page 9: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Aktivitätsdiagramm

Ein Aktivitätsdiagramm beschreibt einen Ablauf

Betriebswirtschaftliche oder geschäftliche Prozesse

Technische Abläufe von Workflows und Anwendungsfällen

Konkrete algorithmische Abläufe in Programmen

Aktivitätsdiagramme bestehen aus

Aktions-, Objekt- und Kontrollknoten, sowie

Objekt- und Kontrollflüssen.

Semantik lehnt sich an Petrinetze an

9 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 10: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel

10 Kapitel 2.2 - Weitere UML-Diagrammtypen

Software entwickeln

Implemen-

tierung

Planung

Definition

Entwurf

Testen &

Abnahme

Einsatz &

Wartung

Startknoten

Aktivität (auch: Aktivitätsdiagramm)

Aktivitätsname

Aktion (Aktionsknoten, umgangssprachlich

auch Ablaufschritt oder Aktivität genannt.)

ObjektflussKontrollfluss

Objektknoten

Endknoten

Lastenheft

Projektplan

Kalkulation

Pflichtenheft

GUI-Beschreibung

Benutzerhandbuch

Entwurfs-

dokumente

Modulführer

Komponenten

Dokumentation

Testeinrichtung

Fertiges

System

10.05.2010

Page 11: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente eines Aktivitätsdiagramms

Aktionen

Elementare Aktion

Verschachtelte Aktion

Knoten

Startknoten

Startpunkt eines Ablaufs

Endknoten

Beendet alle Aktionen und

Knotrollflüsse

Ablaufende

Beendet einen einzelnen Objekt-

und Kontrollfluss

11 Kapitel 2.2 - Weitere UML-Diagrammtypen

A

B

10.05.2010

Page 12: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente eines Aktivitätsdiagramms (2)

Entscheidung

„if“-Verzweigung

Zusammenführung

„oder“-Verknüpfung

Teilung

Aufteilung eines Kontrollflusses

Synchronisation

„und“-Verknüpfung

12 Kapitel 2.2 - Weitere UML-Diagrammtypen

[x>0] [x<=0]

10.05.2010

Page 13: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Ausführungssemantik - Aktionen

Die Abfolge der Aktionen wird durch Kontrollfluss- und Objektflusskanten gesteuert. (Abk. KFK bzw. OFK)

Auf Kontrollflusskanten wandern Kontrollmarken, auf Objektflusskanten wandern Objektmarken

Eine Aktion kann erst dann ausgeführt werden, wenn alle eingehenden KFK und OFK Marken tragen.

Wenn die Aktion beginnt werden Marken von den eingehenden Kanten entnommen:

Eine Objektmarke von jeder OFK sowie

Alle Kontrollmarken von den KFK. (Achtung: Abweichung von Petrinetz-Semantik!)

Nach Ende der Aktion werden auf allen ausgehenden KFK und OFK Marken angeboten, die dann wiederum anderen Aktionen zur Verfügung stehen.

13 10.05.2010 Kapitel 2.2 - Weitere UML-Diagrammtypen

Page 14: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Ausführungssemantik - Beispiel

14 Kapitel 2.2 - Weitere UML-Diagrammtypen

Beispiel1Beispiel1

A

B

C

D

[Bed.]

[¬Bed.]

10.05.2010

Page 15: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Ausführungssemantik Beispiel – Animation

31 Kapitel 2.2 - Weitere UML-Diagrammtypen

B

C

D

[Bed.]

[¬Bed.]

CC

B D

AAAA

Beispiel1

10.05.2010

Page 16: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente eines Aktivitätsdiagramms (3)

Objektknoten

Eingabe- und Ausgabedaten einer Aktion

Darstellung durch Stecker (engl. pin)

Alternative Darstellungen

32 Kapitel 2.2 - Weitere UML-Diagrammtypen

AktionEingabe Ausgabe

AktionEingabe Ausgabe

AktionEingabe Ausgabe

10.05.2010

Page 17: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente eines Aktivitätsdiagramms (4)

Parameter von Aktivitäten

33 Kapitel 2.2 - Weitere UML-Diagrammtypen

AktivitätEingabe Ausgabe

Eingabe Ausgabe

Aktivität

Eingabe: Typ1

Ausgabe: Typ2

Parameter-

deklaration

Eingangs-

paramter

Ausgangs-

parameter

… …

10.05.2010

Page 18: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente eines Aktivitätsdiagramms (5)

Partitionen (Verantwortlichkeitsbereiche)

Partitionen beschreiben wer oder was für einen Knoten

verantwortlich ist oder welche gemeinsame Eigenschaft sie

kennzeichnet.

Partitionen könnten z.B. unterschiedliche Rechner sein, die

zusammenwirken (z.B. Dienstgeber und Klient)

34 Kapitel 2.2 - Weitere UML-Diagrammtypen

Schritt 1

Schritt 2Schritt 3

Partition A Partition B

(Partition A)

Schritt 1

(Partition B)

Schritt 2

(Partition A)

Schritt 3

10.05.2010

Page 19: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

UML-Diagramme

35 Kapitel 2.2 - Weitere UML-Diagrammtypen

Anwendungsfall-

diagramm

Interaktions-

diagramm

Aktivitäts-

diagramm

Klassen-

diagramm

Paket-

diagrammZustands-

diagramm

Ablauf

Strukturen

Szenarien

nach J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Verhalten

zwischen

Klassen

Interaktion

zwischen

Objekten

Struktu-

rierung

Verhalten

einer

Klasse

10.05.2010

Page 20: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Interaktionsdiagramme

Zeigen die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten

Das Klassendiagramm ist Grundlage der Interaktionsdiagramme

Vier TypenKollaborationsdiagramm / Kommunikationsdiagramm

Schwerpunkt: Struktur der Interaktionspartner

ZeitdiagrammSchwerpunkt: Zeitliche Koordination

InteraktionsübersichtAktivitätsdiagramm zur Veranschaulichung komplexer Sequenzdiagramme

SequenzdiagrammSchwerpunkt: Nachrichtenaustausch

36 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 21: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Interaktionsdiagramme

Zeigen die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten

Das Klassendiagramm ist Grundlage der Interaktionsdiagramme

Vier TypenKollaborationsdiagramm / Kommunikationsdiagramm

Schwerpunkt: Struktur der Interaktionspartner

ZeitdiagrammSchwerpunkt: Zeitliche Koordination

InteraktionsübersichtAktivitätsdiagramm zur Veranschaulichung komplexer Sequenzdiagramme

SequenzdiagrammSchwerpunkt: Nachrichtenaustausch

37 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 22: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Interaktionsdiagramme

Zeigen die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten

Das Klassendiagramm ist Grundlage der Interaktionsdiagramme

Vier TypenKollaborationsdiagramm / Kommunikationsdiagramm

Schwerpunkt: Struktur der Interaktionspartner

ZeitdiagrammSchwerpunkt: Zeitliche Koordination

InteraktionsübersichtAktivitätsdiagramm zur Veranschaulichung komplexer Sequenzdiagramme

SequenzdiagrammSchwerpunkt: Nachrichtenaustausch

38 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 23: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Interaktionsdiagramme

Zeigen die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten

Das Klassendiagramm ist Grundlage der Interaktionsdiagramme

Vier TypenKollaborationsdiagramm / Kommunikationsdiagramm

Schwerpunkt: Struktur der Interaktionspartner

ZeitdiagrammSchwerpunkt: Zeitliche Koordination

InteraktionsübersichtAktivitätsdiagramm zur Veranschaulichung komplexer Sequenzdiagramme

SequenzdiagrammSchwerpunkt: Nachrichtenaustausch

39 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 24: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Sequenzdiagramm

Ursprünglich für die Modellierung von Telekommunikationsdiensten

Exemplarische Darstellung eines möglichen Ablaufs eines Anwendungsfalls

Darstellung von Varianten sind möglich („alt“, „loop“), von dieser Möglichkeit sollte aber nur selten Gebrauch gemacht werden

Konzentration auf den zeitlichen Verlauf der NachrichtenZeit verläuft von oben nach unten

Rollen werden durch senkrechte gestrichelte Linien dargestellt

Nachrichten werden durch waagerechte Pfeile zwischen Rollenlinien gezeichnet

Intuitiv, aber benötigt viel Platz

40 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 25: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel

41 Kapitel 2.2 - Weitere UML-Diagrammtypen

:Artikel-

Reservierungb:Bestellung

bpos:Bestell-

Position

:Artikel-

Lager

reserviere(b)

bpos=gibBestellPos()

artikel=gibArtikel()

anzahl=gibAnzahl()

reserviere(artikel, anzahl)

Lebenslinie

Antwort

Nachricht

anonymes

Objekt

Steuerungsfokus

Lokale

Attribute

10.05.2010

Page 26: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Elemente Sequenzdiagramm

NachrichtentypenSynchrone Nachrichten

Antworten (optional)

Asynchrone Nachrichten

SteuerungsfokusÜberlagerung der gestrichelten Lebenslinien durch senkrechte Balken

Gibt an, welche Rolle die Programmkontrolle besitzt

Optional

42 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 27: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Weitere Notationselemente

43 Kapitel 2.2 - Weitere UML-Diagrammtypen

x:Klasse1 y:Klasse2

nachricht()

alt nachricht1()[i>0]

[else] nachricht2()

:KlasseX

z:Klasse3

Interaktion2ref

nachricht3()

nachricht4()

create

sd Interaktion1

i:integer

Interaktionsverweis

Selbstaufruf

Deklaration lokaler

Attribute

Objekt-

Zerstörung

Verzweigung

10.05.2010

Objekt-

Erzeugung

Page 28: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Operatoren

Operator Bed./Parameter Bedeutung

alt [bed.1], [bed.1],

… [else]

Nur eine der Alternativen wird ausgeführt.

break [bedingung] Ist die Bedingung wahr, dann wird nur der Block

ausgeführt und anschließend endet das Szenario.

opt [bedingung] Optionale Sequenz. Die Teilsequenz wird nur ausgeführt,

wenn die Bedingung wahr ist.

par Enthaltene Teilsequenzen werden parallel ausgeführt.

44 Kapitel 2.2 - Weitere UML-Diagrammtypen

Operatoren dienen dazu, alternative Abläufe und

Verzweigungen auszudrücken

Nur mit großer Vorsicht verwenden, da dies schnell

unübersichtlich wird

Bei einer Vielzahl von Möglichkeiten eignet sich eher ein

Aktivitätsdiagramm

10.05.2010

Page 29: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

UML-Diagramme

45 Kapitel 2.2 - Weitere UML-Diagrammtypen

Anwendungsfall-

diagramm

Interaktions-

diagramm

Aktivitäts-

diagramm

Klassen-

diagramm

Paket-

diagrammZustands-

diagramm

Ablauf

Strukturen

Szenarien

nach J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Verhalten

zwischen

Klassen

Interaktion

zwischen

Objekten

Struktu-

rierung

Verhalten

einer

Klasse

10.05.2010

Page 30: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Zustandsdiagramm

Beschreibt mögliche Zustände eines Objekts sowie

mögliche Zustandsübergänge (endlicher Automat)

Auf Basis der Interaktionsdiagramme für Klassen mit

„interessantem Verhalten“, z.B.

Reale Dinge, die als „automatisch“ bezeichnet werden

(Geldautomat, Garagenöffner, WaMa)

Kommunikationsprotokolle

Benutzerinteraktive Geräte

Gültigkeit

Für den gesamten Lebenszyklus

Für die Ausführung einer Operation

46 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 31: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel „Flugreservierung“

47 Kapitel 2.2 - Weitere UML-Diagrammtypen

Ohne

Reservierungentry / zurücksetzen

AusgebuchtGeschlossen

Teilweise

reserviert

reservieren()

stornieren()

[reserviertePlaetze=1]

schliessen()

schliessen()

reservieren()

[freiePlaetze=1]stornieren()

flugStreichen()

stornieren()

[reserviertePlaetze>1]

Anfangszustand

Transition / Zustandsübergang

Zustand

Endzustand

Ereignis

Bedingung (auch: guard, Wächter) reservieren()

[freiePlaetze>1]

ε-Übergang

10.05.2010

Page 32: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Zustandsdiagramm

Ein Zustandsübergang wird durch ein Ereignis ausgelöstAn den Pfeilen werden die Transitionsbeschreibungen in folgender Form eingetragen:

ereignis(argumente)[bedingung]/operation(argumente)

Ein Zustandsübergang findet nur statt, wenn zu dem Zeitpunkt, zu dem das Ereignis eintritt, auch die entsprechende Bedingung gültig ist (guarded transition)

Sonderfall: ε-Übergang (auch „Spontanübergang), braucht kein Ereignis, kann jederzeit erfolgen, wenn

Das System sich in dem Zustand befindet und

Die Bedingung erfüllt ist

48 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 33: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Zustandsdiagramm

Spezielle Ereignisse

at(ausdruck)Der Ausdruck beschreibt einen exakten absoluten Zeitpunkt.

Sobald der Zeitpunkt erreicht ist, feuert die Transition.

after(ausdruck)Hier muss der Ausdruck einen relativen Zeitpunkt beschreiben.

49 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 34: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Aktionen

Aktionen

Mit einem Zustandsübergang kann eine Aktion verbunden sein.

Eintrittsaktion (entry action): wird beim Übergang in den Zustand

ausgeführt.

Schreibweise: entry / aktion()

Austrittsaktion (exit action): wird beim Übergang aus dem Zustand

in einen anderen ausgeführt.

Schreibweise: exit / aktion()

Eine Aktion wird beim entspr. Übergang sofort ausgeführt

und benötigt keine (bzw. vernachlässigbare) Zeit

50 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 35: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel „Flugreservierung“

51 Kapitel 2.2 - Weitere UML-Diagrammtypen

Ohne

Reservierungentry / zurücksetzen()

AusgebuchtGeschlossen

Teilweise

reserviert

reservieren()

stornieren()

[reserviertePlaetze=1]

schliessen()

schliessen()

reservieren()

[freiePlaetze=1]stornieren()

flugStreichen()

stornieren()

[freiePlaetze>1]

Anfangszustand

Transition / Zustandsübergang

Zustand

Endzustand

Ereignis

Bedingung (auch: guard, Wächter) reservieren()

[reserviertePlaetze>1]

ε-Übergang

10.05.2010

Page 36: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Weitere Möglichkeiten

Hierarchischer Zustandsautomat

52 Kapitel 2.2 - Weitere UML-Diagrammtypen

Ohne Hierarchie Mit Hierarchie

≙A

B

C

a

b

b

c

d D

A

B

C

ab

c

d

10.05.2010

Page 37: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Weitere Möglichkeiten

Zustände mit Gedächtnis

Beim Übergang in einen Zustand mit Unterzuständen wird in den

zuletzt eingenommenen Zustand zurückgekehrt

53 Kapitel 2.2 - Weitere UML-Diagrammtypen

Markierung eines

Zustands mit

Gedächtnis

(H wie History)

A

B

C

ac

d

b

H

D

10.05.2010

Page 38: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Weitere Möglichkeiten

Nebenläufigkeit

Während System im Zustand G verweilt, kann es alle

Zustandskombinationen aus E×F annehmen

54 Kapitel 2.2 - Weitere UML-Diagrammtypen

A

B

a b

C

D

c d

G

E F

10.05.2010

Page 39: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

UML-Diagramme

55 Kapitel 2.2 - Weitere UML-Diagrammtypen

Anwendungsfall-

diagramm

Interaktions-

diagramm

Aktivitäts-

diagramm

Klassen-

diagramm

Paket-

diagrammZustands-

diagramm

Ablauf

Strukturen

Szenarien

nach J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Verhalten

zwischen

Klassen

Interaktion

zwischen

Objekten

Struktu-

rierung

Verhalten

einer

Klasse

10.05.2010

Page 40: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Paketdiagramm

Pakete sind Ansammlungen von Modellelementen (ME) beliebigen Typs (z.B. Anwendungsfälle, Klassen, …)

Das Paketdiagramm dient der Gliederung des Gesamtmodells in überschaubare Einheiten

Ein ME besitzt innerhalb des Pakets einen eindeutigen Namen

Ein ME kann in anderen Paketen über seinen qualifizierten Namen zitiert werden:

Paketname::ME-Name

In einem Paketdiagramm werden Abhängigkeiten zwischen Paketen mit einem gestrichelten Pfeil dargestellt.

56 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010

Page 41: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Beispiel

57 Kapitel 2.2 - Weitere UML-Diagrammtypen

Übersetzer

AST

Code-

GenerierungParser Semantische

Analyse

Paket

Benutzt-Beziehung

Übersetzer

AST

Parser

Semantische Analyse

Code-Generierung

Alternativ: (ohne Benutzt-Beziehungen)

Übersetzer

Semantische

Analyse

Code-

GenerierungParserAST

10.05.2010

Page 42: Kapitel 2.4.5 Weitere UML-Diagrammtypen · UML-Diagramme 8 Kapitel 2.2 - Weitere UML-Diagrammtypen Anwendungsfall-diagramm Interaktions-diagramm Aktivitäts-diagramm Klassen-diagramm

Literatur

Bernd Oestereich, „Analyse und Design mit UML 2.x –

Objektorientierte Softwareentwicklung“, mit x≥0

Harald Störrle, „UML 2 für Studenten“

UML-Spezifikation unter http://www.uml.org/#UML2.0

Speziell „UML 2.0 Superstructure Specification“

und „UML 2.0 Infrastructure Specification“, insbes. Ch. 4 Terms and

Definitions

58 Kapitel 2.2 - Weitere UML-Diagrammtypen10.05.2010