05 ai uml_illik_students_part_2_de

48
1. 1 Ambit Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit. Knowledge enables your business ambitions. We deliver knowledge and create value. Worldwide. UML 2.x Part 2 Einführung Fort. / Introduction cont. J. Anton Illik

description

This is the German language version of a 3 part UML introduction. A slide set with English language is also available.

Transcript of 05 ai uml_illik_students_part_2_de

Page 1: 05 ai uml_illik_students_part_2_de

1. 1Ambit

Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit.

Knowledge enables your businessambitions.We deliver knowledge and create value.Worldwide.

UML 2.xPart 2Einführung Fort. / Introduction cont.

J. Anton Illik

Page 2: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de2

UML intro & overview

Inhalt• 5. Komponentendiagramm

(Component Diagram)

• 6. Verteilungsdiagramm (Deployment Diagram)

• 7. Use-Case-Diagramm(Use Case Diagram)

• 8. Aktivitätsdiagramm (Activity

Diagram)

• 9. Zustandsautomat (State Machine)

• 10. Sequenzdiagramm (Sequence Diagram)

• 11. Kommunikations-diagramm(Communication Diagram)

• 12. Timingdiagramm (Timing Diagram)

• 13. Interaktionsübersichts-diagramm(Interaction Overview Diagram)

Ach

tun

g:

Rei

hen

folg

e ka

nn

sich

änder

n!

Eben

so d

ie V

erte

ilung d

er K

apitel

.

Page 3: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de3

5. Komponentendiagramm(Component Diagram)ap

it el 3

K

• Komponentendiagramme ähnelnKlassendiagrammen.

• Konzentrieren sich auf höher angesiedelte Abstraktionen der Subsystemebene (Komponenten, Schnittstellen und ihre Beziehungen).

• Das Komponentendiagramm gibt die Möglichkeit die Struktur eines Systems zur Laufzeit darzustellen. Die Darstellung orientiert sich dabei an der gewählten Komponentenstruktur.

Page 4: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de4

5. Komponentendiagramm(Component Diagram)ap

it el 3

K

• Notationselemente– Komponente (ist physikalischer Systemteil;

verschiedene Arten; siehe nächste Seite)– Artefakte

• z.B.kompilierte Objektdatei, • Stück Quellcode, • Shared Library, • Enterprise JavaBean (EJB), • usw.; • auch „Entität aus der Anwendungswelt“)

Page 5: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de5

5. Komponentendiagramm(Component Diagram)ap

it el 3

K

• UML-Standard-Stereotypen bieten folgende Komponentenarten an– document– entity– executable– File– library– process– service– specification– subsystem– table

Page 6: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de6

5. Komponentendiagramm(Component Diagram)

Kap

it el 3

<<component>>

Komponente1

Komplexer Port Implementierte Schnittstelle

<<component>>Komponente2

Bestandteil3

Bestandteil4

Klasse

<<spezifcation>>specDoc

Bestandteil2Bestandteil1

AllgemeineAbhängigkeitsbeziehung

<<compontent>>Komponente4

<<subsystem>>Komponente3

Realisierungsbeziehung

Port<<artifact>>Artefakt1

Bestandteil einer Komponente

<<artifact>>Komponente6

Implementierungsbeziehung

<<manifest>>

Black-Box-SichtWhite-Box-SIcht

Kompositionskonektor

Komponente

Verwendungs-Beziehung<<use>>

Delegationskonnektor

Benötigte Schnittstelle

Page 7: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de7

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

• Das Verteilungsdiagramm zeigt die Zuordnung von Artefakten auf Hardware-Einheiten, die als Knoten bezeichnet werden.

• Mit anderen Worten: Verteilungsdiagramme zeigen die Knoten, auf denen das System läuft. Knoten sind pysikalische Einheiten ( = Hardware)

• Daneben stellt das Verteilungsdiagramm die Kommunikationsverbindungen und Abhängigkeiten zwischen den Knoten dar.

Page 8: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de8

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

• Artefakte– Artefakte modellieren physikalesche Informationen

über ein System• Neben Hardware lassen sich auch• Benutzerhandbücher• Schulungsmaterial• Passwortdatei• jar-Archiveals Artefakte modellieren.

– Artefakte geben also die Begrifflichkeiten des modellierten Systems wieder.

Page 9: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de9

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

• Artefakte– Ein Beispielartefakt: ein Java-jar-Archiv

– Artefakte können (wie andere UML-Classifier auch) Eigenschaften besitzen

NachrichtenübermittlungsFramework.jar

NachrichtenübermittlungsFramework.jar

Reentrant: booleannumLoggers: int = 1

Page 10: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de10

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3

• NotationselementeK

– Knoten • gebräuchliche Knoten-Stereotypen:

– client– server– database– backup server

