05 ai uml_illik_students_part_2_de

1,673 views
1,480 views

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,673
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

05 ai uml_illik_students_part_2_de

  1. 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
  2. 2. UML intro & overview www.ambit.de Inhalt • 5. Komponentendiagramm • 10. Sequenzdiagramm sich ändern! Ebenso die Verteilung der Kapitel. (Component Diagram) (Sequence Diagram) • 6. Verteilungsdiagramm • 11. Kommunikations- (Deployment Diagram) diagramm • 7. Use-Case-Diagramm (Communication Diagram) (Use Case Diagram) • 12. Timingdiagramm (Timing Achtung: Reihenfolge kann • 8. Aktivitätsdiagramm (Activity Diagram) Diagram) • 13. Interaktionsübersichts- • 9. Zustandsautomat diagramm (State Machine) (Interaction Overview Diagram) 2 www.ambit.de
  3. 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
  4. 4. Kapitel 3 www.ambit.de 5. Komponentendiagramm (Component Diagram) • 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“) 4 www.ambit.de
  5. 5. Kapitel 3 www.ambit.de 5. Komponentendiagramm (Component Diagram) • UML-Standard-Stereotypen bieten folgende Komponentenarten an – document – entity – executable – File – library – process – service – specification – subsystem – table 5 www.ambit.de
  6. 6. Kapitel 3 www.ambit.de 5. Komponentendiagramm (Component Diagram) Black-Box-Sicht White-Box-SIcht Komplexer Port Implementierte Schnittstelle <<component>> <<component>> Komponente1 Komponente2 Bestandteil3 Allgemeine Kompositionskonektor Klasse Abhängigkeitsbeziehung Bestandteil4 Realisierungsbeziehung Bestandteil1 Bestandteil2 <<spezifcation>> Bestandteil einer Komponente Komponente specDoc <<artifact>> <<subsystem>> <<compontent>> Artefakt1 Port Komponente3 Komponente4 Verwendungs- <<use>> Beziehung <<artifact>> Komponente6 <<manifest>> Delegationskonnektor Implementierungsbeziehung Benötigte Schnittstelle 6 www.ambit.de
  7. 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. 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. 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
  10. 10. Kapitel 3 www.ambit.de 6. Verteilungsdiagramm (Deployment Diagram) • Notationselemente – Knoten • gebräuchliche Knoten-Stereotypen: – client – server – database – backup server – Kommunikationspfad – Verteilungsbeziehung – Einsatzspezifikation 10 www.ambit.de
  11. 11. Kapitel 3 www.ambit.de 6. Verteilungsdiagramm (Deployment Diagram) Knoten 2 <<device>> Kommunikationspfad Knoten 1 <<device>> Knoten 3 <<execution environment>> Deployment spezifikation execution: thread Deployment Beziehung Transaction: false Artefakt 11 www.ambit.de
  12. 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. 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. 14. Kapitel 3 www.ambit.de 6. Verteilungsdiagramm (Deployment Diagram) Mehrere Knoten und ihre Verbindung Client <<Internet>> <<LAN>> Datenbankserver Buchungsserver 14 www.ambit.de
  15. 15. Kapitel 3 www.ambit.de Verteilungsdiagramm (Deployment Diagram) •CaseStudy Verteilungsdiagramm: Verteilung einer Autoscheibenserviceeinheit 15 www.ambit.de
  16. 16. Kapitel 3 www.ambit.de Vierter Diagrammtyp Verhaltensmodellierung [Behaviour Modelling] 16 www.ambit.de
  17. 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. 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. 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. 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. 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. 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
  23. 23. Kapitel 3 www.ambit.de 8. Aktivitätsdiagramm (Activity Diagram) • Notationselemente – Aktion („Einzelschritt einer komplexeren – Unterbrechungsbereich Funktionalität“) – Exception-Handler – Aktivität („Folge von Aktionen“) – Aktivitätsbereich – Objektknoten – Strukturierte Knoten – Kanten – Mengenverarbeitungsbereich – Kontrollknoten – Schleifenknoten – Startknoten – Entscheidungsknoten – Endknoten – Verzweigungs- und Verbindungsknoten – Synchronistations- und Parallelisierungsknoten – Parametersatz 23 www.ambit.de
  24. 24. www.ambit.de Kapitel 3 8. Aktivitätsdiagramm (Activity Diagram) Aktivitätsname Aktivität Startknoten Einladung bekommen Möglicher Ablauf Einladung Datum prüfen Objektknoten Eingabepara meter Lust auf [Zeit vorhanden] Feier prüfen Aktion [keine Zeit] Aktivitätskante [keine Lust] [Lust vorhanden] Bedingung Feier absagen Feier zusagen Kontrollknoten, Entscheidungsknoten Endknoten 24 www.ambit.de
  25. 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. 26. Kapitel 3 www.ambit.de 8. Aktivitätsdiagramm (Activity Diagram) Etwas parallelisieren und wieder zusammenführen ……. ……. ……. 26 www.ambit.de
  27. 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. 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. 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. 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
  31. 31. Kapitel 3 www.ambit.de 10. Sequenzdiagramm (Sequence Diagram) • Notationselemente – Interaktion / Interaktionsrahmen – Lebenslinie – Nachricht – Zustandsinvariante – Kombiniertes Fragment – Ordnungsbeziehung – Interaktionsreferenz – Verknüpfungspunkt – Zerlegung von Lebenslinien 31 www.ambit.de
  32. 32. Kapitel 3 www.ambit.de 10. Sequenzdiagramm (Sequence Diagram) Beteiligte Objekte objekt1 objekt2 objekt1 objekt2 nachricht() (a-b<2 sec.) a [x>0] nachricht1() b antwort Zusicherung Aktionssequenz [x<=0] nachricht2() Rekursion antwort2 Steuerungs- antwort1 fokus Lebenslinie Auflistung der Nachrichten von oben nach unten 32 www.ambit.de
  33. 33. Kapitel 3 www.ambit.de 10. Sequenzdiagramm (Sequence Diagram) objekt1 objekt1 objekt2 neu() objekt2 Iteration nachticht() *nachricht() Objektkonstruktion und -dekonstruktion antwort zerstöre() antwort 33 www.ambit.de
  34. 34. Kapitel 3 www.ambit.de Aktivitätsdiagramm •CaseStudy Aktivitätsdiagramme: Modellierung Verlauf einer Party 34 www.ambit.de
  35. 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. 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. 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. 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
  39. 39. Kapitel 3 www.ambit.de 12. Timingdiagramm (Timing Diagram) • Notationselemente – Interaktion / Interaktionsrahmen – Lebenslinie – Zeitverlaufslinie – Nachricht – Sprungmarke – Wertverlaufslinie – Ordnungsbeziehung 39 www.ambit.de
  40. 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. 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
  42. 42. Kapitel 3 www.ambit.de 13. Interaktionsübersichtsdiagramm (Interaction Overview Diagram) • Notationselemente – Interaktion / Interaktionsreferenz – Kontrollelemente 42 www.ambit.de
  43. 43. Kapitel 3 www.ambit.de 13. Interaktionsübersichtsdiagramm (Interaction Overview Diagram) Geldautomat ref ref {0..10} Zeiteinheit PIN Eingabe Minuten Karteneinschub [Dauer > 10] Interaktionsreferenz [else] Paralellisierungsknoten ref [PIN Eingabe [PIN Eingabe == fehlgeschlagen] == 0] Geldtransaktion abwickeln sd ref :Authentifizierungs- Verzweigungsknoten :Display system Karteneinzug ref Anzeigen („Karte wird eingezogen“) Kartenauswurf Verbindungsknoten Kante Synchronisationsknoten Endknoten 43 www.ambit.de
  44. 44. Kapitel 3 www.ambit.de Zustandsautomat •CaseStudy Zustandsdiagramme: Modellierung eines Fahrkartenautomaten 44 www.ambit.de
  45. 45. www.ambit.de Kapitel 4 4 UML Modellentwicklung Kapitel 4 45 www.ambit.de
  46. 46. Kapitel 4 www.ambit.de UML Diskussion Wie würden Sie bei der Modellentwicklung vorgehen? Grobe Reihenfolge der Modellentwicklung? 46 www.ambit.de
  47. 47. www.ambit.de Literatur Literatur Literatur 47 www.ambit.de
  48. 48. www.ambit.de UML verwendete und weiterführende Literatur 1. Wolfgang Zuser, Thomas Greching, Monika Köhle: „Software Engineering mit UML und Unified Process“; 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 48 www.ambit.de

×