Chris Rupp, Stefan Queins, die SOPHISTen
UML 2 glasklar
Praxiswissen für die UML-Modellierung
Inhalt
6
Vorwort
14
Einleitung
16
Liebe Leserin, lieber Leser,
16
Wer dieses Buch aus welchem Grund lesen sollte
18
Ihre Meinung ist uns sehr wichtig
19
Danksagungen
19
Die Autoren
20
Teil I: Einführung
22
1 UML?2 – Rückblick, Nabelschau und Ausblick
24
1.1? Was ist die UML ...
25
1.2? ... und was will sie nicht sein?
25
1.3? Entwicklungsgeschichtliches zur UML
26
1.4? Diagrammsprachen der UML?2
28
2 Vorgehensempfehlungen
30
2.1? Wissen explizieren
31
2.2? Vorgehenstipps aus der UML-Praxis
31
3 Grundkonzepte und -elemente der UML
34
3.1? Grundkonzepte der UML
35
3.1.1? Repräsentation von UML-Elementen
35
3.1.2? Diagramm, Diagrammtyp & Sicht
36
3.2? Grundelemente der UML
42
3.2.1? Modell
42
3.2.2? Kommentar
43
3.2.3? Ausdruck
44
3.2.4? Randbedingung
45
3.2.5? Classifier
46
3.2.6? Datentyp
47
3.2.7? Primitiver Typ
49
3.2.8? Aufzählungstyp
50
3.2.9? Literal
51
3.2.10? UML-Schlüsselwörter
52
3.3? Strukturierung der Sprache UML?2
53
3.3.1? Einteilung in Language Units
53
3.3.2? Einteilung in Compliance Levels
53
3.4? Freiheitsgrade in der UML
55
3.4.1? Semantic Variation Points
55
3.4.2? Presentation Options
55
3.5? Die 4-Schichten-Architektur
56
3.5.1? M 0 – Die Laufzeitschicht
56
3.5.2? M 1 – Die Modellschicht
56
3.5.3? M 2 – Die Metamodellschicht
58
3.5.4? M 3 – Die Meta-Metamodellschicht
58
4 Analyse mit der UML
60
4.1? Einführung
61
4.1.1? Notwendige Festlegungen
61
4.1.2? Das Beispiel Zugtürsystem
63
4.2? Aufgaben der Analyse
65
4.3? Definieren der Systemgrenzen
66
4.4? Beschreiben der Funktionalitäten
68
4.4.1? Use-Cases identifizieren
68
4.4.2? Use-Cases verfeinern
69
4.5? Zustandsautomaten in der Analyse
75
4.6? Das Begriffsmodell
76
4.7? Verbindung zu natürlich-sprachlichen Anforderungen
77
4.8? Ausgewählte Modellierungsszenarien
79
4.8.1? Aufgaben von Systemschnittstellen
81
4.8.2? Modellierung der Use-Case-Auslöser
84
4.8.3? Modellierung von Interaktionen in Dialogen
86
4.8.4? Modellierung einer SOA
89
4.8.5? Weitere Tipps zur Modellierung von Anforderungen
93
5 Die UML in der Realisierung
98
5.1? Systemarchitektur
99
5.1.1? Aufgaben
99
5.1.2? Zerlegen des Systems
100
5.1.3? Verteilen der Verantwortlichkeiten
102
5.1.4? Beschreiben der Schnittstellen
103
5.1.5? Weitere Aspekte der Systemarchitektur
106
5.2? Softwareanalyse
110
5.2.1? Aufgaben
110
5.2.2? Beschreibung der Funktionalitäten
112
5.2.3? Detaillierte Modellierung des Verhaltens
113
5.2.4? Weitere Aspekte im Vergleich zur Systemanalyse
113
5.3? Softwarearchitektur
114
5.3.1? Aufgaben
114
5.3.2? Die Dekompositionssicht
114
5.3.3? Die Kompositionssicht
118
5.3.4? Weitere Aspekte der Softwarearchitektur
119
5.4? Feindesign
120
5.4.1? Aufgaben
120
5.4.2? Feindesign für eine objektorientierte Implementierung
120
5.4.3? Feindesign für eine nicht objektorientierte Implementierung
123
Teil II: Strukturdiagramme
126
6 Klassendiagramm
128
6.1? Überblick
129
6.1.1? Modellieren von Klassen
129
6.1.2? Grundgedanke der Klassenmodellierung
130
6.1.3? Klassen und Objekte
131
6.1.4? Klassen und Attribute
131
6.1.5? Woher kommen Klassen?
132
6.2? Anwendungsbeispiel
133
6.3? Anwendung im Projekt
134
6.3.1? Konzeptuell-analytische Modellierung
134
6.3.2? Logische, designorientierte Modellierung
135
6.4? Notationselemente
136
6.4.1? Klasse
136
6.4.2? Attribut
139
6.4.3? Operation
144
6.4.4? Schnittstelle
150
6.4.5? Parametrisierte Klasse
153
6.4.6? Generalisierung
156
6.4.7? Generalisierungsmenge
161
6.4.8? Assoziation
163
6.4.9? Assoziationsklasse
178
6.4.10? Abhängigkeitsbeziehung
180
6.4.11? Verwendungsbeziehung
182
6.4.12? Abstraktionsbeziehung
183
6.4.13? Realisierungsbeziehung
185
6.4.14? Substitutionsbeziehung
186
6.4.15? Informationsfluss
187
6.4.16? Informationseinheit
188
7 Paketdiagramm
192
7.1? Überblick
193
7.2? Anwendungsbeispiel
193
7.3? Anwendung im Projekt
194
7.3.1? Funktionale Gliederung
194
7.3.2? Definition von Schichten
195
7.4? Notationselemente
196
7.4.1? Paket
196
7.4.2? Paket-Import / Element-Import
197
7.4.3? Paket-Merge
200
8 Objektdiagramm
204
8.1? Überblick
205
8.1.1? Die Inhalte eines Objektdiagramms
205
8.1.2? Die Modellierung von Objektdiagrammen
206
8.1.3? Vergleich: Klassen- und Objektdiagramm
207
8.2? Anwendungsbeispiel
208
8.3? Anwendung im Projekt
208
8.4? Notationselemente
209
8.4.1? Instanzbeschreibung / Objekt
209
8.4.2? Werteangaben / Slots
211
8.4.3? Link
212
9 Kompositionsstrukturdiagramm
214
9.1? Überblick
215
9.1.1? Motivation und Hinführung
217
9.1.2? Modellieren von Kollaborationen
222
9.1.3? Kapselung durch Ports
223
9.2? Anwendungsbeispiel
224
9.3? Anwendung im Projekt
224
9.3.1? Darstellung einer Architektur
224
9.3.2? Struktur einer Use-Case-Realisierung
225
9.3.3? Kennzeichnung und Visualisierung von Design-Pattern
226
9.4? Notationselemente
229
9.4.1? Part
229
9.4.2? Konnektor
230
9.4.3? Port
232
9.4.4? Kollaboration
233
9.4.5? Kollaborationsanwendung
235
10 Komponentendiagramm
236
10.1? Überblick
237
10.2? Anwendungsbeispiel
238
10.3? Anwendung im Projekt
239
10.4? Notationselemente
241
10.4.1? Komponente
241
10.4.2? Artefakt
244
11 Verteilungsdiagramm
248
11.1? Überblick
249
11.2? Anwendungsbeispiel
250
11.3? Anwendung im Projekt
250
11.3.1? Abgrenzung des Systemkontexts
251
11.3.2? Dokumentation von Hardwarevorgaben
252
11.4? Notationselemente
252
11.4.1? Knoten
252
11.4.2? Kommunikationspfad
254
11.4.3? Verteilungsbeziehung
255
11.4.4? Einsatzspezifikation
257
Teil III: Verhaltensmodellierung
260
12 Use-Case-Diagramm
262
12.1? Überblick
263
12.1.1? Die Use-Case-Analyse
263
12.1.2? Ursprung von Use-Cases
264
12.2? Anwendungsbeispiel
265
12.3? Anwendung im Projekt
266
12.3.1? Typische Anwendungsbereiche
266
12.3.2? Use-Cases und danach?
266
12.4? Notationselemente
267
12.4.1? Use-Case
267
12.4.2? System (Betrachtungsgegenstand)
270
12.4.3? Akteur
272
12.4.4? «include»-Beziehung
277
12.4.5? «extend»-Beziehung
279
13 Aktivitätsdiagramm
284
13.1? Überblick
285
13.1.1? Modellieren von Aktivitäten
285
13.1.2? Das Token-Konzept
286
13.1.3? Ursprung der Aktivitätsmodellierung
290
13.2? Anwendungsbeispiel
290
13.3? Anwendung im Projekt
292
13.3.1? Geschäftsprozessmodellierung
292
13.3.2? Beschreibung von Use-Cases
293
13.3.3? Implementierung einer Operation
294
13.4? Notationselemente
295
13.4.1? Aktion
295
13.4.2? Aktivität
299
13.4.3? Objektknoten
301
13.4.4? Kanten
308
13.4.5? Kontrollelemente
312
13.4.6? Startknoten
313
13.4.7? Endknoten
314
13.4.8? Verzweigungs- und Verbindungsknoten
316
13.4.9? Synchronisations- und Parallelisierungsknoten
320
13.4.10? Parametersatz
323
13.4.11? Unterbrechungsbereich
325
13.4.12? Exception-Handler
327
13.4.13? Aktivitätsbereich
329
13.4.14? Strukturierte Knoten
332
13.4.15? Mengenverarbeitungsbereich
333
13.4.16? Schleifenknoten
338
13.4.17? Entscheidungsknoten
343
14 Zustandsautomat
350
14.1? Überblick
351
14.2? Anwendungsbeispiel
353
14.3? Anwendung im Projekt
354
14.3.1? Use-Cases und Zustandsautomaten
354
14.3.2? Klassen und Zustandsautomaten
355
14.3.3? Protokollzustandsautomaten
356
14.4? Notationselemente
358
14.4.1? Einfacher Zustand
358
14.4.2? Transition
361
14.4.3? Startzustand
367
14.4.4? Endzustand
369
14.4.5? Pseudozustände
370
14.4.6? Kreuzung
372
14.4.7? Entscheidung
374
14.4.8? Terminator
377
14.4.9? Zusammengesetzter Zustand
378
14.4.10? Gabelung und Vereinigung
384
14.4.11? Region
386
14.4.12? Ein- und Austrittspunkt
390
14.4.13? Unterzustandsautomatenzustände
392
14.4.14? Historie
395
14.4.15? Spezialisierung
399
14.4.16? Protokollzustandsautomat
402
14.5? Codeabbildung
405
14.5.1? Einleitung
405
14.5.2? Überblick
405
14.5.3? Einfache Zustandsautomaten
408
14.5.4? Erweiterungen der Zustandsautomaten
415
14.5.5? Zusammengesetzte Zustände
419
15 Sequenzdiagramm
422
15.1? Überblick
423
15.1.1? Modellierung von Interaktionen
424
15.1.2? Interaktionen im Sequenzdiagramm
429
15.1.3? Ursprung der Sequenzdiagramme
432
15.2? Anwendungsbeispiel
434
15.3? Anwendung im Projekt
435
15.3.1? Abgrenzung des Systemkontexts
436
15.3.2? Realisierung von Use-Cases
437
15.3.3? Spezifikation von Schnittstellen
438
15.3.4? Detailmodellierung im Feindesign
438
15.3.5? Test und Simulation
439
15.4? Notationselemente
440
15.4.1? Interaktion / Interaktionsrahmen
440
15.4.2? Lebenslinie
443
15.4.3? Nachricht
449
15.4.4? Zustandsinvariante
460
15.4.5? Kombiniertes Fragment
463
15.4.6? Ordnungsbeziehung
482
15.4.7? Interaktionsreferenz
483
15.4.8? Verknüpfungspunkt
486
15.4.9? Zerlegung von Lebenslinien
489
16 Kommunikationsdiagramm
494
16.1? Überblick
495
16.1.1? Interaktionen in Kommunikationsdiagrammen
495
16.1.2? Auswahlkriterien für das Kommunikationsdiagramm
496
16.2? Anwendungsbeispiel
496
16.3? Anwendung im Projekt
497
16.3.1? (Geschäftsprozess-)Analyse
497
16.3.2? Zusammenwirken von Classifiern
498
16.4? Notationselemente
498
16.4.1? Interaktion / Interaktionsrahmen
499
16.4.2? Lebenslinie
499
16.4.3? Nachricht
501
17 Timing-Diagramm
506
17.1? Überblick
507
17.1.1? Interaktionen in Timing-Diagrammen
507
17.1.2? Auswahlkriterien für das Timing-Diagramm
508
17.2? Anwendungsbeispiel
509
17.3? Anwendung im Projekt
510
17.4? Notationselemente
510
17.4.1? Interaktion / Interaktionsrahmen
511
17.4.2? Lebenslinie
512
17.4.3? Zeitverlaufslinie
514
17.4.4? Nachricht
517
17.4.5? Sprungmarke
517
17.4.6? Wertverlaufslinie
518
17.4.7? Ordnungsbeziehung
519
18 Interaktionsübersichtsdiagramm
522
18.1? Überblick
523
18.2? Anwendungsbeispiel
525
18.3? Anwendung im Projekt
526
18.4? Notationselemente
526
18.4.1? Interaktion/Interaktionsreferenz
526
18.4.2? Kontrollelemente
528
Teil IV: Weiterführendes
532
19 Tailoring – UML?2 Profile
534
19.1? Motivation
535
19.2? Einführung in Profile
537
19.3? Anwendungsbeispiel
538
19.4? Notationselemente
539
19.4.1? Stereotyp
539
19.4.2? Erweiterungsbeziehung
543
19.4.3? Profil
545
19.4.4? Profilanwendung
546
19.5? Varianten und Beispiele
550
19.6? Profile: Für & Wider
550
19.7? Erstellen von Profilen
551
19.8? Tools
551
20 SysML
554
20.1? Was ist SysML?
555
20.1.1? Die SysML in diesem Buch
555
20.2? SysML – UML
556
20.3? Diagramme der SysML
556
20.3.1? Rahmen für Diagramme
557
20.4? Strukturmodellierung
557
20.4.1? Block
558
20.4.2? Blockdefinitionsdiagramm
558
20.4.3? Internes Blockdiagramm
559
20.5? Verhaltensmodellierung
562
20.5.1? Aktivitätsdiagramm der SysML
562
20.6? Anforderungen und Traceability mit der SysML
564
20.6.1? Anforderungsdiagramm
564
20.6.2? Nachvollziehbarkeit
566
Literaturverzeichnis
568
Register
572
Die wichtigsten Notationselemente der UML
582
© 2009-2024 ciando GmbH