Angewandte Philosophie an der Universität Duisburg-Essen.
05 ai uml_illik_students_part_2_de
1. Wissen macht ambitionierte
Geschäftsziele erreichbar.
Wir liefern Wissen und schaffen Werte.
UML 2.x
Weltweit.
Knowledge enables your business
ambitions.
We deliver knowledge and create value.
Worldwide.
Part 2
Einführung Fort. / Introduction cont.
J. Anton Illik
Ambit 1. 1
3. Kapitel 3 www.ambit.de
5. Komponentendiagramm
(Component Diagram)
• Komponentendiagramme ähneln
Klassendiagrammen.
• 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.
3 www.ambit.de
7. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
• 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.
7 www.ambit.de
8. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
• Artefakte
– Artefakte modellieren physikalesche Informationen
über ein System
• Neben Hardware lassen sich auch
• Benutzerhandbücher
• Schulungsmaterial
• Passwortdatei
• jar-Archive
als Artefakte modellieren.
– Artefakte geben also die Begrifflichkeiten des
modellierten Systems wieder.
8 www.ambit.de
9. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
• Artefakte
– Ein Beispielartefakt: ein Java-jar-Archiv
NachrichtenübermittlungsFramework.jar
– Artefakte können (wie andere UML-Classifier auch)
Eigenschaften besitzen
NachrichtenübermittlungsFramework.jar
Reentrant: boolean
numLoggers: int = 1
9 www.ambit.de
12. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
Ein Knoten
Server
Ein Knoten mit mehreren Abschnitten
Server
<<components>>
Buchungssystem.jar
Comon.jar
12 www.ambit.de
13. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
Ein Knoten mit verteilten Komponenten
Server
<<deploy>> <<deploy>>
Buchungssytem.jar Common.jar
13 www.ambit.de
14. Kapitel 3 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
Mehrere Knoten und ihre Verbindung
Client
<<Internet>>
<<LAN>>
Datenbankserver Buchungsserver
14 www.ambit.de
17. Kapitel 3 www.ambit.de
7. Use-Case-Diagramm (Use Case Diagram)
• Anwendungsfalldiagramme zeichnen
Anforderungen an ein System auf: im Überblick
und 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
17 www.ambit.de
18. Kapitel 3 www.ambit.de
7. Use-Case-Diagramm (Use Case Diagram)
• 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
18 www.ambit.de
19. Kapitel 3 www.ambit.de
7. Use-Case-Diagramm (Use Case Diagram)
Datenkopplung
Daten
synchronisieren
Drahtlos
synchronisieren
Seriell
synchronisieren
Eine Anwendungsfallgeneralisierung
19 www.ambit.de
20. Kapitel 3 www.ambit.de
7. Use-Case-Diagramm (Use Case Diagram)
Systemname
Akteur 2
Mitverwendeter
Anwendungsfall Bankkunde
Akteur 1 <<include>>
Anwendungsfall
Debug-Info Akteur 3
<<extend>> aufzeichnen
Rechnungswesen
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
20 www.ambit.de
21. Kapitel 3 www.ambit.de
Use-Case-Diagramm
•CaseStudy
Use-Case-Diagramm:
Modellierung für ein
Online-Banking-System
21 www.ambit.de
22. Kapitel 3 www.ambit.de
8. Aktivitätsdiagramm (Activity Diagram)
• Mit Hilfe von Aktivitätsdiagrammen lassen sich
– komplexe Verläufe
– unter Berücksichtung von Nebenläufigkeiten,
– alternativen Entscheidungswegen und Ähnlichem
konkret 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
22 www.ambit.de
25. Kapitel 3 www.ambit.de
8. Aktivitätsdiagramm (Activity Diagram)
Geschenk einpacken
[Empfänger wohnt weiter weg]
Paketaufkleber
adressieren
Weihnachts- Geschenk
geschenk einpacken
Unter den Baum
legen
[Empfänger wohnt in der Nähe]
Ein Verzweigungsknoten im Einsatz / Entscheidung im Aktivitätsdiagramm
25 www.ambit.de
26. Kapitel 3 www.ambit.de
8. Aktivitätsdiagramm (Activity Diagram)
Etwas parallelisieren und wieder zusammenführen
…….
…….
…….
26 www.ambit.de
27. Kapitel 3 www.ambit.de
9. Zustandsautomat (State Machine)
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.
27 www.ambit.de
28. Kapitel 3 www.ambit.de
9. Zustandsautomat (State Machine)
• Notationselemente
– Einfacher Zustand – Ein- und Austrittspunkt
– Transition („Zustandsübergang“) – Region
– Startzustand
– Historie
– Endzustand
– Spezialisierung
– Pseudozustände
– Kreuzung – Protokollzustandsautomat
– Entscheidung
– Terminator
– Zusammengesetzter Zustand
– Unterzustandsautomatenzustände
– Nebenläufigkeiten werden wie im Aktivitätsdiagramm
modelliert (gleiche Symbolik)
28 www.ambit.de
29. Kapitel 3 www.ambit.de
9. Zustandsautomat (State Machine)
Name des Zustandsautomaten
Trigger / Auslöser Guard / Wächterbedingung
Fahrkartenautomat
Startzustand
Aktionslabels:
Betrag erhöht [Betrag<Preis]
wartend entry
[Münze eingeben] Geldaufnahme
Do exit
Zustand [Münze eingeben]/ do
Betrag erhöhen include
Cancel Fahrkarte
Stopp gewählt ausgewählt
gedrückt
Transition Abbruch
Berechnung
Entry / Betrag
ausgeben After do / Preis
(Timeout) berechnen
Kreuzungspunkt
[Betrag = Preis] [Betrag>Preis]
Ausgabe Fahrkarte
Entry: Eintrittsverhalten Entry /
Ausgabe
Fahrkarte
Wechselgeld
ausgeben
do /
Wechselgeld Do: Zustandsverhalten
ausgeben
TimeTrigger
29 www.ambit.de
30. Kapitel 3 www.ambit.de
10. Sequenzdiagramm (Sequence Diagram)
• Der am häufigsten verwendete Typ von
Interaktionsdiagramm. Zeigt chronologische Sicht
des zwischen den Elementen/Entitäten
stattfindenden Nachrichtenaustauschs.
• In Sequenzdiagrammen wird der dynamische
Ablauf zwischen Objekten unter Berücksichtigung
der zeitlichen Abfolge dargestellt.
30 www.ambit.de
34. Kapitel 3 www.ambit.de
Aktivitätsdiagramm
•CaseStudy
Aktivitätsdiagramme:
Modellierung Verlauf einer
Party
34 www.ambit.de
35. Kapitel 3 www.ambit.de
11. Kommunikationsdiagramm
(Communication Diagram)
• Eng mit dem Sequenzdiagramm verwandt /
Alternative zum Sequenzdiagramm.
• Legt jedoch mehr gewicht darauf, wer mit wem
kommuniziert. Der zeitliche Aspekt wird weniger
betont.
• In einem Kollaborationsdiagramm werden der
dynamische Ablauf und dessen logische Abfolge
im Rahmen einer Kollaboration von Objekten
(Zusammenarbeit zur Realisierung eines
Anwendungsfalls) gezeigt.
35 www.ambit.de
36. Kapitel 3 www.ambit.de
11. Kommunikationsdiagramm
(Communication Diagram)
• Notationselemente
– Interaktion / Interaktionsrahmen
– Lebenslinie („virtuell, nur der „Kopf“ wird dargestellt)
– Nachricht
36 www.ambit.de
37. Kapitel 3 www.ambit.de
11. Kommunikationsdiagramm
(Communication Diagram)
sequenziell
objekt:Klasse synchron
[Bedingung] 1.2:antwort:=nachricht(arg.)
eingeschränkt
Start
objekt:Klasse objekt:Klasse
1.1.*.nachricht(argumente) zeitabhängig
Nachricht()
asynchron
Reihenfolge
Nachrichten werden durch Linien zwischen den
Kommunikationspartnern dargestell.
37 www.ambit.de
38. Kapitel 3 www.ambit.de
12. Timingdiagramm (Timing Diagram)
• Das Timingdiagramm zeigt das zeitliche Verhalten
von Classifiern in einem System.
• Stellt konkreten zeitlichen Ablauf der Nachrichten
in den Mittelpunkt.
38 www.ambit.de
40. Kapitel 3 www.ambit.de
12. Timingdiagramm (Timing Diagram)
Name des Diagramms Zeitdauerbedingung
Fußgängerampel {d…6*d}
:Ampel grün
rot
gehen
betriebsbereit nicht
gehen
swimlane
aktivieren
aktiv
:Fußgänger
Nachricht
Zeitverlaufslinie
wartend
d
Sek.
0 1 2 3
Zustand
Zeitskala
40 www.ambit.de
41. Kapitel 3 www.ambit.de
13. Interaktionsübersichtsdiagramm
(Interaction Overview Diagram)
• 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
41 www.ambit.de