Post on 26-Jun-2015
description
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