View
981
Download
1
Embed Size (px)
DESCRIPTION
This is the German language version of a 3 part UML introduction. A slide set with English language is also available.
Citation preview
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