– Kommunikationspfad– Verteilungsbeziehung– Einsatzspezifikation

Page 11: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de11

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l K

3

Knoten 2<<device>>

Knoten 3<<executionenvironment>>

KommunikationspfadKnoten 1<<device>>

execution: threadTransaction: false

Deployment spezifikation

Deployment Beziehung

Artefakt

Page 12: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de12

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

ServerEin Knoten

Ein Knoten mit mehreren Abschnitten

Server<<components>>Buchungssystem.jarComon.jar

Page 13: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de13

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

Ein Knoten mit verteilten Komponenten

Server

Buchungssytem.jar Common.jar

<<deploy>> <<deploy>>

Page 14: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de14

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

Mehrere Knoten und ihre Verbindung

Client

BuchungsserverDatenbankserver

<<LAN>>

<<Internet>>

Page 15: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de15

Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

•CaseStudyVerteilungsdiagramm:

Verteilung einer Autoscheibenserviceeinheit

Page 16: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de16

Vierter Diagrammtypap

it el 3

K

Verhaltensmodellierung[Behaviour Modelling]

Page 17: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de17

7. Use-Case-Diagramm (Use Case Diagram)

apit e

l 3K

• Anwendungsfalldiagramme zeichnen Anforderungen an ein System auf: im Überblickund aus Sicht der Benutzer.

• Anwendungsfälle haben oft eine Beziehung im Sinne von– Generalisierung ( )– Erweiterung (<<extends>>) und– Enthaltensein(<<include>>)

zu anderen Anwendungsfällen im selben System

Page 18: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de18

7. Use-Case-Diagramm (Use Case Diagram)

apit e

l 3

• Notationselemente– Use Case (Anwendungsfall)– System (Betrachtungsgegenstand)– Akteuer (Rolle, die ein Benutzer übernimmt, wenn er

den Anwendungsfall aufruft)– <<include>> - Beziehung

• Anwendungsfall kann das Verhalten eines anderen Anwendungsfalls enthalten. Der enthaltene Anwendungsfall wird nicht selbständig genutzt, sondern ist Teil eines anderen, größeren Anwendungsfalls.

– <<extend>> - Beziehung• Gehört nicht zum normalen, grundsätzlichen Ablauf.

– Generalisierungsbeziehung

K

Page 19: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de19

7. Use-Case-Diagramm (Use Case Diagram)

apit e

l 3K

Drahtlos synchronisieren

Seriellsynchronisieren

Datensynchronisieren

Eine Anwendungsfallgeneralisierung

Datenkopplung

Page 20: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de20

7. Use-Case-Diagramm (Use Case Diagram)

apit e

l 3K

Akteur 1

AnwendungsfallDebug-Infoaufzeichnen

MitverwendeterAnwendungsfall

<<include>>

<<extend>>

Dazu gehört ein Anwendungsfalldokument, in dem die Funktionalität beschrieben ist. U.U. prosa, Word-Datei. -> Technisch gesehen kein Teil der UML.Typischer Inhalt: Kurzbeschreibung (WAS?), Vorbedingungen, Basisablauf

Rechnungswesen

SystemnameAkteur 2

Bankkunde

Akteur 3

Page 21: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de21

Use-Case-Diagrammap

it el 3

K

•CaseStudyUse-Case-Diagramm:

Modellierung für ein Online-Banking-System

Page 22: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de22

8. Aktivitätsdiagramm (Activity Diagram)

apit e

l 3K

• Mit Hilfe von Aktivitätsdiagrammen lassen sich– komplexe Verläufe– unter Berücksichtung von Nebenläufigkeiten, – alternativen Entscheidungswegen und Ähnlichemkonkret modellieren und nachvollziehen.

• Aktivitätsdiagramme zeichnen – wie Zustandsautomaten /

Zustandsdiagramme – ein Bild vom Verhaltensablauf, – konzentrieren sich jedoch dabei auf

Zustandsübergänge (d.h. die einzelnen Schritte)– und nicht auf deren Auslöser

Page 23: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de23

8. Aktivitätsdiagramm (Activity Diagram)

apit e

l 3

• NotationselementeK

– Aktion („Einzelschritt einer komplexeren Funktionalität“)

– Aktivität („Folge von Aktionen“)

– Objektknoten– Kanten– Kontrollknoten– Startknoten– Endknoten– Verzweigungs- und Verbindungsknoten– Synchronistations- und Parallelisierungsknoten– Parametersatz

– Unterbrechungsbereich– Exception-Handler– Aktivitätsbereich– Strukturierte Knoten– Mengenverarbeitungsbereich– Schleifenknoten– Entscheidungsknoten

Page 24: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de24

8. Aktivitätsdiagramm (Activity Diagram)

Kap

it el

Einladung bekommen

Einladung Datum prüfen

