05 ai uml_illik_students_part_2_de

Post on 26-Jun-2015

981 views 1 download

description

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

transcript

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

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

.

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.

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“)

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

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

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.

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.

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

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

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

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

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>>

www.ambit.de

www.ambit.de14

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

Mehrere Knoten und ihre Verbindung

Client

BuchungsserverDatenbankserver

<<LAN>>

<<Internet>>

www.ambit.de

www.ambit.de15

Verteilungsdiagramm (Deployment Diagram)

apit e

l 3K

•CaseStudyVerteilungsdiagramm:

Verteilung einer Autoscheibenserviceeinheit

www.ambit.de

www.ambit.de16

Vierter Diagrammtypap

it el 3

K

Verhaltensmodellierung[Behaviour Modelling]

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

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

www.ambit.de

www.ambit.de19

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

apit e

l 3K

Drahtlos synchronisieren

Seriellsynchronisieren

Datensynchronisieren

Eine Anwendungsfallgeneralisierung

Datenkopplung

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

www.ambit.de

www.ambit.de21

Use-Case-Diagrammap

it el 3

K

•CaseStudyUse-Case-Diagramm:

Modellierung für ein Online-Banking-System

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

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

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

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

www.ambit.de

www.ambit.de26

8. Aktivitätsdiagramm (Activity Diagram)

apit e

l 3K

Etwas parallelisieren und wieder zusammenführen

…….

…….

…….

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.

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

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

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.

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

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

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

www.ambit.de

www.ambit.de34

Aktivitätsdiagrammap

it el 3

K

•CaseStudyAktivitätsdiagramme:

Modellierung Verlauf einer Party

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.

www.ambit.de

www.ambit.de36

11. Kommunikationsdiagramm(Communication Diagram)• Notationselemente

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

Kap

itel 3

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.

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.

www.ambit.de

www.ambit.de39

12. Timingdiagramm (Timing Diagram)

apit e

l 3

• NotationselementeK

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

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

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

www.ambit.de

www.ambit.de42

13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)ap

it el 3

• NotationselementeK

– Interaktion / Interaktionsreferenz– Kontrollelemente

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

www.ambit.de

www.ambit.de44

Zustandsautomatap

it el 3

K

•CaseStudyZustandsdiagramme:

Modellierung eines Fahrkartenautomaten

www.ambit.de

www.ambit.de45

Kapitel 4

4 UML Modellentwicklung

Kap

it el 4

www.ambit.de

www.ambit.de46

UML Diskussionap

it el 4

K

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

www.ambit.de

www.ambit.de47

Literatur

Literatur

Lite

ratu

r

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