![Page 1: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/1.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 1
UML 2 Tutorial: Einführung in die neue Standardmodellierungssprache
Mario JeckleChris RuppJürgen HahnBarbara Zengler
![Page 2: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/2.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 2
Darum geht´s
UML 2Standardi-
sierungPraktischer
Einsatz
Über-sichtlichkeit
Ideen
Präzisions-steigerung
Ausführ-barkeit
Vorschläge
Roadmap Abhängig-keiten
Meta-modell
NeueDiagramme
Ver-besserte
Diagramme
![Page 3: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/3.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 3
Was ist die UML?
Requirements & Use Case-Beschreibungen
Requirements:- Das System soll mit C++ realisiert werden- Bei Anfrage durch einen Kunden muss die Funktionalität sichergestellt sein
...
Deployment - Sicht
Use Case - Sicht
Prozess - Sicht
Implemen-tierungs-Sicht
Datenmodell - Sicht
logische Sicht
Wunsch des Kunden
Notation für Modell des Systemszeigt statische und dynamische AspekteNicht jede Sicht in jedem System sinnvoll
![Page 4: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/4.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 4
UML ... Geschichten von den fremden Meeren der Standardisierung
OODBooch; 1992
OOSAShlear, Mellor; 1991
OMTRumbaugh, et al.; 1991
State ChartsHarel; 1987
OBABailin; 1989
OOACoad, Yourdan; 1991
OOA&DMartin, Odell; 1992
OOAD&IHenderson-Sellers,
Macrone; 1992
HOODESA; 1990
SCOOPCherry; 1990
OMLFiresmith, Henderson-
Sellers, Page-Jones; 1998
OSAEmbley; 1991
OBARubin; 1992
BONNerson; 1992
FusionColeman, et al.;
1994
Unified Modeling Language v1.0Booch, Jacobson, Rumbaugh;
1997
Unified MethodBooch, Rumbaugh; 1995
SOMAGraham; 1994
CatalysisD’Souza, Willes; 1996
MOSESHenderson-Sellers; 1994
RDDWirfs-Brock; 1990
OOSEJacobson; 1992
Vom Methodenkrieg ...
![Page 5: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/5.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 5
UML ...Geschichten von den fremden Meeren der Standardisierung
OODBooch; 1992
OMTRumbaugh, et al.; 1991
Erw
eite
rung
OOSEJacobson; 1992
Unified Modeling Language 0.9, 0.91Booch, Rumbaugh, Jacobson; 1996
Unified Modeling Language 1.0UML Partners 1/1997
Unified Modeling Language 1.1UML Partners; 9/1997
OMG Unified Modeling Language 1.3UML Partners; 1999
OMG Unified Modeling Language 1.4UML Partners; 2001
OMG Unified Modeling Language 1.5UML Partners; 2003
OMG Unified Modeling Language 2.0UML 2 Partners; unveröffentlicht
OMG Unified Modeling Language 1.2UML Partners; 1998( )
Einsatzerfahrungder Sprachschöpfer
Erfahrungender Anwender
XML MetadataInterchange
Integration derObject Constraint Language
Object Management Groupübernimmt Copyright
Unified Method 0.8Booch, Rumbaugh 1995
...
Bre
itene
insa
tzSt
anda
rdis
ieru
ngVe
rein
heitl
ichu
ngFr
agm
entie
rung
Viele arbeiten für alle
Einige arbeiten für andere
Wenige arbeiten für einige
... zum Standardisierungskrieg
![Page 6: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/6.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 6
UML 2... Warum eine neue Version?
Evolution- Der Markt hat sich bewegt...
- Neue Programmiersprachen (z.B. C#, Python, PHP)- Neue Anwendungsdomänen
(z.B. Serverprogrammierung, Echtzeitanwendungen)Erfahrung
- Für einige Einsatzgebiete bietet UML v1.x ...- Manchmal zu wenig Konstrukte- Manchmal zu viele- Machmal so viele, dass die sinnvolle
Auswahl schwerfälltEliminierung
- Einige Programmiersprachen verschwinden (z. B. C++)- Einige früher als modellierungsnah eingestufte Konzepte
entwickeln sich inzwischen getrennt von UML weiter(z. B. Entwicklungsprozesse, Codegenerierung)
![Page 7: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/7.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 7
UML ...Ein Leiden am Second System Syndrom
![Page 8: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/8.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 8
UML 2Die Ziele
Übersichtlichkeit- Weniger graphische Modellkonstrukte- Weniger Basiskonzepte- Wiederverwendung von Basiskonzepten
Präzisionssteigerung- Reformulierung des Meta-Modells- Weitestgehende OCL-Verwendung- Unveränderte Wiederverwendung von Basiskonstrukten soweit sinnvoll
möglich
Ausführbarkeit- Erweiterte Zustandsmaschinen- Stärkere Beziehungen zwischen statischen und dynamischen
Diagrammen- Integration erprobter Konzepte außerhalb der UML
![Page 9: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/9.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 9
UML 2 Verrentung existierender Modellelemente
1. Durch UML-Werkzeuge nicht implementierte Sprachanteile
2. Durch OO-Methoden unberücksichtigte Sprachelemente
3. Programmiersprachen-spezifische Sprachelemente
4. Inpräzise UML-Sprachelemente
![Page 10: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/10.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 10
UML 2Verrentung existierender Modellelemente
SWE 1System-Anforde-
rungsanalyse und-Entwurf
SWE 8
DV-Integration
SWE 2
DV-Anforderungs-analyse und -Entwurf
SWE 9
System-In-tegration
SWE 3
SW-Anforderungsanalyse
SWE 4
Grobentwurf
SWE 5
Feinentwurf
SWE 6
Implementierung
SWE 7
SW-Inte-gration
System-Ebene
Segment-Ebene
Komponenten-Ebene
Modul-/Datenbank-Ebene
System
Handbuch-informationen
DV-Segment
SWKE-Integration
Kompo-nenten-
Integration
Implementierungsdok.(SWKE)
SWKE
Implementierungsdok.(Komponente)
Komponente
Implementierungsdok.(Modul)
Implementierungsdok.(Datenbank)
ModulDatenbank
Konfigurations-einheits-
Ebene
SystemanforderungenSystemarchitekturSystemintegrationsplan
DV-AnforderungenDV-ArchitekturDV-Integrationsplan
SW-Anforderungen
SW-ArchitekturSchnittstellenentwurfSWKE-Integrationsplan
DatenkatalogSW-Entwurf
Abb. 2.7 Funktionsüberblick Submodell SWE
Legende:Prüf-aktivitäten(siehe QS)
1. Durch UML-Werkzeuge nicht implementierte Sprachanteile
2. Durch OO-Methoden unberücksichtigte Sprachelemente
3. Programmiersprachen-spezifische Sprachelemente
4. Inpräzise UML-Sprachelemente
![Page 11: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/11.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 11
UML 2 Verrentung existierender Modellelemente
1. Durch UML-Werkzeuge nicht implementierte Sprachanteile
2. Durch OO-Methoden unberücksichtigte Sprachelemente
3. Programmiersprachen-spezifische Sprachelemente
4. Inpräzise UML-Sprachelemente
KlasseAirgend : intein : boolwichtiges : floatElement : byte
KlasseB
noch : Stringviel : shortwichtiger : float
«friend»
![Page 12: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/12.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 12
UML 2 Verrentung existierender Modellelemente
Objekt1 : KlasseAirgend = 1ein = truewichtiges = 3.1Element = 42
Objekt2 : KlasseA«copy»irgend = 1ein = truewichtiges = 3.1Element = 42
«become»
1. Durch UML-Werkzeuge nicht implementierte Sprachanteile
2. Durch OO-Methoden unberücksichtigte Sprachelemente
3. Programmiersprachen-spezifische Sprachelemente
4. Inpräzise UML-Sprachelemente
![Page 13: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/13.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 13
UML 2 Neu: UML Schichten
CompleteEbene 3
IntermediateEbene 2
BasicEbene 1
FoundationEbene 0
Die Idee entstammt der SQL-Standardisierung
Operationalisiert den Begriff der UML-Unterstützung
Auch weniger UML ist immer noch UML
![Page 14: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/14.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 14
...
...
...
...
Use-Case Akivitätsdiagramm Sequenzdiagramm
complete
intermediate
foundation
basic
Grundlagen Use-Cases
GrundlagenSequenzen
GrundlagenAktivitäten
EinfacherAblaufplan
Parallelität
Gewichtete Kan-ten, Streaming
Anwendungsfall Ablaufdiagramm
(noch nichteingeteilt)
(noch nichteingeteilt)
(noch nichteingeteilt)
(noch nichteingeteilt)
x
x
x
x
x
x
x
x
x
x
![Page 15: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/15.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 15
Struktur und Einbettung von UML 2
MOF2 Infrastructure
StatischeAnteile Dynamische
Anteile
Unified Modeling Language 2.0
DiagramInterchange
OCL
Super-structure
nutzt
überträgt
UML ist nicht mehr eine monolithische SpracheVier seperate Entwicklungsgruppen werden vier seperate Weiterentwicklungen mit starken inneren Zusammenhang erzeugen
![Page 16: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/16.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 16
Struktur und Einbettung von UML 2
Verschiedene Weiterentwicklungsvorschläge:- Infrastructure: 36 Lettern of Intents (LOIs);
5 Einreichungen durch 28 Firmen- Superstructure: 37 LOIs;
5 Einreichungen durch 28 Firmen- OCL: 30 LOIs; 4 Einreichungen durch 10 Firmen- Diagram Interchange: 6 LOIs;
3 Einreichungen durch 6 Firmen
Eingereicht durch Einzelfirmen und Konsortien
Bezugnehmend auf einzelne Sprachaspekte der UML v1.x um diese neu zu erweitern; Vorschläge für vollständig neue Diagrammtypen oder die Abschaffung Existierender
![Page 17: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/17.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 17
Der Weg zu UML 2
0.91.0
IntelliCorpi-LogixIBMObjecTimePlatinum TechnologyPtech TaskonReich TechnologiesSOFTEAM
MicrosoftHewlett-PackardOracleSterling SoftwareMCI SystemhouseUnisysICON ComputingRational Software
1.1/2
MCI Systemhouse
OMGEDS
1.3
Computer Associates
1.4
Sterling SoftwareICON ComputingObjecTimePlatinum Technology
AlcatelKabiraKennedy Carter
1.5
EricssonIONAMotorolaTelelogicBoldsoftAdaptiveFinancial System ArchitectsSUNGentlewareDaimlerChrylser
2.0
MicrosoftHewlett-PackardICON ComputingIntelliCorpPtech TaskonReich Technologies
![Page 18: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/18.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 18
Vorschläge zur UML 2
Einige komplexe Dinge sollten einfacher werden ...
![Page 19: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/19.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 19
Vorschläge zur UML 2
Manchmal sagen Bilder einfach zu wenig ...
![Page 20: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/20.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 20
Vorschläge zur UML 2
Superstructure und Infrastructure:Ausgereiftester und mit breiter Unterstützung bedachter Vorschlag durch die sog. „UML2 Partners“:
- Mitglieder:Alcatel, Computer Associates, Ericsson, Hewlett-Packard, IONA, Kabira Technologies, Motorola, Oracle, Rational Software, SOFTEAM, Telelogic, and Unisys
- Unterstützer:Advanced Concepts Center, Ceira Technologies, Compuware, Commisariat à L´Energie Atomique, DaimlerChrysler, Embarcardero Technologies, Enea Business Software, France Telecom, ...
![Page 21: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/21.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 21
UML 2.0 Ablaufplan
Ziel: Ein UML 2.0 Standard
Erste Einreichung ÜberarbeiteteEinreichung Annahme
Erste Einreichung ÜberarbeiteteEinreichung Annahme
Infrastructure RFP
Superstructure RFP
Sep 00 Apr 01 Jun 01 Aug 01 Okt 01 Dez 01 Feb 02
Jan 03 Apr 03 Sep 03
![Page 22: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/22.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 22
UML 2.0 Standardisierungsablauf
Komplexer Annahmeprozess
Bestätigung durch dasOMG Architecture Board
Jun 03
Sep 03 ?
Okt 03 ?
Jun 04 ?
Sep 04 ?
Okt 04 ?
angenommeneSpezifikation
gültigeSpezifikation
OMGMitgliedsabstimmung
Bestätigung durch dasOMG Board of Directors
UML 2.0 FinalizationTask Force (FTF)
OMGMitgliedsabstimmung
Bestätigung durch dasOMG Board of Directors
Ab diesem Zeitpunkt sind UML 2Artikel, Bücher, Tools, ...
Wahrscheinlich zu erwarten
„offizieller“ Standard(bis Oktober 2004 änderbar)
![Page 23: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/23.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 23
Diagramme der UML 2
Kommunikations-diagramm
Interaktionsüber-sichtsdiagramm
Zeitverlaufs-diagramm
Sequenz-diagramm
Interaktions-diagramme
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
ZustandsautomatUse-Case-Diagramm
Aktivitäts-diagramm
Verhaltens-diagramme
Diagramme derUML 2
Klassendiagramm
Kompositions-strukturdiagramm
![Page 24: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/24.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 24
Wie hätten Sie´s denn gern?
Rational Unified Process Agiles VorgehenArte
XPCrystal EOS
OEP ASDLean SoftwareDevelopment Spiralmodell
V-Modell Unified Process SCRUM
![Page 25: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/25.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 25
Entscheidungshilfe (1): Gibt es Vorschriften?
Es gibt Vorschriften
Was wird durch Ihre Umwelt erzwungen?- Standardkonformität erforderlich zwecks
Freigabe des Systems (TÜV it, FDA,...)?- Standard/Vorgehensmodell schreibt
gewisse Notation vor- Zertifizierbarkeit des Systems
erforderlich?
Es haben freie Wahl
Machen Sie dasBeste daraus!
Sie haben keine Wahl!Allenfalls ergänzende Informationenin anderen Notationen hinzufügen und auf Vorschriften abbilden!
![Page 26: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/26.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 26
Entscheidunghilfe (2): Akzeptanz von Formalität
Leser akzeptiert keinerleiFormalismus
Prototypen jeglicher Art (Lo-fi, Hi-fi)
Leser akzeptiert Formalismus
Was wünschen/ akzeptieren dieStakeholder?
- Wie hoch ist die Motivation, sich in Dokumente des Entwicklungsprozesses zu vertiefen?
- Welche Grundausbildung haben die Betroffenen?
- Aufgeschlossenheit gegenüber neuen Notationen vorhanden?
- Starke Fixierung auf die alt bekannte Methode?
Entscheiden Sie zwischen „Lesbarkeit“, „Verständlichkeit“auf der einen Seite und „Prüfbarkeit“, „Automatisier-barkeit“ auf der anderen Seite.
![Page 27: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/27.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 27
Entscheidungshilfe (3):Eignung für die Problemstellung
.... Jetzt kommt endlich die Fragen nach dem fachlichen Inhalt, den ein Modell darstellt
![Page 28: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/28.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 28
Diagramme der UML und ihre Anwendung I
Diagrammtyp Diese zentrale Frage beantwortet das Diagramm
Stärken
Klassendiagramm Aus welchen Klassen besteht mein System und wie stehen diese untereinander in Beziehung?
Beschreibt die statische Struktur des Systems.Enthält alle relevanten Struktur-zusammenhänge/Datentypen.Brücke zu dynamischen Diagrammen.Normalerweise unverzichtbar.
Paketdiagramm Wie kann ich mein Modell so schneiden, dass ich den Überblick bewahre?
Logische Zusammenfassung von Modellelementen.Modellierung von Abhängigkeiten/ Inklusion möglich.
Objektdiagramm Welche innere Struktur besitzt mein System zu einem bestimmten Zeitpunkt zur Laufzeit (Klassendiagramm-schnappschuss)?
Zeigt Objekte u. Attributbelegungen zu einem bestimmten Zeitpunkt.Verwendung beispielhaft zur Veranschaulichung Detailniveau wie im Klassen-diagramm.Sehr gute Darstellung von Mengenverhältnissen.
![Page 29: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/29.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 29
Diagramme der UML und ihre Anwendung II
Diagrammtyp Diese zentrale Frage beantwortet das Diagramm
Stärken
Kompositionsstruktur-diagramm
Wie sieht das Innenleben einer Klasse, einer Komponente,eines Systemteils aus?
Ideal für die Top-Down-Modellierung des Systems (Ganz-Teil-Hierarchien).Zeigt Teile eines „Gesamtelements“und deren Mengenverhältnisse.Präzise Modellierung der Teile-Beziehungen über spezielle Schnittstellen (Ports) möglich.
Komponentendiagramm Wie werden meine Klassen zu wieder verwendbaren, verwaltbaren Komponenten zusammengefasst und wie stehen diese in Beziehung?
Zeigt Organisation und Abhängig-keiten einzelner technischer Systemkomponenten.Modellierung angebotener und benötigter Schnittstellen möglich.
Verteilungsdiagramm Wie sieht das Einsatzumfeld (Hardware, Server, Datenbanken, …) des Systems aus? Wie werden die Komponenten zur Laufzeit wohin verteilt?
Zeigt das Laufzeitumfeld des Systems mit den „greifbaren“ Systemteilen.Darstellung von „Softwareservern“möglich.Hohes Abstraktionsniveau, kaum Notationselemente.
![Page 30: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/30.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 30
Diagramme der UML und ihre Anwendung III
Diagrammtyp Diese zentrale Frage beantwortet das Diagramm
Stärken
Use-Case-Diagramm Was leistet mein System für seine Umwelt (Nachbarsysteme, Stakeholder)?
Außensicht auf das System.Geeignet zur Kontextabgrenzung.Hohes Abstraktionsniveau, einfache Notationsmittel.
Aktivitätsdiagramm Wie läuft ein bestimmter fluss-orientierter Prozess oder ein Algorithmus ab?
Sehr detaillierte Visualisierung von Abläufen mit Bedingungen, Schleifen, Verzweigungen.Parallelisierung und Synchronisation.Darstellung von Datenflüssen.
Zustandsautomat Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use Case, …bei welchen Ereignissen annehmen?
Präzise Abbildung eines Zustands-modells mit Zuständen, Ereignissen, Nebenläufigkeiten, Bedingungen, Ein- und Austrittsaktionen.Schachtelung möglich.
Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus?
Darstellung d. Informationsaustauschs zwischen Kommunikationspartnern Sehr präzise Darstellung der zeitlichen Abfolge auch mit Nebenläufigkeiten.
![Page 31: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/31.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 31
Diagramme der UML und ihre Anwendung IV
Diagrammtyp Diese zentrale Frage beantwortet das Diagramm
Stärken
Kommunikations-diagramm
Wer kommuniziert mit wem? Wer „arbeitet“ im Systemzusammen?
Stellt den Informationsaustausch zwischen Kommunikationspartnern dar.Überblick steht im Vordergrund (Details und zeitliche Abfolge weniger wichtig).
Timingdiagramm Wann befinden sich verschiedene Interaktionspartner in welchem Zustand?
Visualisiert das exakte zeitliche Verhalten von Klassen,Schnittstellen,..Geeignet für die Detailbetrachtungen, bei denen es wichtig ist, dass ein Ereignis zum richtigen Zeitpunkt eintritt.
Interaktionsübersichts-diagramm
Wann läuft welche Interaktion ab? Verbindet Interaktionsdiagramme (Sequenz-, Kommunikation- undTimingdiagramme) auf Top-Level-Ebene.Hohes Abstraktionsniveau.
![Page 32: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/32.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 32
UML 2 –Die Strukturdiagramme
Barbara ZenglerMario Jecklewww.uml-glasklar.de
![Page 33: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/33.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 33
Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen.
Albert Einstein
![Page 34: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/34.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 34
Diagramme der UML 2
Kommunikations-diagramm
Interaktionsüber-sichtsdiagramm
Zeitverlaufs-diagramm
Sequenz-diagramm
Interaktions-diagramme
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
ZustandsautomatUse-Case-Diagramm
Aktivitäts-diagramm
Verhaltens-diagramme
Diagramme derUML 2
Klassendiagramm
Kompositions-strukturdiagramm
![Page 35: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/35.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 35
Die StrukturdiagrammeKlassendiagrammEine Zusammenstellung deklarativ-statischer Modellelemente (d.h. Klassen, Typen, ihre Inhalte und Beziehungen)ObjektdiagrammEnthält Objekte und BeziehungsausprägungenPaketdiagrammStellt die logische Organisation von Modellelementen und deren Abhängigkeiten darKomponentendiagrammZeigt die Organisation und Abhängigkeiten von KomponentenKompositionsstrukturdiagrammZeigt die interne Struktur eines classifiers sowie seine Möglichkeiten zu Interaktion mit anderen SystemkomponentenVerteilungsdiagrammZeigt die Ausführungssicht des Systems
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
![Page 36: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/36.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 36
Warum neue oder geänderte Strukturdiagramme?Hintergrund
Statische Modellierung seit Mitte der 1970er Jahre gängig und hinreichend erforscht(z.B. Entity-Relationship)Darstellung nicht ausführbarer statischer Zusammenhänge durch die ersten OO-Modellierungssprachen (u.a. Boochs OOSE, Rumbaughs OMT) weidlich bearbeitetStrukturdiagramme (insbesondere Klassendiagramme) ausgereiftester und stabilster Teil der UML v1.x
Jüngere Entwicklungstrends, die eine Neufassung rechtfertigenMetamodellierungKonzeptionelle BereinigungWiederverwendung von bestehenden Konstrukten
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
![Page 37: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/37.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 37
Änderungen an den Strukturdiagrammen!?Statische Diagramme besitzen in der UML und ihrerAnwendung eine hervorgehobene Bedeutung
Bekanntester DiagrammtypMeistverwendester DiagrammtypBasis des UML-MetamodellsBasis des UML-Metametamodells (Meta Object Facility)
Änderungen„automatisch“ sehr sichtbarfür den UML-Anwender „spürbar“beeinflussen u.U. gesamtes Sprachkonzeptwirken sich auf andere (Meta-)Sprachen ausInhärente Bedeutung für den Modellaustausch zwischen Werkzeugen (XMI-Format wird aus Metamodell generiert)
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
![Page 38: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/38.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 38
Statische Diagramme der UML 2
45%
9%7%
19%
15% 5%
Klassendiagramm
Komponentendiagramm
Objektdiagramm
Kompositionsstrukturdiagramm
Verteilungsdiagramm
Paketdiagramm
Kommunikations-diagramm
Interaktionsüber-sichtsdiagramm
Zeitverlaufs-diagramm
Sequenz-diagramm
Interaktions-diagramme
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
ZustandsautomatUse-Case-Diagramm
Aktivitäts-diagramm
Verhaltens-diagramme
Diagramme derUML 2
Klassendiagramm
Kompositions-strukturdiagramm
„wichtigster“ Diagrammtyp
neuer Diagrammtyp
meist-geänderter Diagrammtyp
![Page 39: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/39.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 39
Basiskonzepte
Die UML-Basiskonzepte sindAbstraktionTypisierung und IdentitätStrukturierung (d.h. gekapselte Eigenschaften und vielfältige Beziehungen)Erweiterbarkeit der Sprache
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
![Page 40: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/40.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 40
Basiskonzepte
Die UML-Basiskonzepte sindAbstraktionTypisierung und IdentitätStrukturierung (d.h. gekapselte Eigenschaften und vielfältige Beziehungen)Erweiterbarkeit der Sprache
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Erweitert die Nutzung der ClassifierVereinheitlicht ähnliche Konzepte unter gemeinsamen OberbegriffenBietet neue Diagrammtypen und -sichten
![Page 41: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/41.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 41
Basiskonzepte -- Abstraktion
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Erweitert die Nutzung der ClassifierVereinheitlicht ähnliche Konzepte unter gemeinsamen OberbegriffenBietet neue Diagrammtypen und -sichten
Classifier
DataType
PrimitiveType Enumeration
Association
CommunicationPath AssociationClass Interface
Class(from Kernel)Signal
Artifact
BehavioredClassifier StructuredClassifierInformationItemActor
Behavior Class(from Communications) UseCase Collaboration EncapsulatedClassifier
Activity Interaction StateMachine
ProtocolStateMachine
Class(from StructuredClasses)
Node
Device ExecutionEnvironment
![Page 42: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/42.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 42
Basiskonzepte -- Abstraktion
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Erweitert die Nutzung der Classifier
Beziehungen (Assoziationen) werden zwischen ihnen geknüpft... können Charakteristika (Attribute) besitzen... können Verhaltensspezifikationen (Operationen) besitzen... können generalisiert werden... können autonom auf Signale reagieren... können ausschließlich der Strukturierung dienen (abstract)
Classifier
DataType
PrimitiveType Enumeration
Association
CommunicationPath AssociationClass Interface
Class(from Kernel)Signal
Artifact
BehavioredClassifier StructuredClassifierInformationItemActor
Behavior Class(from Communications) UseCase Collaboration EncapsulatedClassifier
Activity Interaction StateMachine
ProtocolStateMachine
Class(from StructuredClasses)
Node
Device ExecutionEnvironment
![Page 43: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/43.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 43
Basiskonzepte -- Abstraktion
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Erweitert die Nutzung der ClassifierVereinheitlicht ähnliche Konzepte unter gemeinsamen OberbegriffenBietet neue Diagrammtypen und -sichten
Beispiel:Artefakt kann beliebige paktierbare Elemente „manifestieren“
myWebApp
.xml
.class
.html
.jsp
«artifact»
myApp.war«manifest»
Anwendung:Deployment von Webapplikationen
![Page 44: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/44.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 44
Basiskonzepte -- Abstraktion
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Erweitert die Nutzung der ClassifierVereinheitlicht ähnliche Konzepte unter gemeinsamen OberbegriffenBietet neue Diagrammtypen und -sichten
Beispiel:KompositionsstrukturdiagrammZeigt die interne Struktur eines Classifiers sowie seine Möglichkeiten zu Interaktion mit anderen Systemkomponenten
![Page 45: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/45.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 45
Basiskonzepte
Die UML-Basiskonzepte sindAbstraktionTypisierung und IdentitätStrukturierung (d.h. gekapselte Eigenschaften und vielfältige Beziehungen)Erweiterbarkeit der Sprache
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Verhältnis zwischen Classifier und typisierten Elementen klarer gefasstUnterschied zwischen „typisiert sein“ und „Typ sein“ verwirklichtIdentitätsverhalten geklärt(Insbesondere bei dynamischer Verarbeitung statischer Daten)
![Page 46: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/46.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 46
Basiskonzepte –Typisierung und Identität
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Verhältnis zwischen Classifier undtypisierten Elementen klarer gefasstUnterschied zwischen „typisiert sein“ und „Typ sein“ verwirklichtIdentitätsverhalten geklärt(Insbesondere bei dynamischer Verarbeitung statischer Daten)
Element ElementUML 1.x UML 2
ModelElementname
Namespace GeneralizableElement
NamedElementname
TypedElement Type
Classifier Classifier
![Page 47: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/47.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 47
Basiskonzepte –Typisierung und Identität
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Verhältnis zwischen Classifier undtypisierten Elementen klarer gefasstUnterschied zwischen „typisiert sein“ und „Typ sein“ verwirklichtIdentitätsverhalten geklärt(Insbesondere bei dynamischer Verarbeitung statischer Daten)
UML 2 ...Identitätsbesitz ist nicht mehr statisch über die gesamte LebensdauerIdentitätsbehaftete Objekte können durch dynamische Aktivitäten ihre Identität verlieren oder wechselnTeilweise (beispielsweise in Kollaborationen) ist sie sogar unerheblich
![Page 48: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/48.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 48
Basiskonzepte
Die UML-Basiskonzepte sindAbstraktionTypisierung und IdentitätStrukturierung (d.h. gekapselte Eigenschaften und vielfältige Beziehungen)Erweiterbarkeit der Sprache
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Assoziationen zur Formulierung von Beziehungen zwischenClassifier-Ausprägungen (viele (unnötige) Einschränkungen) entfallen (z.B. Anwendung auf Use-Cases))
Generalisierungen zur Hierarchisierung von Classifiern(Damit sind z.B. Pakete nicht mehr naiv generalisierbar, hierfür existiert ein separiertes „merge“-Konzept)
Abhängigkeitsbeziehungen dokumentieren logische Wechselwirkungen
![Page 49: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/49.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 49
Basiskonzepte -- Strukturierung
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Assoziationen zur Formulierung vonBeziehungen zwischen Classifier-Ausprägungen (viele (unnötige) Einschränkungen) entfallen (z.B. Anwendung auf Use-Cases))
Generalisierungen zur Hierarchisierung von Classifiern(Damit sind z.B. Pakete nicht mehr naiv generalisierbar, hierfür existiert ein separiertes „merge“-Konzept)
Abhängigkeitsbeziehungen dokumentieren logische Wechselwirkungen
Konstrukteur
Kundenbetreuer
Konstruktion
Änderungswunsch entgegennehmen
![Page 50: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/50.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 50
Basiskonzepte -- Strukturierung
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Assoziationen zur Formulierung vonBeziehungen zwischen Classifier-Ausprägungen (viele (unnötige) Einschränkungen) entfallen (z.B. Anwendung auf Use-Cases))
Generalisierungen zur Hierarchisierung von Classifiern(Damit sind z.B. Pakete nicht mehr naiv generalisierbar, hierfür existiert ein separiertes „merge“-Konzept)
Abhängigkeitsbeziehungen dokumentieren logische Wechselwirkungen
Konstrukteur
Kundenbetreuer
KonstruktionKundenbetreuer
Änderungswunsch entgegennehmen
![Page 51: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/51.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 51
Basiskonzepte -- Strukturierung
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Assoziationen zur Formulierung vonBeziehungen zwischen Classifier-Ausprägungen (viele (unnötige) Einschränkungen) entfallen (z.B. Anwendung auf Use-Cases))
Generalisierungen zur Hierarchisierung von Classifiern(Damit sind z.B. Pakete nicht mehr naiv generalisierbar, hierfür existiert ein separiertes „merge“-Konzept)
Abhängigkeitsbeziehungen dokumentieren logische Wechselwirkungen
Classifier
Generalization1 general
specific*
isSubstitutable
Alle Classifier-Spezialisierungen sind nun spezialisierbarSubstituierbarkeit expliziert
![Page 52: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/52.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 52
Der Classifier-ZooClassifier
DataType
PrimitiveType Enumeration
Association
CommunicationPath AssociationClass Interface
Class(from Kernel)Signal
Artifact
BehavioredClassifier StructuredClassifierInformationItemActor
Behavior Class(from Communications) UseCase Collaboration EncapsulatedClassifier
Activity Interaction StateMachine
ProtocolStateMachine
Class(from StructuredClasses)
Node
Device ExecutionEnvironment
Alle Classifier-Spezialisierungen sind nun spezialisierbar
![Page 53: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/53.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 54
Basiskonzepte -- Strukturierung
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
UML 2 ...Assoziationen zur Formulierung vonBeziehungen zwischen Classifier-Ausprägungen (viele (unnötige) Einschränkungen) entfallen (z.B. Anwendung auf Use-Cases))
Generalisierungen zur Hierarchisierung von Classifiern(Damit sind z.B. Pakete nicht mehr naiv generalisierbar, hierfür existiert ein separiertes „merge“-Konzept)
Abhängigkeitsbeziehungen dokumentieren logische Wechselwirkungen
Neue Notation (genaugenommen gibt es erstmals eine)
Programmiersprachenspezifische Abhängigkeiten entfallenz.B. C++-spezifisches „friend“
«metaclass»Klasse «stereotype»
persistent
«persistent, xml»Partyteilnehmer
«persistent»Gastgeber
«stereotype»xml
![Page 54: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/54.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 55
Klassendiagramm ---Das „wichtigste“ Diagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
![Page 55: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/55.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 56
Klassendiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
Funktion:Zusammenstellung deklarativ-statischer Modellelemente (d.h. Klassen, Typen, ihre Inhalte und Beziehungen)
Aufgabe im Projekt:Variierend ...
von der ersten Darstellung konzeptueller Dateninhalteüber plattformunabhängige logische Modellebis hin zu „Implementierungsbauplänen“(„Bilder-für-Java“, „Kästchen-und-Strichchen-statt-C++“)
Ersetzt oftmals das klassische, in Entity Relationship-Notation abgefasste, Datenmodell
![Page 56: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/56.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 57
Klassendiagramm
Gast
feiere()
Feier
+termin : Datum
abbrechen()
Gastgeber
hektisch : Boolean = true
begruesse(in g : Gast)verabschiede (in g : Gast)treibeAn(in b : Barmixer)
Cocktail
Zutaten : Zutat [1..*]
Barmixer
+mixe(in z : Zutat [1..*], out c:Cocktail)
Zutat
+name : String
Häppchen
empfängt{unique}1..*
besucht
verabschiedet{unique}1..*
mixt
1..*
treibt an
isst {ordered}0..*
unterhält
*
1 mixt für
1..1
«enumeration»Begeisterung
ekstatischverzücktneutralgelangweiltüberdrüssig
Partyteilnehmer
/betrunken : Boolean = false~intus : Cocktail [1..*]#begeistert : Begeisterung
«interface»Esser
iss(in h : Häppchen; return satt:Boolean)
Esser Esser
#überdenkeBegeisterung()~trinke(in c : Cocktail)
Klasse
Klassenname
Attribut
AggregationKomposition
Assoziation
Multiplizität
Rolle
Operation
GeneralisierungSchnittstelle
abstrakte Klasse
gerichtete Assoziation
Stereotyp
Eigenschaftswert
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
![Page 57: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/57.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 58
Klassendiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
Gast
feiere()
Feier
+termin : Datum
abbrechen()
Gastgeber
hektisch : Boolean = true
begruesse(in g : Gast)verabschiede (in g : Gast)treibeAn(in b : Barmixer)
Cocktail
Zutaten : Zutat [1..*]
Barmixer
+mixe(in z : Zutat [1..*], out c:Cocktail)
Zutat
+name : String
Häppchen
empfängt{unique}1..*
besucht
verabschiedet{unique}1..*
mixt
1..*
treibt an
isst {ordered}0..*
unterhält
*
1 mixt für
1..1
«enumeration»Begeisterung
ekstatischverzücktneutralgelangweiltüberdrüssig
Partyteilnehmer
/betrunken : Boolean = false~intus : Cocktail [1..*]#begeistert : Begeisterung
«interface»Esser
iss(in h : Häppchen; return satt:Boolean)
Esser Esser
#überdenkeBegeisterung()~trinke(in c : Cocktail)
Klasse
Klassenname
Attribut
AggregationKomposition
Assoziation
Multiplizität
Rolle
Operation
GeneralisierungSchnittstelle
abstrakte Klasse
gerichtete Assoziation
Stereotyp
EigenschaftswertKlasse
Sichtbarkeit / name : Typ [Multiplizität] = Vorgabewert {Eigenschaft=Wert}
Klasse
Sichtbarkeit name (Richtung Name : Typ [Multiplizität]=Vorgabe {Eigenschaft=Wert}) : Rückgabetyp {Eigenschaft=Wert}
[1..3]
![Page 58: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/58.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 59
Klassendiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
Neu in UML 2:
Klasse1 Klasse2«Abhängigkeitsname»
Klasse3
Klasse4
Klasse5
Klasse6
Kommentar zurAbhängigkeitsbeziehung
![Page 59: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/59.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 60
Klassendiagramm
Neu in UML 2:- Attribute besitzen Ordnung- Graphische Assoziationsnotation
(Nutzung des „großen leeren Diamanten“auch für binäre Assoziationen)- Kommentarnotation „mit Punkt“
Geändert in UML 2:- Graphische Schnittstellennotation (Lollipops) jetzt Standard- Spezifikation von Sichtbarkeit, Name, Typ und Multiplizität für Operationen
und Attribute vereinheitlicht- Multiplizitätsdefinition schärfer formuliert - Attribute sind keine implizite Kompositionsassoziation mehr
Entfällt in UML 2:- Programmiersprachenmanifestationsspezifische Eigenschaften
(z.B. friend)- Eigenschaften und Stereotypen unklarer Semantik
(z.B. become und copy)
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagrammKlassendiagramm
![Page 60: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/60.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 61
Kompositionsstrukturdiagramm ---Ein neues Diagramm in UML 2
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
Kompositionsstrukturdiagramm
![Page 61: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/61.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 62
Kompositionsstrukturdiagramm
Funktion:Zeigt die interne Struktur eines Classifiers sowie seine Möglichkeiten zu Interaktion mit anderen Systemkomponenten
Aufgabe im Projekt:Beschreibung von extern angebotenen SchnittstellenAbstraktion der Operationen und des Signals
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagramm
![Page 62: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/62.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 63
Kompositionsstrukturdiagramm
Basiskonzepte:PartPortKollaborationKonnektorRollenverwendung
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagramm
![Page 63: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/63.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 64
Kompositionsstrukturdiagramm
Basiskonzepte:PartObjekte oder RollenausprägungenPortÖffentlich sicht- und zugreifbarer Interaktionspunkt, der auf einen Operationsaufruf oder den Empfang eines Signals reagiertKollaborationZusammenspiel von Operationen oder ClassifiernKonnektorAssoziationsinstanz (Link), die Kommunikation zwischen (allgemeinen) Instanzen ermöglichtRollenverwendungBindet realisierende Classifier an Kollaborationsinstanz
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagramm
![Page 64: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/64.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 65
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammNeu in UML 2:
Port: Definiert einen öffentlich sicht-und zugreifbaren Interaktionspunkt, der auf einen Operationsaufruf oder den Empfang eines Signals reagiert.
Klasse
bereitgestellteSchnittstelle
benötigteSchnittstelle
Stereoanlage
partybeschallung
strom, medium
![Page 65: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/65.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 66
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammNeu in UML 2:
Port: Werden durch andere Classifieroder Ports angesprochen.
Musikerzeugung
Stereoanlage : Steckdosekabel
Musikerzeugung
: HamsterradStereoanlagetransformator
Konnektor
Konnektor
![Page 66: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/66.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 67
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammNeu in UML 2:
Behavior Port:Wie Port, allerdingsmit der Einschränkung, dass der definierende Classifier das Verhalten selbst manifestieren muss, andernfalls ist die empfangende Botschaft oder das empfangene Signal verloren.Kann Sichtbarkeits- und Zugriffsbeschränkt sein.
Stereoanlage
partybeschallung
strom, medium
![Page 67: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/67.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 68
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammÜberarbeitet in UML 2:
Kollaboration: Visualisiert das Zusammenspiel von Operationen oder Classifiern
![Page 68: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/68.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 69
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammÜberarbeitet in UML 2:
Kollaboration: Visualisiert das Zusammenspiel von Operationen oder Classifiern
![Page 69: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/69.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 70
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammÜberarbeitet in UML 2:
Beispiel:
![Page 70: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/70.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 71
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammÜberarbeitet in UML 2:
Beispiel:
![Page 71: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/71.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 72
Kompositionsstrukturdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
KompositionsstrukturdiagrammKompositionsstrukturdiagrammNeu in UML 2:
- Der gesamte Diagrammtyp- Ports als gemeinsame Abstraktion
von Operationen und Signalen- Auffassung von Kollaborationen als Teile von
Kompositionsstrukturen
Geändert in UML 2:- Schnittstellennotation- Möglichkeiten zur Darstellung von Kollaborationen
![Page 72: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/72.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 73
Verteilungsdiagramm ---Das Diagramm mit den meisten Änderungen
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
Verteilungsdiagramm
![Page 73: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/73.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 74
Verteilungsdiagramm
Funktion:Zeigt die Ausführungssicht des Systems
Aufgabe im Projekt:Beschreibung der SystemarchitekturErweitert Systemsicht um an der Ausführung beteiligte oder zur Ausführung benötigte Hardwarekomponenten
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
VerteilungsdiagrammVerteilungsdiagramm
![Page 74: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/74.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 75
Verteilungsdiagramm
Basiskonzepte:ArtefaktPhysische Informationseinheit, die währenddes Entwicklungsprozesses erzeugt oderverwendet wird.(z.B. Modelle, Quellcode, Objekdateien, ...)KnotenClassifier, der eine zur Ausführungszeit verfügbare Ressourcedarstellt.Einsatzspezifikation (Deployment Specification)Paramtermenge, die Laufzeitverhalten festlegt
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
VerteilungsdiagrammVerteilungsdiagramm
![Page 75: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/75.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 76
Verteilungsdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
VerteilungsdiagrammVerteilungsdiagramm
«device»: Application Server
J2EE Server«execution environment»: J2EE Server
entry.jspconfig.xmlMyBean.class
«artifact»
application.jar«deploy»
Artefakt
Knoten
Deployment-Beziehung
«device»: DB Server
1..*
1..*
Assoziation«deployment spec»
appDesc.xml
Deployment-Spezifikation
execution : threadtransaction : false
![Page 76: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/76.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 77
Verteilungsdiagramm
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
Klassendiagramm
Kompositions-strukturdiagramm
VerteilungsdiagrammVerteilungsdiagrammNeu in UML 2:
- Aktuelle Ausführungs- und Laufzeitumgebungen wie J2EE und .NET werden besser berücksichtigt
Geändert in UML 2:- Knoten können hinsichtlich ihrer Rollen zum Ausführungszeitpunkt
feinspezifiziert werden- Ausdetaillierung der Abhängigkeitsbeziehungen
Entfällt in UML 2:- Unpraktikable graphische Darstellung des Knotens
![Page 77: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/77.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 78
Fazit ---statische Diagramme in UML 2
Absichtsvoll wenig „spürbar“ Neues- Im Hintergrund
- Klarere Basiskonzepte- Deutlich mehr Wiederverwendung- Fast vollständig neues Metamodell
Modifizierte Semantik vieler (Meta-)ModellelementeEinige neue graphische PrimitiveReichhaltigeres Angebot an Abhängigkeiten und „eingebauten“ Modellerweiterungen (Stereotypen)Behutsame Verrentung „problematischer“ Modellelemente
![Page 78: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/78.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 79
UML 2 –Die Verhaltensdiagramme
Chris RuppJürgen Hahnwww.uml-glasklar.de
![Page 79: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/79.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 80
Diagramme der UML 2
Kommunikations-diagramm
Interaktionsüber-sichtsdiagramm
Zeitverlaufs-diagramm
Sequenz-diagramm
Interaktions-diagramme
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
ZustandsautomatUse-Case-Diagramm
Aktivitäts-diagramm
Verhaltens-diagramme
Diagramme derUML 2
Klassendiagramm
Kompositions-strukturdiagramm
![Page 80: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/80.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 81
Use-Case-Diagramm
„Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.“
Galileo Galilei
![Page 81: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/81.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 82
Use-Case-DiagrammAnwendung im Projekt
Darstellung der funktionalen Dienstleistungen eines SystemsAbgrenzung des Systems gegenüber seiner UmweltAufteilen des Systems aus einer AußensichtErstellung planbarer EinheitenSchaffen einer Kommunikationsgrundlage zwischen Stakeholdern
![Page 82: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/82.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 83
Use-Case-DiagrammDie Elemente im Überblick
«include» «extend»
Anwendungsfall
Use-Case Subject Akteur
System
Benutzer
Beziehung «include»-Beziehung «extend»-Beziehung Generalisierungs-beziehung
![Page 83: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/83.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 84
Use-Case-Diagramm
Use-Case:- spiegelt ein funktionales Verhalten wieder- wird durch Akteur angestoßen- liefert ein für den Akteur sichtbares Ergebnis
Akteur:- beschreibt eine Rolle - steht außerhalb des Systems- interagiert mit dem System- kann eine Person, ein Nachbarsystem, .... sein
![Page 84: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/84.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 85
Use-Case-Diagramm
System (Betrachtungsgegenstand):- Umgrenzt die Einheit, welche die Use-Cases realisiert- Darstellung ist nicht zwingend notwendig
Assoziationen:- beschreiben die Beziehungen zwischen Akteuren und Use-
Cases- «Extend»-Beziehung: Verhalten eines Use-Case kann durch
einen anderen erweitert werden- «Include»-Beziehung: Verhalten eines Use-Case ist
vollständig in einem anderen enthalten
![Page 85: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/85.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 86
Use-Case-DiagrammDie Anwendung
Extend-Beziehung
Verkauf
Systemname Systemgrenze
Akteur
Verkaufsposteneingeben
Kreditwürdigkeitprüfen
Kunde nichtgefunden
«include»
«extend»
AssoziationInclude-
Beziehung
Use-Case
Kundendateneinsehen
extension points:fehlender KundeVerkäufer
![Page 86: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/86.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 87
Use-Case-DiagrammDie Anwendung
Bürger
Finanzamt
Steuern zahlen
Auskunft über Finanzen geben- Einkommen- Vermögen+ Belege zeigen()+ Einkommensbeleg vorlegen()
Steuern hinterziehen- Einkommen- Vermögen+ Belege fälschen()+ Privat-/Geschäftskosten vermischen()
Lohnsteuerkartebeantragen- Familienstand- Steuerklasse+ Formular ausfüllen()+ Karte ausdrucken()
![Page 87: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/87.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 88
Use-Case-DiagrammKontextabgrenzung
Abgrenzung von Systemen zu ihren Nachbarsystemen
Fast Food RestaurantBestellung
Rechnung
Bestellung
Waren
Geld
Nahrung
Geld
Rechnung
Richtlinien
BestätigungZinsen
Geld
Amt
Kunde
Zulieferer
Bank
![Page 88: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/88.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 89
Use-Case-DiagrammDie wichtigsten Änderungen
UML 1.x UML 2
Ein Akteur darf unbenannt sein Ein Akteur muss einen Namen haben
Nur Pakete können Use-Cases besitzen. Classifier im Allgemeinen können Use-Cases besitzen.
Als Realisierer von Use-Cases werden (Sub-) Systeme impliziert, obwohl jeder Classifier einen Use-Case realisieren darf.
Es wird deutlich herausgestellt, dass alle Classifier Use-Cases realisieren können.
Bei der «extend»-Beziehung werden die Vorbedingungen nur in der Nähe der entsprechenden Relation angetragen:
Die Vorbedingung und die entsprechenden extension points werden als Notiz an die Erweiterungsbeziehung angehängt:
«Vorbedingung»{Benutzer ruft Hilfefunktion auf}
«extend»
extension point: Hilfethema
«extend»
Benutzer ruft Hilfefunktion auf
![Page 89: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/89.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 90
Use-Case-DiagrammVorsicht: Fehler die vermieden werden sollten
Bezeichnung des Akteursfehlt
Verkauf
Kundendateneinsehen
Kreditwürdigkeitprüfen
Kunde nichtgefunden
Use-Case Name fehltAkteur muss außerhalb des
Systems stehen
Zwischen Use-Cases des selben Systems dürfenkeine Assoziationen vorhanden sein
Assoziationen dürfen nurbinär sein
Bürgen finden«extend»
Angabe desErweiterungspunktes fehlt
Verkäufer
![Page 90: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/90.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 91
Aktivitätsdiagramm
„Wenn du etwas so machst, wie du es seit zehn Jahren gemacht hast, dann sind die Chancen recht groß, daßdu es falsch machst.“
Charles Kettering
![Page 91: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/91.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 92
AktivitätsdiagrammAnwendung im Projekt
Aktivitätsdiagramme visualisieren mögliche Abläufemit veränderbarem Detaillierungsgrad
vielfache Anwendungsgebiete
GeschäftsprozessmodellierungBeschreibung von Use-CasesImplementieren einer Operation
![Page 92: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/92.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 93
AktivitätsdiagrammDas Tokenkonzept
Das Tokenkonzept wurde den Petrinetzen entnommenDer Ablauf in einer Aktivität wird durch den Tokenfluss gesteuertErmöglicht die präzise Beschreibung des VerhaltensDie Token sind nur ein Gedankenkonstrukt (keine explizite Modellierung)
Achtung! Tokenkonzept bewirkt semantische Änderungen zu UML 1.x Aktion 1 Aktion 2
Aktion 3
Aktion 1 Aktion 2
Aktion 3
UML 1.x UML 2
ODER UND
Aktion 1 Aktion 2
![Page 93: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/93.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 94
AktivitätsdiagrammeDie wichtigsten Elemente im Überblick
Eingangsparameter Ausgangsparameter
Objekttyp
Objektknoten
Aktionsname
Aktion
Aktivität
Name
Startknoten
Endknoten
Verzweigungsknoten
Verbindungsknoten Synchronisationsknoten
Parallelisierungsknoten
Kontrollelemente
Kante
StrukturierteKnoten
![Page 94: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/94.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 95
AktivitätsdiagrammAktivität - Aktion
Aktivität beschreibt das komplette DiagrammKann Ein- und Ausgangsparameter haben
Aktionen sind VerhaltensaufrufeSumme der Aktionen realisiert die Aktivität
Zutaten mischen
Eis zerkleinern
in Gläser füllen
Cocktail mixen
Zutaten Cocktail
AktivitätAktion
EingangsparameterAusgangsparameter
![Page 95: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/95.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 96
AktivitätsdiagrammObjektknoten
Objektknoten repräsentierennicht das Objekt selber, sondernden Typ des ObjektsDarstellung als Objektknotenoder durch Pin-Notation
Objektknoten als Datenspeicher
Cocktail mixen Cocktail
Cocktail mixenCocktail
Cocktail trinkenCocktail
«centralBuffer»
«datastore»Name
[Zustand]
![Page 96: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/96.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 97
AktivitätsdiagrammKontrollelemente I
Kontrollelemente steuern den Ablauf der AktivitätKontrollelemente
- starten und beenden Abläufe- ermöglichen parallele Abläufe- können mehrere Abläufe
synchronisieren- lassen alternative Abläufe zu
[Lustvorhanden]
Einladung bekommen
Einladung Datum prüfen
Lust auf Feierprüfen
Feier absagen Zur Feierzusagen
[keine Zeit]
[Zeitvorhanden]
[keine Lust]
Kante
Bedingung
Kontrollknoten
möglicher Ablauf
![Page 97: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/97.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 98
AktivitätsdiagrammKontrollelemente II
Startknoten:- Starten den Ablauf- Mehrere Startknoten initiieren parallele Abläufe
Endknoten:- Beenden die Aktivität oder- einen einzigen Ablauf
Kanten:- Übergänge zwischen zwei Knoten- Beschreiben die Ablaufrichtung
Startknoten
Endknoten
Kante
![Page 98: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/98.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 99
AktivitätsdiagrammKontrollelemente III
Verzweigungsknoten:- Ermöglichen alternative Abläufe- Bedingungen geben Ablaufrichtung vor
Verbindungsknoten:- Vereinigen mehrere Abläufe
Parallelisierungsknoten:- Aufteilen in parallele Abläufe
Synchronisationsknoten:- Zusammenführen paralleler Abläufe
Verzweigungsknoten
Verbindungsknoten
Parallelisierungsknoten
Synchronisationsknoten
![Page 99: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/99.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 100
AktivitätsdiagrammUnterbrechungsbereich und Exception-Handler
Unterbrechungsbereich:- Umfasst ein oder mehrere Aktionen- Kann über Unterbrechungskante
verlassen werden- Alle Aktionen im Bereich werden
dann gestoppt
Exception-Handler:- Ermöglicht die Beschreibung von Ausnahmen- Exception-Handler substituiert eine Aktion
Unterbrechungsbereich Unterbrechungskante
Aktion
Exception-Typ
Exception-Handler
![Page 100: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/100.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 101
Strukturierte Knoten
Umfassen mehrere Elemente einer AktivitätAblauf startet erst dann, wenn an allen eingehenden kanten Token anliegenObjektknoten als Ein- und Ausgangsparameter möglich
Schlüsselwort
![Page 101: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/101.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 102
Strukturierte KnotenEntscheidungsknoten
Visualisierung komplexer Entscheidungenif: prüfen der Bedingungthen: auszuführende
Elementeelse: möglicher Ablauf,
wenn kein if-Bereichzutrifft
else if: wie if-Bereich nur mit vorgegebenerPrüfreihenfolge
if
then
else
schmackhaft?
Schlechte Kritikerstellen
Gute Kritikerstellen
Restaurant Bewertung
Speise
Speise bewerten
![Page 102: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/102.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 103
Strukturierte KnotenMengenverarbeitung
Einzelne Betrachtung der Elemente welche in der restlichen Aktivität nur als Sammlung betrachtet werden z.B. Vektorkomponenten, hashtable, verkettete Listen....
Elemente werden als Objektknoten (Pin) übergeben
Bierkistebesorgen Flasche öffnen Flasche leeren leere Bierkiste
zurückgeben
iterative
![Page 103: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/103.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 104
Strukturierte KontenSchleifenknoten
Visualisieren den Ablauf komplexer Schleifen
for: initiale Aufgabenwhile: prüfen der Bedingung
für einen Durchlaufdo: Schleifenrumpf
Reihenfolge do – while ist optional
for
while
do
X = Zahl 1 Y = Zahl 2
A = X+ Zähler A < Y
Zähler = Zähler +1
Zähler = 0
Zahl 1 Zahl 2
![Page 104: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/104.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 105
AktivitätsdiagrammAktivitätsbereiche
Einteilen des Diagramms in Bereiche mit gemeinsamen EigenschaftenHierarchische und mehrdimensionaleAufteilung möglich
PKW parken
Menü bestellen Menüzusammenstellen
KassierenMenü verzehren
PKW ausparken
Fastfood-Restaurant besuchen
Kunde Bedienung
Par
kpla
tzR
esta
uran
t
Ort
Person
Bere
ichs
nam
e
![Page 105: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/105.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 106
AktivitätsdiagrammDie wichtigsten Änderungen
UML 1.x UML 2
Aktivitätsdiagramm als „Sonderform“ des Zustandsdiagramms.
Aktivitäten sind unabhängig von Zustandsautomaten.
Aktivitätsdiagramme entsprechen in der Struktur den Zustandsdiagrammen.
Aktivitäten verwenden eine den Petri-Netzen ähnlich Semantik (Token-Konzept).
Diagramm heißt Aktivitätsdiagramm. Diagramm wird als Aktivität bezeichnet.
Es ist nur ein Anfangszustand erlaubt. Es sind mehrere Startknoten erlaubt.
Notationssymbole für Zustand und Aktivität unterschiedlich:
Die Notation von Aktionen entspricht der Notation von Zuständen der UML 1.x
Aktivitätsdiagramme haben keine Ein- und Ausgabeparameter.
Aktivitäten können Ein- und Ausgabeparameter enthalten.
Parallele Stränge müssen zusammengeführt werden.
Parallel Abläufe müssen nicht wieder zusammengeführt werden.
Swimlanes sind immer eindimensional Aktivitätsbereiche können hierarchisch oder multidimensional sein.
ZustandAktionszustand1 Aktion Zustand
![Page 106: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/106.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 107
AktivitätsdiagrammVorsicht: Fehler die vermieden werden sollten
Biergartenbetreten
Bier bestellen Bier trinken
Sitzplatz suchen
Biergarten
bezahlenBiergartenverlassen
FehlenderAktionsname
FehlendeBedingungen
Fehlender Pin
Durch vorherigeVerzweigung ist hier eine
Synchronisation nichtmöglich
![Page 107: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/107.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 108
Zustandsautomaten
„Take your chance while you still got a choice.“
Scott/Young/Young
![Page 108: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/108.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 109
ZustandsautomatEinfaches Beispiel
sm Scheibenwischer
Ausgangsstellung
Waschengewählt
Wischengewählt
after(3seconds) /Waschen beenden
Wischenbeendet
Waschengewählt
after(3seconds) /Waschen beenden
[Wischer inParkposition]
[Wischer inParkposition]
[Wischer inParkposition]
Nachwischen Wi
entry / in Parkposition bringen
Nachwischen Wa
entry / in Parkposition bringen
Fertigwischen
entry / in Parkpositionbringen
Wischendo / normal wischen
Wischen [schnell] / schnell wischenWischen [Intervall] / Intervall wischen
Waschendo / Waschen
Waschen Wido / Waschen
![Page 109: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/109.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 110
ZustandsautomatAnwendung im Projekt
Zustandsautomaten bilden Verhalten ab:- in welchem Zustand kann - unter welcher Bedingung - bei welchem eingehenden Ereignis - welche Transition ausgeführt werden
Anwendungsgebiete- Zustandsbeschreibung von Classifiern, u. a.- Detaillierung von Use-Cases- Verhaltensbeschreibung von Interfaces und Ports- Detailbeschreibung von Signal- und Ereignisempfang
![Page 110: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/110.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 111
ZustandsautomatDie wichtigsten Elemente im Überblick
sm Zustandsautomat
TerminatorVereinigungGabelung
Hflache Historie
H*
tiefe Historie
KreuzungEntscheidungStartzustand EintrittspunktAustrittspunkt
Pseudozustände
zusammengesetzter Zustand
Trigger [Guard] / Aktivität
Transition inVerhaltenszustandsautomaten
Transition inProtokollzustandsautomaten
[Vorbedingung] Operation / [Nachbedingung]
Zustandsname
einfacher Zustand
Unterzustandsautomatenzustand : sm Unterzustandsautomat
Unterzustandsautomatenzustand
Endzustand
Zustandsname
![Page 111: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/111.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 112
ZustandsautomatZustandsautomat
Unterscheidung:- Verhaltenszustandsautomaten- Protokollzustandsautomaten
Ein Verhaltenszustandsautomatbildet das diskrete Verhalten einer Instanz eines Classifiers ab.
Ein Protokollzustandsautomatbeschreibt die erlaubte Aufrufsab-folge der Instanz eines Classifiers.
sm Zustandsautomatenname
sm Zustandsautomatenname{protocol}
![Page 112: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/112.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 113
ZustandsautomatProtokollzustandsautomat
sm Ampel
rot
gelb
grünrot-gelbschalte(grün) /
gelb(an) /
schalte(gelb) /
schalte(rot) /
rot(an) /
[reset]schalte(rot) /
[aus] /
![Page 113: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/113.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 114
Zustandsautomateinfacher Zustand und Transition
Ein Zustand beschreibt eine bestimmte Ausprägung:
- eine statische Situation- auf ein externes Ereignis wartend
Kann Aktivitäten enthalten:- entry, do und exit activity- interne Transitionen- verzögerte Ereignisse
Eine Transition ist der Übergang von einem Quell- zu einem Zielzustand
Zustandsnameentry / Aktivitätexit / Aktivitätdo / AktivitätTrigger [Guard] / AktivitätTrigger [Guard] / defer
Zustandsname
[Vorbedingung] Operation / [Nachbedingung]Trigger [Guard] / Aktivität
Transitionen inVerhaltenszustandsautomaten Protokollzustandsautomaten
![Page 114: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/114.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 115
ZustandsautomatZustandsübergänge
Verschiedenste Möglichkeiten einen Zustandsübergang anzustoßen
listen
closed
[passiv offen]TCB erstellen
[geschlossen]TCB löschen
Ausgangsstellung
[Wischer inParkposition]
Fertigwischen
entry / in Parkpositionbringen
Stufe 1
do / langsam drehen
Stufe 2
do / schnell drehen
Stufe1 gewählt /schalte 1
Stufe2 gewählt /schalte 2
angemeldetPKW neu
PKW gebraucht
do/ benutzen
aktiv standbyafter(60 seconds)
![Page 115: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/115.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 116
Zustandsautomatzusammengesetzter Zustand
Zustandsnameentry / Aktivitätexit / Aktivitätdo / AktivitätTrigger / AktivitätTrigger / defer
Setzt sich aus Zuständen, Pseudozuständen und Transitionen zusammen
Zustandsnameentry / Aktivitätexit / Aktivitätdo / AktivitätTrigger / AktivitätTrigger / defer
A
B
aktiv
abgebrochen
gedrückt[anykey]
Startort eingegeben
Zielort eingegeben
rück-gängig
Zielgewählt Termin gewählt
rück-gängig
Termingewählt
gedruckt
bestätigt /drucken
![Page 116: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/116.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 117
ZustandsautomatUnterzustandsautomatenzustand
Steht stellvertretend für einen ZustandsautomatenKann Ein- und Austrittspunkte besitzen
sm Bezahlung
BezahlenBargeld : sm BB
BezahlenGeldkarte : sm BG
[Z_art = GK]
abgebrochen
[Z_art = BG]
abgebrochen
Abbruch
[ok] /abbuchen
[ok] /abbuchen
Abbruch
abwickelnBezahlung : sm Bezahlung
Auswahlbestätigt
/ ausgebenGetränk
![Page 117: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/117.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 118
ZustandsautomatRegion
Verwendung von Regionen impliziert ParallelitätErreichbar durch Verwendung von:
- Gabelungszuständen, oder- Startzuständen (einer pro Region)
kalt
warm
sprudelnd
still
after(Zeit)
after(Zeit)
Flaschegeöffnet
Temperatur Blubbereffekt
offen
kalt
warm
sprudelnd
still
after(Zeit)
after(Zeit)
Flaschegeöffnet
Temperatur Blubbereffekt
offen
![Page 118: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/118.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 119
ZustandsautomatPseudozustände I
Startzustand:- Verweist auf den ersten Zustand- Einer pro Region
Entscheidung:- Ausgehende Transition wird während
der Ausführung der Transition bestimmtKreuzung:
- Ausgehende Transition ist vor der Ausführung der Transition bekannt
Ein- und Austrittspunkt:- Zum Betreten und Verlassen von
Unterzustandsautomaten
Startzustand
Entscheidung
Kreuzung
Austrittspunkt
Eintrittspunkt
![Page 119: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/119.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 120
ZustandsautomatPseudozustände II
Gabelung und Vereinigung:- Teilen eine Transition auf mehrere
parallele Zustände auf bzw. fügen mehrere Transitionen zu einer zusammen
Flache Historie:- Speichert den zuletzt aktiven Unterzustand
eines komplexen ZustandsTiefe Historie:
- Speichert den zuletzt aktiven Unterzustand eines in einem komplexen Zustandenthaltenen Zustand
Terminator: - Bei Erreichen endet die Lebensdauer der Instanz
des beschriebenen Classifiers
Gabelung
Vereinigung
Hflache Historie
H*
tiefe Historie
Terminator
![Page 120: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/120.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 121
ZustandsautomatBeispiele Pseudozustände
Zustand3
Zustand2
Zustand1
H
Betriebsmodi Autoradio
ausge-schalten
einge-schalten
manuellumschalten
[CD-Kassettedrin]
manuellumgeschaltet
manuellumgeschaltet
[keine Kassettedrin]
[Kassetteausgeworfen]umschalten
Kassetteeingelegt
manuellumgeschaltet[Kassette drin]
getrunken
[ist ok = ja]trinken
[ist ok = nein]wegschütten
probiert TrinkbarkeitgeprüftPrüfung Trinkbarkeit
do / Trinkbarkeit prüfen
A
B C
do / x = 1
Trigger / x = -1*x
[>=0][<0]x
A
B C
do / x = 1
Trigger / x = -1*x
[x>=0][x<0]
![Page 121: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/121.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 122
ZustandsautomatExplicit und default entry
Default entry:Eine eingehende Transition endet am Rand des zusammengesetzten Zustands.
Explicit entry:Eine eingehende Transition endet an einem Unterzustand des zusammengesetzten Zustands
Adefault entry
B
explicit entry
A
A
explicit entry
B
explicit entry
A Bdefault entry
![Page 122: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/122.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 123
ZustandsautomatVerlassen von Zuständen
Das Verlassen von zusammengesetzten Zuständen und Zustandsautomaten kann auf verschiedene Arten erfolgen
B
A
ZC
Y
X
Trigger2 [Guard] /Aktivität
Trigger1 [Guard] /Aktivität
sm Authentifizierung
authentifiziert
Pin eingeben /Eingabe# = 0
[Pin =richtig]
[Pin = falsch] /Eingabe#++
Pinunterdrückt
[#<3]
[#>=3] gesperrt
Pincodegeprüft
Fehleingabe
do / Eingabe# prüfen
Pincodeabfrage
do / Pincode prüfen
Authentifizierung : sm Authentifizierung
gesperrt
Pinunterdrückt
[else] / ein-schalten
[Pin unterdrückt] /einschalten
![Page 123: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/123.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 124
ZustandsautomatVererbung
Spezialisierung von Zustandsautomaten durch- Erweiterung um Regionen, Zustände und Transitionen- Erweiterung von Regionen und Zuständen- Erweiterung von Transitionen
Transaktion nichtbestätigen
sm Geldautomat {extended}
Betrag einlesen {extended}
Betrag eingeben
Betrag wählen
Transaktionbestätigen {final}
anderer Betraggewählt
ok
Karte prüfen{final}
Betrag wählendefekt{final}
Transaktionbestätigen {final}
defekt
Karteangenommen
Betraggewählt
Karte ausgegeben{final}
sm Geldautomat
![Page 124: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/124.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 125
ZustandsautomatDie wichtigsten Änderungen
UML 1.x UML 2
- Ports können nun Protokollzustandsautomaten besitzen.
- Ein-, Austrittspunkte und Terminatorenwurden eingeführt.
Tiefe Historien können nur eingehende Transitionen von außerhalb des enthaltenden Zustands haben.
Tiefe Historien können auch Ziel einer Transition innerhalb des enthaltenen Zustands sein (also nicht nur von außen).
- Regeln zur Ergänzung und Ersetzung von Transitionen bei vererbten Zustandsautomaten wurde hinzugefügt.
Generalisierung von Zustandsautomaten wird durch eine Notiz kenntlich gemacht.
Das vererbte Verhalten wird mit einem Zustandsautomaten dargestellt.
![Page 125: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/125.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 126
ZustandsautomatVorsicht: Fehlerteufel
A B C
Nur ein Startzustandpro Region gestattet
Bei Startzuständen nur eineausgehende Transition erlaubt
Ausgehende Transitionin einem Endzustand
sm Fehlerbeispiel
Transition ohne Zielzustand
DTransition ohne Quellzustand
Vereinigung nichtorthogonaler Zustände
nicht möglich
![Page 126: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/126.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 127
Interaktionsmodellierungmit der UML 2
„Auch in der Kommunikation gilt das Gesetz des abnehmenden Grenznutzens: Immer mehr Aufwand bringt – ab einem gewissen Punkt – immer weniger Erfolg.“
Michael Tost
![Page 127: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/127.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 128
InteraktionenDefinition und Prinzip
Interaktionen sind ein wichtiges Basiskonzept der UML-VerhaltensdiagrammeInteraktion ist der Nachrichten- und Datenaustausch zwischen zwei KommunikationspartnernGrundelemente der Interaktion:
- Kommunikationspartner (repräsentiert durch Lebenslinien)- Nachrichten
Nachrichtenaustausch verbindet Sende- und Empfangsereignisse Nachricht
Sendeereignis Empfangsereignis
Sender Empfänger
![Page 128: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/128.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 129
InteraktionenWann modelliere ich Interaktionen im Projekt?
Modellierung von Interaktionen auf verschiedenen Abstraktionsebenen
vielfache Einsatzmöglichkeiten
Lokale oder verteilte Kommunikation
Beschreibung von Use-CasesDetailmodellierung im FeindesignSpezifikation von SchnittstellenTest und Simulation
![Page 129: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/129.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 130
InteraktionenWelche UML 2 Diagramme gibt es zur Interaktionsmodellierung?
Kommunikations-diagramm
Interaktionsüber-sichtsdiagramm
Timing-Diagramm
Sequenz-diagramm
Interaktions-diagramme
Verteilungs-diagramm
Objektdiagramm
Paketdiagramm
Komponenten-diagramm
Struktur-diagramme
ZustandsautomatUse-Case-Diagramm
Aktivitäts-diagramm
Verhaltens-diagramme
Diagramme derUML 2
Klassendiagramm
Kompositions-strukturdiagramm
![Page 130: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/130.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 131
InteraktionenSichten auf Interaktionen
Interaktionsdiagramme zeigen nur Sichten auf InteraktionenDiagrammwahl nach hervorzuhebenden Modellierungsaspekt
:Koch :Herd
Temp_einstellen
:Herd:Koch1: Temp_einstellen
Kommunikationsdiagramm
Sequenzdiagramm
:Koc
h:H
erd
Temp_einstellen
Timing-Diagramm
Lebenslinie
Nachricht
![Page 131: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/131.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 132
Sequenzdiagramm
„Erst die richtige Reihenfolge macht aus klugen Gedanken ein gutes Ergebnis.“
A. van Rheyn
![Page 132: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/132.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 133
Sequenzdiagramm
sd Interaktion
Nachricht2
Nachricht1(Argument)
Ok=Nachricht1
Kommunikationspartner
ZeitlicherVerlauf
K1 K2 K3
Lebenslinie
Aktions-sequenz
Nachricht
![Page 133: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/133.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 134
SequenzdiagrammKontextabgrenzung
sd Waschmaschine
befüllen
Waschmittel_zugeben
Weichspüler_zugeben
Programm_wählen
einschalten
fertig
Wäsche_entnehmen
auschalten
aus
Benutzer
:Waschmaschine
{30...90}
:Stromnetz :Wasserleitung :Kanal
Abwasser
EinheitMinuten Strom
Wasser
![Page 134: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/134.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 135
SequenzdiagrammBeschreibung von Use-Cases
Waschmaschine
Wäsche waschen
Wäsche trocknen
Hausmann
sd Wäsche waschen
öffnen
Wasser erhitzen(Temperatur=30°)
Hauptwaschgang
schliessen
schleudernpar
abpumpen
abpumpen
einschalten
fertig
:Benutzer :Steuerung :Wasserventil :Heizelement :Motor :Pumpe
«extend»
Benutzer
Steuerung
Wasserventil
Heizelement
Motor
Pumpe
Use-Case-Diagramm
Klassendiagramm
Sequenzdiagramm
![Page 135: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/135.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 136
SequenzdiagrammDie wichtigsten Elemente im Überblick
sd Bild aufhaengen
schlagen
treffen
loop
alt
treffen
aufhaengen
[Nagelhaelt]
KombiniertesFragment
Nachricht Aktionssequenz
[gerade]
refDaumen verbinden
Interaktions-verweis
Abbruch-bedingung
Zustandsbedingung
:Person :Hammer :Nagel :Daumen :Bild
getroffen =schlagen
Lebenslinie
![Page 136: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/136.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 137
SequenzdiagrammLebenslinien
Repräsentieren die Teilnehmer einer InteraktionRepräsentieren
- den Classifier selbst,- die Attribute des Classifiers,- Teile des Classifiers, z. B. Ports- die Operationen des Classifiers,- und Parameter von Operationen - (lokale) Variablen einer Operation.
Darstellung der AktionssequenzenStopp löscht die Lebenslinie
sd Internetsuche
Aktions-sequenz
:Internetbrowser :Suchmaschine
suche_starten(Keyword)
suche_starten
aktualisieren
lösche
Bestellung
![Page 137: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/137.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 138
SequenzdiagrammBeispiele für Lebenslinien
Person
+ berechneAlter(int Geburtsjahr,Datum):Alter
berechneAlter:AlterGeburtsjahr:int Datum
sd berechneAlter(int Geburtsjahr,Datum):AlterOperationsname
kennzeichnetRückgabewert
Setzen desRückgabewerts
Motor
Gaspedal p:Getriebe
beschleunigen
p:Getriebe self
sd
Motor
+ Beschleunigen()
Nachname:String
Vorname[0]:String
Vorname[1]:String
sd Anschrift setzen
Adresse
Person
Nachname:String
Vorname[0]:String
Vorname[1]:String Adresse
![Page 138: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/138.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 139
SequenzdiagrammZustandsinvariante-/Zustandsbedingung
„Lebenslinie“ muss Bedingung erfüllenWird zur Laufzeit überprüft
:Kunde :Pizzaservice
geöffnet
sd Pizzabestellung
bestellen
bestellen
Zustandsbedingung fürLebenslinie „Pizzaservice“
![Page 139: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/139.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 140
SequenzdiagrammNachrichten
Beschreiben den Informationsfluss zwischen den Kommunikationspartnern
Synchrone Nachrichten(Sender wartet auf Antwort)Asynchrone Nachrichten(Antwort wird nicht erwartet)Abgebildet durch Pfeil und PfeilspitzeLost und Found Nachrichten:
N1N3
N2
N4
Antwortnachricht
Synchrone Nachricht
Asynchrone Nachricht
A B C
Found NachrichtLost Nachricht
![Page 140: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/140.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 141
SequenzdiagrammKombinierte Fragmente
Teil einer InteraktionMit bestimmten Regeln für
- Auswahl - Reihenfolge- Häufigkeit
der Nachrichten
:A :B
alt
[x == 1]
[else]
m
n
trenntOperanden
kombiniertesInteraktionsfragment
Interaktionsbedingung
Interaktionsoperator
Interaktions-operand}
![Page 141: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/141.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 142
SequenzdiagrammKombinierte Fragmente
Alternativ (alt):- Existenz von mehr als
einer Ablaufmöglichkeit- Bedingungen geben den
Ablauf vor- Immer 2 Operanden
Modellierung von - If-else-Bedingungen- Switch/case -
Anweisungen
[Partygast.Hungergefühl>normal]
[else]
alt
sd Nahrung aufnehmen
pluendern
aufessen
:Partygast :Buffet :Snacks
[Partygast.Hungergefühl== normal]
weiterfeiern
![Page 142: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/142.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 143
SequenzdiagrammKombinierte Fragmente
sd Interaktion ignore {N3, N4}
A B C
N1
N2
N5
sd Interaktion consider {N3, N4}
A B C
N1
N3
N4
Ignore (ignore)- Blendet Nachrichten aus,
die für die Modellierung irrelevant sind
- Im realen System können diese jedoch vorkommen
Consider (consider)- Nur die genannten
Nachrichten sind relevant- Betont Intention des
Modellierers
![Page 143: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/143.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 144
SequenzdiagrammKombinierte Fragmente
sd Spiel ignore {ziehen}
opt[keine Figur im
Feld]
loop (1,3) [Augenzahl!=6]
opt [Augenzahl==6]
loop [Augenzahl==6]wuerfeln
wuerfeln
wuerfeln
wuerfeln
:Spieler :WürfelOption (opt):- Interaktion, die nur unter
bestimmten Bedingungen durchgeführt wird
- If(...) then { ... }
Loop (loop)- Abbildung von Schleifen- Zählschleife:
loop(min, max)- Abbruch/Ausführung durch
[Bedingungen] steuerbar
![Page 144: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/144.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 145
SequenzdiagrammKombinierte Fragmente
sd Party verlassen
verabschieden
assert
weggehen
:Partygast :Gastgeber
sd trinken
neg
austrinken
austrinken
:Glas:PartygastNegative (neg)
- Hebt ungültige Folgen von Einzelschritten hervor
- Zur Betonung gedacht- Modellierung von
negativen (Test-)fällen
Assertion (assert)- Legt eine bestimmte
Reihenfolge fest- Zur Betonung gedacht
![Page 145: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/145.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 146
SequenzdiagrammKombinierte Fragmente
sd Unfallaufnahme
Patient Aufnahme OP
par aufnehmenoperieren
aufnehmenverlegen
aufnehmen(Herzinfarkt) operieren
Station
criticalaufnehmen(Herzinfarkt)
:Patient :Aufnahme :OP :Station
Parallel (par)- Mehrere Abläufe
sollen gleichzeitig ablaufen
- „Threading“
Critical Region (critical)- Festlegen eines
ununterbrechbaren, statischen Ablaufs
![Page 146: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/146.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 147
SequenzdiagrammKombinierte Fragmente - Coregion
Alternativdarstellung zum parallel kombinierten FragmentAber nur wenn nur eine Lebenslinie betroffen istAblaufreihenfolge innerhalb der Coregion ist beliebig
sd Tankstopp
tanken(Benzin)
Scheiben putzen
Öl kontollieren
bezahlen
:Person :Auto :Kasse
![Page 147: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/147.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 148
SequenzdiagrammKombinierte Fragmente
Break (break)- Unterberechen
des normalen Ablaufs
Zur Modellierung von- Exceptions- Systemfehlern- Kritischen
asynchronen Ereignissen
Fahrer
sd Drogenfahndung
Polizist Auto
anhalten
durchsuchen
Ergebnis
break [Ergebnis == Drogen gefunden]verhaften
weiterfahren
:Fahrer :Polizist :Auto
![Page 148: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/148.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 149
SequenzdiagrammNotationselemente - Interaktionsverweis
sd
X Y Zref C
Aref
Bref
sd A
X Y Zsd B
Y Z
Cref
Referenziert (ref) auf eine beliebige InteraktionWiederverwendung in mehreren Diagram-men möglich„Zooming“ – GedankeAuch für Lebenslinien möglich
![Page 149: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/149.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 150
SequenzdiagrammModellierung von Zeitangaben
X Y
a
c
b
t=now
t=now
t..t+5
{12.00..12.05}
Zeiteinheit für t ist ms
Einheit Uhr
X Y
Zeitpunkte beschreiben, wann ein Ereignis eintritt
Zeitdauer beschreibt,Die Dauer von Nachrichten oder Aktionssequenzen
X Y
a {2..10}
b
b {5..5}
Hilfslinien
c ÜZeit=duration
d {0..0,5*ÜZeit}
Zeitdauer-bedingung
Zeitdauer-beobachtungsaktion
X Y
ZeiteinheitSekunden
![Page 150: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/150.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 151
SequenzdiagrammDie wichtigsten Änderungen
UML 1.x UML 2
Zerlegung von Lebenslinie nicht möglich, Referenzen von anderen Interaktionen nicht möglich
Innerhalb von Sequenzdiagrammen kann auf andere Interaktionen verwiesen werden (Zerlegung von Abläufen oder Lebenslinien)
Kontrollflussmöglichkeiten äußerst bescheiden: Schleifen und Nachrichtenbedingungen möglich
Alle Kontrollflussmöglichkeiten (if, switch, ...) höherer Programmiersprachen durch kombinierte Fragmente, sehr gute Unterstützung von nebenläufiger Modellierung
Nachrichtenarten:asynchron, synchron, unspezifiziert
unspezifiziert entfällt, lost und found Nachrichten eingeführt
Zustandsinvarianten können an Lebenslinien angetragen werden
![Page 151: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/151.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 152
Kommunikationsdiagramm
„Auch das Chaos gruppiert sich um einen festen Punkt, sonst wäre es nicht einmal als Chaos da.“
Arthur Schnitzler
![Page 152: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/152.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 153
KommunikationsdiagrammDie Elemente im Überblick
Notationselemente:- Interaktion- Lebenslinien- Nachrichten- Sequenzbezeichner
cd Gassi gehen
Hundehalter Hund
Passant Häufchen
1:Gassi gehen
1.1:machen
2:reintreten
3:entfernen
2.1:schimpfen
Name der Interaktion
Sequenzbezeichner
Nachrichtenname
Richtung derNachricht
Lebenslinie
![Page 153: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/153.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 154
KommunikationsdiagrammAnwendung im Projekt
Gehört zu den InteraktionsdiagrammenZeigt das Zusammenspiel von strukturiertenKommunikationspartnern. Kontrollflüsse und zeitliche Aspekte sind weniger wichtigGut geeignet für die Modellierung von Prinzipien und Konzepten
Wenig Änderungen zur UML 1.x Version, dem Kollaborationsdiagramm
![Page 154: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/154.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 155
KommunikationsdiagrammNachricht - Sequenzbezeichner
Definiert für Nachrichten- Reihenfolge- Ebene
der Abarbeitung
Reihenfolge wird durch Zahlen spezifiziert
Ausführungsbedingung in eckigen Klammern
cd Restaurantbesuch
Gast
Getraenk Essen
Rechnung
1a:bestellen
2a: [Glas voll]trinken
1b:bestellen
2b*[Teller voll]:essen
1:hinzufuegen 1:hinzufuegen
4:bezahlen(Betrag)
3:berechnen(Betrag)
![Page 155: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/155.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 156
KommunikationsdiagrammNebenläufigkeit und Schleifen
Nebenläufigkeit durch Buchstaben im Sequenzbezeichner
Definition von Schleifen mit einem Stern „*“
Kennzeichnung von nebenläufigen Schleifen-durchläufen mit Doppelstrich „||“
cd Reparaturauftrag
Besitzer Auftragsannahme Mechaniker
Lager
Ersatzteil
Mietwagen
1a:beauftragen 1a.1:Auftrag
1a.1.1b*||[alle Ersatzteile vorhanden]:Ersatzteil beschaffen
1a.1.1c:[Ersatzteil nicht vorhanden]:bestellen
1a.1.1.1:erledigt1b:ausleihen
Auto
1a.1.1a:reparieren
2:fahren
![Page 156: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/156.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 157
KommunikationsdiagrammDie wichtigsten Änderungen
UML 1.x UML 2Kollaborationsdiagramm Kommunikationsdiagramm
Vollständig äquivalent zum Sequenzdiagramm
Subset des Sequenzdiagramms, z. B. - keine Interaktionsverweise („ref“)- keine kombinierten Fragmente- Ereignisreihenfolge wird ignoriert
![Page 157: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/157.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 158
Timing-Diagramm
„Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.“
Galileo Galilei
![Page 158: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/158.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 159
Timing-DiagrammDie Elemente im Überblick
td Fußgängerampel
rot
betriebsbereit
:Am
pel
Lebenslinien
d
Zeit-Bedingung
Zustandslinie
:Fuß
gäng
ergrün
wartend
aktiv
{d...6*d}
ZustandZeitskala
Name desDiagramms
aktivieren
gehen nichtgehen
Nachricht
Sek.0 10 3020
![Page 159: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/159.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 160
Timing-DiagrammAnwendung im Projekt
Gehört zu den InteraktionsdiagrammenDarstellung des zeitlichen Veränderung eines Classifiers (Klasse, Objekt, Komponente, ...)Für die Modellierung zeitkritischer Zustands- und Wertänderungen sinnvoll
Neu in der UML 2!Bereits seit Jahren in Elektrotechnik genutzt (z. B. für elektronische Schaltvorgänge)
![Page 160: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/160.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 161
Timing-DiagrammElemente – Lebenslinie - Zustandslinie
Nur eine Lebenslinie oder kommunizierende Lebenslinien möglich
Meist nur Sicht auf wenige Zustände der auf Lebenslinie
Zustandslinien beschreiben den Wechsel der Zustände im Ablauf der Zeit
Zustand
td Fahrstuhltür
offen
:Fah
rstu
hltü
r:L
icht
schr
anke
nsys
tem
unterbrochen
nichtunterbrochen
beimschliessen
beim öffnen
0 2 sek
Zeitliche Verzögerung desZustandsüberganges
Zustandslinie
![Page 161: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/161.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 162
Timing-DiagrammElemente - Nachrichten
Nachrichten werden zwischen den Zustandslinien ausgetauschtBewirken häufig einen Zustandswechsel
td Autoradio
aktiv
inaktiv:Ver
kehr
sfun
k:M
usik
send
er leise
laut
EndeAnfangNachricht
![Page 162: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/162.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 163
Timing-DiagrammGeneral-Value-Lifeline
Alternative Darstellungsform
td Waschstraße
:Waschstraße
:Kunde
betriebsbereit Vorreinigung Hauptwäsche Trocknen betriebsbereit
aktivwartenaktiv
{5a} {2a..6,5a} {4a}
a
![Page 163: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/163.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 164
Timing-DiagrammVorsicht: Fehler die vermieden werden sollten
fehlendeLebenslinienbeschriftung
td Schweinebraten zubereiten
zubereitet
roh
:Sch
wei
nebr
aten
aktiv
warten
Empfangsereignis vorSendeereignis
Lücke in derZustandszeitlinie
fehlendeZustandsbeschriftung
![Page 164: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/164.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 165
Interaktionsübersichtsdiagramm
„Wer auf morgen wartet, wird übermorgen erkennen, dass er heute versäumt hat das Notwendigste zu tun.“
Walter Scheffel
![Page 165: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/165.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 166
Interaktionsübersichtsdiagrammiod Betriebsfeier
sd
:Chef :Angestellter
organisiereFeier
[Keine Hemmschwelle]
sd
:Chef :Personalchef
mitarbeiterfeuern
sd
:Chef :Mitarbeiter
bedanken
Verpflegung_organisieren
ref
Mitarbeiter_verständigen
ref
Mitarbeiter.Hemmschwelle=Feier:Alkoholkonsum
ref
![Page 166: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/166.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 167
InteraktionsübersichtAnwendung im Projekt
Darstellung der Ablaufreihenfolge mehrerer InteraktionenBesonders geeignet für:
- Brückenschlag zwischen Aktivitäts- und Interaktionsdiagrammen
- Logischen Zusammenhang zwischen mehreren Interaktionsdiagrammen schaffen
Ablauf wird durch Kontrollelemente aus dem Aktivitätsdiagramm dargestellt
Neu in der UML 2!
![Page 167: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/167.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 168
Fazit ---dynamische Diagramme in UML 2
Viel neu - viel geklautAktivitätsdiagramme und Sequenzdiagramme faktisch neuVerbesserte Unterstützung der CodeabbildungBessere Modellierung von Nebenläufigkeiten und Zeitverhalten möglich dennoch keine „Echtzeitsprache“Deutlich bessere Schnittstelle zu StrukturdiagrammenNotationsvielfalt erfordert TailoringInteraktionsübersichtsdiagramm, Timingdiagramm erfordern Nachbesserungen
![Page 168: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/168.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 169
Damit Sie klar sehen!
Infos:•www.uml-glasklar.de•www.jeckle.de•www.sophist.de
![Page 169: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/169.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 170
Modelle der Realität erstellen
Infos unter www.SOPHIST.de Wir erkennen die Struktur Ihrer Projektanforderungen!
![Page 170: UML 2 Tutorial - mario-jeckle.de · DV-Anforderungen DV-Architektur ... Struktur und Einbettung von UML 2 ... Zustandsautomat Welche Zustände kann ein Objekt,](https://reader030.vdocuments.site/reader030/viewer/2022020304/5ba0db2d09d3f242318d9840/html5/thumbnails/170.jpg)
UML 2 Tutorial Net.ObjectDays 2003 Seite 171