Lust auf Feier prüfen

Feier zusagenFeier absagen

[keine Zeit]

[Zeit vorhanden]

[keine Lust]

[Lust vorhanden]

Aktivitätsname

Möglicher Ablauf

Aktivität

Objektknoten Eingabeparameter

Aktion

Aktivitätskante

Bedingung

Kontrollknoten,Entscheidungsknoten

Endknoten

Startknoten

3

Page 25: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de25

8. Aktivitätsdiagramm (Activity Diagram)

apit e

l 3K

Weihnachts-geschenk

Geschenkeinpacken

Paketaufkleberadressieren

Unter den Baumlegen

Geschenk einpacken

[Empfänger wohnt weiter weg]

[Empfänger wohnt in der Nähe]

Ein Verzweigungsknoten im Einsatz / Entscheidung im Aktivitätsdiagramm

Page 26: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de26

8. Aktivitätsdiagramm (Activity Diagram)

apit e

l 3K

Etwas parallelisieren und wieder zusammenführen

…….

…….

…….

Page 27: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de27

9. Zustandsautomat (State Machine)

apit e

l 3K

Mit dem Zustandsautomaten wird die Möglichkeit gegeben, das Verhalten beliebiger Classifier zu modellieren. Sie spezifizieren dieses Verhalten mittels

– Zuständen, die ein Classifier einnehmen kann, – und Übergängen (Transition) zwischen den

Zuständen, die durch – interne oder externe Ereignisse initiiert werden

können. Zustandsdiagramme zeigen verschiedene

Stadien/Zustände an, die eine Entität in ihrem Leben durchlaufen kann.

Page 28: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de28

9. Zustandsautomat (State Machine)

apit e

l 3

• NotationselementeK

– Einfacher Zustand– Transition („Zustandsübergang“)

– Startzustand– Endzustand– Pseudozustände– Kreuzung– Entscheidung– Terminator– Zusammengesetzter Zustand– Unterzustandsautomatenzustände– Nebenläufigkeiten werden wie im Aktivitätsdiagramm

modelliert (gleiche Symbolik)

– Ein- und Austrittspunkt– Region– Historie– Spezialisierung– Protokollzustandsautomat

Page 29: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de29

9. Zustandsautomat (State Machine)

Kap

it el

Fahrkartenautomat

wartend GeldaufnahmeDo[Münze eingeben]/ Betrag erhöhen

Abbruch

Entry / Betragausgeben

Berechnung

do / Preisberechnen

Ausgabe Fahrkarte

Entry / Fahrkarteausgeben

Ausgabe Wechselgeld

do / Wechselgeld

ausgeben

Betrag erhöht[Münze eingeben]

[Betrag<Preis]

[Betrag>Preis]

Fahrkarte ausgewählt

Cancelgewählt

After(Timeout)

[Betrag = Preis]

Stoppgedrückt

Name des ZustandsautomatenTrigger / Auslöser Guard / Wächterbedingung

Kreuzungspunkt

Entry: Eintrittsverhalten

TimeTrigger

Aktionslabels:entryexitdoinclude

3

Startzustand

Zustand

Transition

Do: Zustandsverhalten

Page 30: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de30

10. Sequenzdiagramm (Sequence Diagram)

apit e

l 3K

• Der am häufigsten verwendete Typ von Interaktionsdiagramm. Zeigt chronologische Sichtdes zwischen den Elementen/Entitäten stattfindenden Nachrichtenaustauschs.

• In Sequenzdiagrammen wird der dynamische Ablauf zwischen Objekten unter Berücksichtigung der zeitlichen Abfolge dargestellt.

Page 31: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de31

10. Sequenzdiagramm (Sequence Diagram)

apit e

l 3

• NotationselementeK

– Interaktion / Interaktionsrahmen– Lebenslinie– Nachricht– Zustandsinvariante– Kombiniertes Fragment– Ordnungsbeziehung– Interaktionsreferenz– Verknüpfungspunkt– Zerlegung von Lebenslinien

Page 32: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de32

10. Sequenzdiagramm (Sequence Diagram)

objekt2

Rekursion

Lebenslinie

objekt1 objekt2

[x>0] nachricht1()

Kap

itel

Beteiligte Objekte

3

objekt1

nachricht()a(a-b<2 sec.)

bantwortZusicherung Aktionssequenz

[x<=0] nachricht2()

antwort2

Steuerungs-fokus

antwort1

Auflistung der Nachrichten von oben nach unten

Page 33: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de33

10. Sequenzdiagramm (Sequence Diagram)

apit e

l 3K

objekt1

objekt2neu()

antwort

objekt1 objekt2

Iterationnachticht()

*nachricht()

Objektkonstruktion und -dekonstruktion

zerstöre()

antwort

Page 34: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de34

Aktivitätsdiagrammap

