Angewandte Philosophie an der Universität Duisburg-Essen.
05 ai uml_illik_students_part_1_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 1
Einführung / Introduction
J. Anton Illik
Ambit 1. 1
2. UML intro & overview www.ambit.de
! Session 6
Inhalt / TOC ! Komponentendiagramm,
! Session 1 Verteilungsdiagramm, Use-
! Einführung, Diagrammarten Case-Diagramm
sich ändern! Ebenso die Verteilung der Kapitel.
! Session 2 ! Session 7
! Grundlagen, ! Case Study Use-Case-Diagramm
1. Klassendiagramm
! Session 8
! Session 3
! Case Study ! Aktivitätsdiagramm,
Zustandsautomat,
Achtung: Reihenfolge kann
Klassendiagramm
! Session 4 Sequenzdiagramm
! 2. Paketdiagramm, ! Session 9
! 3. Objektdiagramm, ! Case Study Zustandsdiagramm,
! 4. Kompositionsstruktur- Aktivitätsdiagramm
diagramm ! Session 10
! Session 5 ! Kommunikationsdiagramm,
! Case Study Timingdiagramm,
Objektdiagramm, Interaktionsübersichtsdiagramm
Verteilungsdiagramm
2 www.ambit.de
3. www.ambit.de
Organisatorisches
! Arbeitstechniken dieses Seminars
! Dialog und Präsentation
! Lösung von Übungsaufgaben
! Bearbeitung von Fallbeispielen
! Nacharbeiten in der Literatur
! Fragen und Anregungen sind jederzeit erwünscht !!!
3 www.ambit.de
4. www.ambit.de
UML Inhalte
1. UML Allgemein
2. UML Diagramme im Überblick
3. UML Diagramme im Detail
4 www.ambit.de
6. Kapitel 1 www.ambit.de
1 UML Allgemein
1.1 Was ist UML
1.2 Entwicklung von UML
1.3 Deutsche UML Begriffe
1.4 Überblick Diagrammtypen
6 www.ambit.de
7. www.ambit.de
Kapitel 1
1. Was ist UML
• eine Sprache zur Analyse, Spezifikation,
Entwurf/Konstruktion und Visualisierung,
Dokumentation von Modellen für Softwaresysteme
• liefert Notationselemente für statische und
dynamische Modelle
-> Strukturdiagramme
-> Verhaltensdiagramme
• unterstützt objektorientierte Vorgehensweise
7 www.ambit.de
8. www.ambit.de
Kapitel 1
2. Entwicklung von UML
Unified Modelling Language 2.0
Erfahrungen der Anwender
UML2 Partners
2005
Unified Modelling Language 1.5
UML Partners
2003
Unified Modelling Language 1.4 Object Management Group
UML Partners übernimmt Copyright
2001
Unified Modelling Language 1.3 XML Metadata Interchange
UML Partners
1999
Unified Modelling Language 1.2
UML Partners
1998
Unified Modelling Language 1.1 Integration der Object
UML Partners Constraint Language
1997
Unified Modelling Language 1.0 Einsatzerfahrung der
UML Partners Sprachschöpfer
1996
Unified Modelling Language 0.9
1995 Booch, Rumbaugh,Jacobson
OMT OOD OOSE
Rumbaught 1991 Booch 1992 Jacobson 1992
8 www.ambit.de
9. www.ambit.de
Kapitel 1
3. UML Begriffe
Englisch Deutsch Englisch Deutsch
action Aktion component Komponente
activity Aktivität component diagramm Komponenten-
Diagramm
activity diagramm Aktivitätsdiagramm composition Komposition
actor Akteur, Aktor constraint Einschränkung
aggregation Aggregation, Teile/ CRC-Card CRC-Karte,
Ganzes-Beziehung Klassenkarte
association Assoziation decision Entscheidung
(ungerichtet)
association class Assoziationsklasse dependency Abhängigkeit
assoziation role Assoziationsrolle deployment diagram Verteilungs-
diagramm
9 www.ambit.de
10. www.ambit.de
Kapitel 1
3. UML Begriffe
Englisch Deutsch Englisch Deutsch
Attribute Attribut Discriminator Diskriminator,
Unterscheidungs
-Merkmal
behavior diagramm Verhaltens- Event Ereignis
Diagramm
Bidirectional Bidirektionale Focus of control Steuerungsfokus
association Assoziation
bound element Gebundenes Generalization Generalisierung
Element
Cardinality Kardialität Instance Exemplar
Class Klasse Interaction Interaktionsdiagr
diagrams amme
Class diagram Klassendiagramm Interface Schnittstelle
collaboration Kollaborations-
diagram Diagramm
10 www.ambit.de
18. Kapitel 2 www.ambit.de
1. Klassendiagramm (Class Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Aus welchen Klassen besteht mein System und wie stehen diese
untereinander in Beziehung?
Stärken:
• Beschreibt die statische Struktur des zu entwerfenden oder
abzubildenden Systems.
• Enthält alle relevanten Strukturzusammenhänge und Datentypen.
• Bildet die Brücke zu den dynamischen Diagrammen.
18 www.ambit.de [Rupp et.a] S. 93-164
19. Kapitel 2 www.ambit.de
2. Paketdiagramm (Package Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wie kann ich mein Modell so schneiden, dass ich den Überblick bewahre?
Stärken:
• Organisiert das Systemmodell in größere Einheiten durch logische
Zusammenfassung von Modellelementen.
• Modellierung von Abhängigkeiten
19 www.ambit.de [Rupp et.a] S. 165-178
20. Kapitel 2 www.ambit.de
3. Objektdiagramm (Object Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Welche innere Struktur besitzt mein System zu einem bestimmten
Zeitpunkt zur Laufzeit
Stärken:
• Zeigt Objekte und deren Attributbelegungen zu einem bestimmten
Zeitpunkt.
• Wird nur beispielhaft zur Veranschaulichung verwendet.
• Detailniveau wie im Klassendiagramm
• Sehr gute Darstellung von Mengenverhältnissen.
20 www.ambit.de [Rupp et.a] S. 179-190
21. Kapitel 2 www.ambit.de
4. Kompositionsstrukturdiagramm
(Composite Structure Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wie sieht das Innenleben einer Klasse, einer Komponente, eines
Systemteils oder eines Systems aus?
Stärken:
• Ideal für die Top-Down-Modellierung des Systems.
• Mittleres Detailniveau, zeigt Teile eines „Gesamtelements und deren
Mengenverhältnisse“; White-Box-View
21 www.ambit.de [Rupp et.a] S. 191-212
22. Kapitel 2 www.ambit.de
5. Komponentendiagramm
(Component Diagramm)
Diese Zentrale Frage beantwortet das Diagramm:
Wie werden meine Klassen zu wieder verwendbaren, verwaltbaren
Komponenten zusammengefasst und wie stehen diese miteinander in
Beziehung?
Stärken:
• Zeigt Organisation und Abhängigkeiten einzelner technischer
Systemkomponenten.
• Modellierung angebotener und benötigter Schnittstellen möglich.
22 www.ambit.de [Rupp et.a] S. 213-224
23. Kapitel 2 www.ambit.de
6. Verteilungsdiagramm (Deployment Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wie sieht das Einsatzumfeld (Hardware, Server, Datenbanken, …) des
Systems aus ? Wie werden Komponenten zur Laufzeit wohin verteilt ?
Stärken:
• Zeigt das Laufzeitumfeld des Systems mit den „greifbaren“ Systemteilen
(meist Hardware).
• Hohes Abstraktionsniveau, kaum Notationselemente.
23 www.ambit.de [Rupp et.a] S. 225-236
25. Kapitel 2 www.ambit.de
7. Use-Case-Diagramm (Use Case Diagram)
Diese zentrale Frage beantwortet das Diagramm:
Was leistet mein System für seine „Umwelt“ (Nachbarsysteme,
Stakeholder)?
Stärken:
• Präsentiert die Außensicht auf das System.
• Geeignet zur Kontextabgrenzung.
• Hohes Abstraktionsniveau, einfache Notationsmittel.
25 www.ambit.de [Rupp et.a] S. 239-264
26. www.ambit.de
Kapitel 2
8. Aktivitätsdiagramm (Activity Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wie läuft ein bestimmter flussorientierter Prozess oder ein Algorithmus
ab?
Stärken:
• Sehr detaillierte Visualisierung von Abläufen mit Bedingungen,
Schleifen, Verzweigungen.
• Parallelisierung und Synchronisation möglich.
26 www.ambit.de [Rupp et.a] S. 265-334
27. Kapitel 2 www.ambit.de
9. Zustandsautomat (State Machine)
Diese Zentrale Frage beantwortet das Diagramm:
Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use-Case,… bei
welchen Ereignissen annehmen?
Stärken:
• Präzise Abbildung eines Zustandsmodells mit Zuständen, Ereignissen,
Nebenläufigkeiten, Bedingungen, Ein- und Austrittsaktionen.
• Schachtelung möglich.
27 www.ambit.de [Rupp et.a] S. 335-403
28. Kapitel 2 www.ambit.de
10. Sequenzdiagramm (Sequence Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus ?
Stärken:
• Stellen den zeitlichen Ablauf des Informationsaustausches zwischen
Kommunikationspartnern dar.
• Schachtelung u. Flusssteuerung (Bedingungen, Schleifen
Verzweigungen) möglich.
28 www.ambit.de [Rupp et.a] S. 407-485
29. Kapitel 2 www.ambit.de
11. Kommunikationsdiagramm
(Communication Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wer kommuniziert mit wem? Wer „arbeitet“ im System zusammen?
Stärken:
• Stellt den Informationsaustausch zwischen Kommunikationspartnern
dar.
• Überblick steht im Vordergrund (Details und zeitliche Abfolge weniger
wichtig)
29 www.ambit.de [Rupp et.a] S. 487-498
30. Kapitel 2 www.ambit.de
12. Timingdiagramm (Timing Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wann befinden sich verschiedene Interaktionspartner in welchem
Zustand?
Stärken:
• Visualisiert das exakte zeitliche Verhalten von Klassen, Schnittstellen…
• Geeignet f. Detailbetrachtungen, bei denen es überaus wichtig ist, dass
ein Ereignis zum richtigen Zeitpunkt eintritt.
30 www.ambit.de [Rupp et.a] S. 499-514
31. Kapitel 2 www.ambit.de
13. Interaktionsübersichtsdiagramm
(Interaction Overview Diagram)
Diese Zentrale Frage beantwortet das Diagramm:
Wann läuft welche Interaktion ab?
Stärken:
• Verbindet Interaktionsdiagramme (Sequenz-, Kommunikations- und
Timingdiagramme auf Top-Level-Ebene.
• Hohes Abstraktionsniveau.
• Gut geeignet als Strukturierung der Interaktionsdiagramme.
31 www.ambit.de [Rupp et.a] S. 515-524
33. www.ambit.de
Kapitel 2
Was wir skizziert haben
Strukturdiagramme Verhaltensdiagramme
-statisch- -dynamisch-
Klassendiagramm Use-Case-Diagramme Interaktionsdiagramme
Paketdiagramm Aktivitätsdiagramm Sequenzdiagramm
Objektdiagramm Kommunikationsdiagramm
Zustandsautomat
Kompositionsstruktur- Timingdiagramm
diagramm
Interaktionsübersichtsdiagramm
Komponentendiagramm
Verteilungsdiagramm
33 www.ambit.de
34. www.ambit.de
Kapitel 2
Wie ist ihre Meinung/Erfahrung…
Werden alle Diagrammtypen ausführlich benutzt?
Welche Diagramme verwenden Sie?
Klassendiagramme, -> Überblick, pragmatische Gründe
Sequenzdiagramme,
Use-Case-Diagramme,
Aktivitätsdiagramme
…
…
34 www.ambit.de
35. www.ambit.de
UML Inhalte
1. UML Allgemein
2. UML Diagramme im Überblick
3. UML Diagramme im Detail
35 www.ambit.de
39. Kapitel 3 www.ambit.de
1. Klassendiagramm (Class Diagram)
In Klassendiagrammen werden die Attribute und
Methoden von Klassen gezeigt sowie die Beziehungen
der Klassen untereinander dargestellt. Bei der
Darstellung von Klassen können unterschiedliche
Detailgrade gewählt werden.
Zum Beispiel:
• Klassen (nur Namen)
• Klasse mit Attributen
• Klasse mit Attributen und Methoden/Operationen
• Hinzukommen u.U. diverse Relationen/Beziehungen zwischen
Klassen
39 www.ambit.de
46. Kapitel 3 www.ambit.de
1. Klassendiagramm – Pakete
Komposition Komposition
Multiplizität
Multiplizität Teil
Paket
Rolle
Teil
Klasse1
Paket Klasse2
46 www.ambit.de
47. Kapitel 3 www.ambit.de
2. Paketdiagramm (Package Diagram)
Das Paketdiagramm gibt die Möglichkeit die Struktur
beliebiger Systeme zu gliedern und so Sichten in
verschiedenen Abstraktionen auf dem System zu
beschreiben.
47 www.ambit.de
50. Kapitel 3 www.ambit.de
3. Objektdiagramm (Object Diagram)
Das Objektdiagramm gibt die Möglichkeit Instanzen
von
– Klassen,
– Komponenten,
– Knoten,
– Assoziationen und
– Attribute
zu modellieren.
50 www.ambit.de
51. Kapitel 3 www.ambit.de
3. Objektdiagramm (Object Diagram)
• Notationselemente
– Instanzbeschreibung / Objekt
– Werteangaben / Slots („identifier:typ = wert“)
– Link („instance of an association“)
51 www.ambit.de
52. Kapitel 3 www.ambit.de
3. Objektdiagramm (Object Diagram)
Objekt
Attributname: Datentyp = Wert
Objektname:Classifiername
Classifiername = Name der abstrakten Klasse
oder der Basisklasse
UML-Classifier = Menge von UML-Elementen, die etwas gemeinsam haben:
Klasse, Komponente, Datentyp, Schnittstelle, Knoten, Signal, Subsystem
52 www.ambit.de
54. Kapitel 3 www.ambit.de
4. Kompositionsstrukturdiagramm
(Composite Structure Diagram)
Das Kompositionsstrukturdiagramm gibt die Möglichkeit
die interne Struktur von z.B. einer Klasse sowie seine
Interaktionsbeziehungen zu anderen Systemteilen zu
beschreiben.
54 www.ambit.de
55. Kapitel 3 www.ambit.de
4. Kompositionsstrukturdiagramm
(Composite Structure Diagram)
• Notationselemente
– Part
– Konnektor („verbindet Parts“)
– Port („angebotene und benötigte Schnittstellen“)
– Kollaboration
– Kollaborationsanwendung
55 www.ambit.de
56. Kapitel 3 www.ambit.de
4. Kompositionsstrukturdiagramm
(Composite Structure Diagram)
Strukturierte Klasse
(Classifier)
Fahrzeug
Part
FahrerFenster: 1 FahrerSchalter: 1
Fenster Kippschalter
Part- oder
Rollenname BeifahrerFenster: 1 BeifahrerSchalter: 1
Fenster Kippschalter
Konnektoren
FondFenster: 2
(sind Verbindungen zwischen Parts,
Fenster ähnlich wie Assoziationen zwischen
Klassen.)
Klassenname eines Parts Multiplizität eines Parts
56 www.ambit.de