View
774
Download
0
Embed Size (px)
DESCRIPTION
This is part1 of 3 parts of a set of slides for UML introduction. The slide are in German language. An English language version 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.x Part 1Einführung / Introduction
J. Anton Illik
www.ambit.de
www.ambit.de2
UML intro & overview
Inhalt / TOC! Session 1
! Einführung, Diagrammarten! Session 2
! Grundlagen, 1. Klassendiagramm
! Session 3! Case Study
Klassendiagramm! Session 4
! 2. Paketdiagramm, ! 3. Objektdiagramm, ! 4. Kompositionsstruktur-
diagramm! Session 5
! Case StudyObjektdiagramm, Verteilungsdiagramm
! Session 6! Komponentendiagramm,
Verteilungsdiagramm, Use-Case-Diagramm
! Session 7! Case Study Use-Case-Diagramm
! Session 8! Aktivitätsdiagramm,
Zustandsautomat, Sequenzdiagramm
! Session 9! Case Study Zustandsdiagramm,
Aktivitätsdiagramm! Session 10
! Kommunikationsdiagramm, Timingdiagramm, Interaktionsübersichtsdiagramm
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
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 !!!
www.ambit.de
www.ambit.de4
UML Inhalte
1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail
www.ambit.de
www.ambit.de5
Kapitel 1
1 UML Allgemein
Kap
it el 1
www.ambit.de
www.ambit.de6
1 UML Allgemeinap
it el 1
K 1.1 Was ist UML1.2 Entwicklung von UML1.3 Deutsche UML Begriffe 1.4 Überblick Diagrammtypen
www.ambit.de
www.ambit.de7
1. Was ist UML
Kap
it el 1
• 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
www.ambit.de
www.ambit.de8
2. Entwicklung von UML
1995
OOSEJacobson 1992
OODBooch 1992
OMTRumbaught 1991
Unified Modelling Language 0.9Booch, Rumbaugh,Jacobson
1996
Unified Modelling Language 1.0UML Partners
1997Einsatzerfahrung der Sprachschöpfer
Unified Modelling Language 1.1UML Partners
Integration der Object Constraint Language
1998
Unified Modelling Language 1.2UML Partners
1999
Unified Modelling Language 1.3UML Partners
2001
Unified Modelling Language 1.4UML Partners
Unified Modelling Language 1.5UML Partners
Unified Modelling Language 2.0UML2 Partners
2003
2005K
XML Metadata Interchange
Object Management Group übernimmt Copyright
Erfahrungen der Anwenderapite
l 1
www.ambit.de
www.ambit.de9
3. UML Begriffe
Kap
it el 1
Verteilungs-diagramm
deployment diagramAssoziationsrolleassoziation roleAbhängigkeitdependencyAssoziationsklasseassociation class
EntscheidungdecisionAssoziation (ungerichtet)
association
CRC-Karte, Klassenkarte
CRC-CardAggregation, Teile/ Ganzes-Beziehung
aggregationEinschränkungconstraintAkteur, AktoractorKompositioncompositionAktivitätsdiagrammactivity diagramm
Komponenten-Diagramm
component diagrammAktivitätactivity
KomponentecomponentAktionactionDeutschEnglischDeutschEnglisch
www.ambit.de
www.ambit.de10
3. UML Begriffe
Kap
it el 1
Kollaborations-Diagramm
collaborationdiagram
SchnittstelleInterfaceKlassendiagrammClass diagram
Interaktionsdiagramme
Interaction diagrams
KlasseClassExemplarInstanceKardialitätCardinality
GeneralisierungGeneralizationGebundenes Element
bound element
SteuerungsfokusFocus of controlBidirektionale Assoziation
Bidirectionalassociation
EreignisEventVerhaltens-Diagramm
behavior diagramm
Diskriminator, Unterscheidungs-Merkmal
DiscriminatorAttributAttributeDeutschEnglischDeutschEnglisch
www.ambit.de
www.ambit.de11
3. UML Begriffe
Kap
it el 1
Parametrisierte Klasseparameterizedclass
StereotypstereotypePaketpackage
Zustands-Diagramm
statechart diagramOperationoperationZustandstateObjektdiagrammobject diagram
Sequenz-diagramm
sequence diagramObjektobjectSzenarioscenarioKnotennodeBeziehungrelationshipNavigierbarkeitnavigabilityVerfeinerungrefinementMultiplizitätmultiplicity
Eigenschaftswertproperty stringMethodemethodEigenschaftpropertyNachrichtmessageProblembereichproblem domainObjektbeziehunglinkMusterpatternLebenslinielifelineDeutschEnglischDeutschEnglisch
www.ambit.de
www.ambit.de12
3. UML Begriffe
Kap
it el 1
Anwendungsfalldiagrammuse case diagramAnwendungsfalluse caseGerichtete Assoziation unidirecitional associaton(die) UMLUMLTyptypeParametrisierbare Klassetemplate class
Transition, ÜbergangtransitionVerantwortlichkeitsbereich, SchwimmbahnswimlaneOberklassesuperclassUnterklassesubclassDeutschEnglisch
www.ambit.de
www.ambit.de13
4. Diagramm-Typen in UML
Kap
it el 1
Strukturdiagramme-statisch-
Verhaltensdiagramme-dynamisch-
KlassendiagrammUse-Case-Diagramm
Interaktionsdiagramme:Paketdiagramm
SequenzdiagrammAktivätsdaigramm
ObjektdiagrammKommunikationsdiagramm
ZustandsautomatKompositionsstruktur-
diagrammTimingdiagramm
InteraktionsübersichtsdiagrammKomponentendiagramm
Verteilungsdiagramm
www.ambit.de
www.ambit.de14
UML Inhalte
1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail
www.ambit.de
www.ambit.de15
Kapitel 2
2 UML-Übersicht
Kap
it el 2
www.ambit.de
www.ambit.de16
2 Diagramme der UML und ihre Anwendung
Kap
it el 2
2.1 Klassendiagramm (Class Diagram)2.2 Paketdiagramm (Package Diagram)2.3 Objektdiagramm (Object Diagram)2.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm)2.5 Komponentendiagramm (Component Diagram)2.6 Verteilungsdiagramm (Deployment Diagram)2.7 Use-Case-Diagramm (Use Case Diagram)2.8 Aktivitätsdiagramm (Activity Diagram)2.9 Zustandsautomat (State Machine)2.10 Sequenzdiagramm (Sequence Diagramm)2.11 Kommunikationsdiagramm (Communication Diagram)2.12 Timingdiagramm (Timing Diagram)2.13 Interaktionsübersichtsdiagramm (Interaction Overview
Diagram)
www.ambit.de
www.ambit.de17
Erster Diagrammtyp
Kap
it el 2
Strukturmodellierung[Structure Modelling]
www.ambit.de
www.ambit.de18
1. Klassendiagramm (Class Diagram)
apit e
l 2K
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.
[Rupp et.a] S. 93-164
www.ambit.de
www.ambit.de19
2. Paketdiagramm (Package Diagram)
apit e
l 2K
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
[Rupp et.a] S. 165-178
www.ambit.de
www.ambit.de20
3. Objektdiagramm (Object Diagram)
apit e
l K
2
Diese Zentrale Frage beantwortet das Diagramm:Welche innere Struktur besitzt mein System zu einem bestimmtenZeitpunkt 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.
[Rupp et.a] S. 179-190
www.ambit.de
www.ambit.de21
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
Kap
itel 2
[Rupp et.a] S. 191-212
www.ambit.de
www.ambit.de22
5. Komponentendiagramm(Component Diagramm)
Kap
it el 2
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.
[Rupp et.a] S. 213-224
www.ambit.de
www.ambit.de23
6. Verteilungsdiagramm (Deployment Diagram)
apit e
l 2K
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.
[Rupp et.a] S. 225-236
www.ambit.de
www.ambit.de24
Zweiter Diagrammtypap
it el 2
K
Verhaltensmodellierung[Behaviour Modelling]
www.ambit.de
www.ambit.de25
7. Use-Case-Diagramm (Use Case Diagram)
apit e
l 2K
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.
[Rupp et.a] S. 239-264
www.ambit.de
www.ambit.de26
8. Aktivitätsdiagramm (Activity Diagram)
Kap
it el 2
Diese Zentrale Frage beantwortet das Diagramm:Wie läuft ein bestimmter flussorientierter Prozess oder ein Algorithmusab?
Stärken: • Sehr detaillierte Visualisierung von Abläufen mit Bedingungen, Schleifen, Verzweigungen.
• Parallelisierung und Synchronisation möglich.
[Rupp et.a] S. 265-334
www.ambit.de
www.ambit.de27
9. Zustandsautomat (State Machine)
Kap
it el 2
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.
[Rupp et.a] S. 335-403
www.ambit.de
www.ambit.de28
10. Sequenzdiagramm (Sequence Diagram)
Kap
it el 2
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.
[Rupp et.a] S. 407-485
www.ambit.de
www.ambit.de29
11. Kommunikationsdiagramm(Communication Diagram)ap
it el 2
K
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)
[Rupp et.a] S. 487-498
www.ambit.de
www.ambit.de30
12. Timingdiagramm (Timing Diagram)
Kap
it el 2
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.
[Rupp et.a] S. 499-514
www.ambit.de
www.ambit.de31
13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)
Kap
it el 2
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.
[Rupp et.a] S. 515-524
www.ambit.de
www.ambit.de32
Geschafft! (Finished!)
Kap
it el 2
www.ambit.de
www.ambit.de33
Was wir skizziert haben
Kap
it el 2
Strukturdiagramme-statisch-
Klassendiagramm
Paketdiagramm
Objektdiagramm
Kompositionsstruktur-diagramm
Komponentendiagramm
Verteilungsdiagramm
Verhaltensdiagramme-dynamisch-
InteraktionsdiagrammeUse-Case-Diagramme
Aktivitätsdiagramm Sequenzdiagramm
KommunikationsdiagrammZustandsautomat
Timingdiagramm
Interaktionsübersichtsdiagramm
www.ambit.de
www.ambit.de34
Wie ist ihre Meinung/Erfahrung…
apit e
l 2K
Werden alle Diagrammtypen ausführlich benutzt?
Welche Diagramme verwenden Sie?
Klassendiagramme, -> Überblick, pragmatische Gründe
Sequenzdiagramme,
Use-Case-Diagramme,
Aktivitätsdiagramme
…
…
www.ambit.de
www.ambit.de35
UML Inhalte
1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail
www.ambit.de
www.ambit.de36
Kapitel 3
3 UML Diagramme im Detail
Kap
it el 3
www.ambit.de
www.ambit.de37
3 UML Diagramme im Detailap
it el 3
K
3.1 Klassendiagramm (Class Diagram)3.2 Paketdiagramm (Package Diagram)3.3 Objektdiagramm (Object Diagram)3.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm)3.5 Komponentendiagramm (Component Diagram)3.6 Verteilungsdiagramm (Deployment Diagram)3.7 Use-Case-Diagramm (Use Case Diagram)3.8 Aktivitätsdiagramm (Activity Diagram)3.9 Zustandsautomat (State Machine)3.10 Sequenzdiagramm (Sequence Diagramm)3.11 Kommunikationsdiagramm (Communication Diagram)3.12 Timingdiagramm (Timing Diagram)3.13 Interaktionsübersichtsdiagramm (Interaction Overview
Diagram)
www.ambit.de
www.ambit.de38
Dritter Diagrammtyp
Kap
it el 3
Strukturmodellierung[Structure Modelling]
www.ambit.de
www.ambit.de39
1. Klassendiagramm (Class Diagram)
apit e
l 3K
In Klassendiagrammen werden die Attribute und Methoden von Klassen gezeigt sowie die Beziehungender Klassen untereinander dargestellt. Bei der Darstellung von Klassen können unterschiedlicheDetailgrade 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
www.ambit.de
www.ambit.de40
1. Klassendiagramm (Class Diagram)
apit e
l 3
• NotationselementeK
– Klasse– Attribut– Operation– Schnittstelle– Parametriesierte Klasse – Generalisierung– Generalisierungsmenge– Assoziation– Assoziationsklasse– Abhänigkeitsbeziehung
– Verwendungsbeziehungen– Abstraktionsbeziehung– Realisierungsbeziehung– Substitutionsbeziehung– Informationsfluss – Informationseinheit
www.ambit.de
www.ambit.de41
1. Klassendiagramm – Klassen ap
it el 3
K
KlasseNormale Operation ()Abstrakte Operation()/abgeleiteteOperationklassenOperation()+publicOperation()#protectedOperation-privateOperation~package („friendly“)
<<Stereotyp>>Paket: Klasse
{Merkmale}Klasse
Attribut: Typ = Inititalwert{Zusicherung/Assertion}
Operation{Arg.liste}:Rückgabetyp{Zusicherung/Assertion}
Abstrakte Klasse
ParametriserbareKlasse
i: ElementKlasse
normales Attribut/abgeleitetes Attribut klassenAttribut+publicAttribut#protectedAttribut- private Attribut
<<metaclass>>Klasse
Klasse <Parameter>
www.ambit.de
www.ambit.de42
1. Klassendiagramm – Vererbung ap
it el 3
K
Oberklasse
Unterklasse 3
Unterklasse 1 Unterklasse 2
Landfahrzeug
PKW Motorad
Limosine Kombi
D1
D2
Diskriminator 2
Diskriminator 1
Oberklasse
Unterklasse 1 Unterklasse 2
LKW
Unterklasse 3Coupe
FordBMW
D3VW
www.ambit.de
www.ambit.de43
1. Klassendiagramm –Assoziationen
Kap
it el 3
0..6 *KlasseKlasse
<<Stereotypen>>Beziehungsname{Zusich../Merkmal}
Aggregation
Klasse Klasse
AssoziierteKlassen
Ganzes Klasse
Komposition
Existenz-abhängiger
Teil
www.ambit.de
www.ambit.de44
1. Klassendiagrammap
it el 3
K
•Siehe Part1b:„Klassendiagramme im Detail“
www.ambit.de
www.ambit.de45
1. Klassendiagrammap
it el 3
K
•CaseStudyKlassendiagramme:
Modellierung einer Party-Verwaltung
www.ambit.de
www.ambit.de46
1. Klassendiagramm – Paketeap
it el 3
K
Paket
Paket
Klasse1
Klasse2
Multiplizität
Teil
Komposition
TeilMultiplizität
Rolle
Komposition
www.ambit.de
www.ambit.de47
2. Paketdiagramm (Package Diagram)
apit e
l 3K
Das Paketdiagramm gibt die Möglichkeit die Strukturbeliebiger Systeme zu gliedern und so Sichten in verschiedenen Abstraktionen auf dem System zu beschreiben.
www.ambit.de
www.ambit.de48
2. Paketdiagramm (Package Diagram)
apit e
l 3
• NotationselementeK
– Paket– Paket-Importer / Element-Importer– Paket-Merge
www.ambit.de
www.ambit.de49
2. Paketdiagramm (Package Diagram)
apit e
l 3K
Use-Case Allgemeines Verhalten
Klassen
Aktivitäten
Zustands-automat
Interaktionen
Komponenten
Kompositions-strukturen
Verteilung
<<merge>>
<<merge>>
<<merge>>
<<merge>>
<<merge>>
<<merge>><<merge>>
<<merge>>
<<merge>> <<merge>>
www.ambit.de
www.ambit.de50
3. Objektdiagramm (Object Diagram)
apit e
l 3K
Das Objektdiagramm gibt die Möglichkeit Instanzen von– Klassen, – Komponenten, – Knoten, – Assoziationen und – Attribute
zu modellieren.
www.ambit.de
www.ambit.de51
3. Objektdiagramm (Object Diagram)
apit e
l 3
• NotationselementeK
– Instanzbeschreibung / Objekt– Werteangaben / Slots („identifier:typ = wert“)– Link („instance of an association“)
www.ambit.de
www.ambit.de52
3. Objektdiagramm (Object Diagram)
apit e
l K
3
Attributname: Datentyp = Wert
Objekt
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
www.ambit.de
www.ambit.de53
3. Objektdiagramm (Object Diagram)
apit e
l K
3
martrikelnummer: String
Student
vorlesungBesuchen()pruefungSchreiben()
vorname: Stringname: Stringgeburtsdatum: Date
Mitarbeiter ArbeitsverhältnisFirma
zugeordneterProfessor: String
Studentischer Mitarbeiter
Arbeitnehmer Arbeitgeber
einkommen: Geld
Arbeitsverhältnis
www.ambit.de
www.ambit.de54
4. Kompositionsstrukturdiagramm(Composite Structure Diagram)ap
it el 3
K
Das Kompositionsstrukturdiagramm gibt die Möglichkeitdie interne Struktur von z.B. einer Klasse sowie seine Interaktionsbeziehungen zu anderen Systemteilen zubeschreiben.
www.ambit.de
www.ambit.de55
4. Kompositionsstrukturdiagramm(Composite Structure Diagram)• Notationselemente
– Part– Konnektor („verbindet Parts“)– Port („angebotene und benötigte Schnittstellen“)– Kollaboration– Kollaborationsanwendung
Kap
itel 3
www.ambit.de
www.ambit.de56
4. Kompositionsstrukturdiagramm(Composite Structure Diagram)
Kap
it el 3
Strukturierte Klasse(Classifier)
FahrerFenster: Fenster
1
BeifahrerFenster: Fenster
1
FondFenster: Fenster
2
FahrerSchalter: Kippschalter
1
BeifahrerSchalter: Kippschalter
1
Konnektoren(sind Verbindungen zwischen Parts, ähnlich wie Assoziationen zwischen Klassen.)
FahrzeugPart
Part- oder Rollenname
Multiplizität eines PartsKlassenname eines Parts
www.ambit.de
www.ambit.de57
Literatur
Literatur
Lite
ratu
r
www.ambit.de
www.ambit.de58
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