it el 3

K

•CaseStudyAktivitätsdiagramme:

Modellierung Verlauf einer Party

Page 35: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de35

11. Kommunikationsdiagramm(Communication Diagram)ap

it el 3

K

• Eng mit dem Sequenzdiagramm verwandt / Alternative zum Sequenzdiagramm.

• Legt jedoch mehr gewicht darauf, wer mit wem kommuniziert. Der zeitliche Aspekt wird wenigerbetont.

• In einem Kollaborationsdiagramm werden der dynamische Ablauf und dessen logische Abfolgeim Rahmen einer Kollaboration von Objekten (Zusammenarbeit zur Realisierung eines Anwendungsfalls) gezeigt.

Page 36: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de36

11. Kommunikationsdiagramm(Communication Diagram)• Notationselemente

– Interaktion / Interaktionsrahmen– Lebenslinie („virtuell, nur der „Kopf“ wird dargestellt)– Nachricht

Kap

itel 3

Page 37: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de37

11. Kommunikationsdiagramm(Communication Diagram)ap

it el 3

K

objekt:Klasse

objekt:Klasse

objekt:Klasse

[Bedingung] 1.2:antwort:=nachricht(arg.)

1.1.*.nachricht(argumente)StartNachricht()

Reihenfolge

sequenziell

synchron

eingeschränkt

zeitabhängig

asynchron

Nachrichten werden durch Linien zwischen den Kommunikationspartnern dargestell.

Page 38: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de38

12. Timingdiagramm (Timing Diagram)

apit e

l 3K

• Das Timingdiagramm zeigt das zeitliche Verhalten von Classifiern in einem System.

• Stellt konkreten zeitlichen Ablauf der Nachrichten in den Mittelpunkt.

Page 39: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de39

12. Timingdiagramm (Timing Diagram)

apit e

l 3

• NotationselementeK

– Interaktion / Interaktionsrahmen– Lebenslinie– Zeitverlaufslinie– Nachricht– Sprungmarke– Wertverlaufslinie– Ordnungsbeziehung

Page 40: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de40

12. Timingdiagramm (Timing Diagram)

Kap

it el

Fußgängerampel

Name des Diagramms Zeitdauerbedingung

swimlane

:Am

pel

:Fuß

gäng

ergrün

rot

betriebsbereit

aktiv

wartend

{d…6*d}

Sek.0 1 2 3

d

aktivieren

gehennichtgehen

Zeitverlaufslinie

Nachricht

3

ZustandZeitskala

Page 41: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de41

13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)ap

it el 3

K

• Ein Interaktionsübersichtsdiagramm zeigt das Zusammenspiel verschiedener Interaktionen, indem es Abfolgen von Interaktionen und Interaktionsreferenzen mittels einer Variante des Aktivitätsdiagramms darstellt. -> Vereinfachte Version eines Aktivitätsdiagramms (siehe CaseStudy „Party-Modellierung“)

• Verfeinert wird fallspezifisch mit – Sequenzdiagramm– Kommunikationsdiagramm– Timingdiagramm

Page 42: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de42

13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)ap

it el 3

• NotationselementeK

– Interaktion / Interaktionsreferenz– Kontrollelemente

Page 43: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de43

13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)ap

it el 3

K

Geldautomat

ref

ref

ref

ref

ref

sd

KarteneinschubPIN Eingabe

Geldtransaktionabwickeln

Kartenauswurf

Karteneinzug:Authentifizierungs-

system :Display

Anzeigen („Karte wird eingezogen“)

{0..10} ZeiteinheitMinuten

[Dauer > 10]

[else]

[PIN Eingabe== 0]

[PIN Eingabe== fehlgeschlagen]

Interaktionsreferenz

Verzweigungsknoten

Verbindungsknoten

Paralellisierungsknoten

EndknotenKante Synchronisationsknoten

Page 44: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de44

Zustandsautomatap

it el 3

K

•CaseStudyZustandsdiagramme:

Modellierung eines Fahrkartenautomaten

Page 45: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de45

Kapitel 4

4 UML Modellentwicklung

Kap

it el 4

Page 46: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de46

UML Diskussionap

it el 4

K

Wie würden Sie bei der Modellentwicklung vorgehen? Grobe Reihenfolge der Modellentwicklung?

Page 47: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de47

Literatur

Literatur

Lite

ratu

r

Page 48: 05 ai uml_illik_students_part_2_de

www.ambit.de

www.ambit.de48

UML verwendete und weiterführende Literatur1. Wolfgang Zuser, Thomas Greching, Monika Köhle:

„Software Engineering mit UML und UnifiedProcess“; Pearson Studium, München, 2004

2. Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“; Hanser, München, 2005

3. Heide Balzert: „UML 2 kompakt“; Spektrum, Heidelberg, 2005