Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
13
1 Einführung
17
1.1 Weshalb muss Software modelliert werden?
17
1.2 Die Phasen bei der Softwareentwicklung
18
1.2.1 Analyse
18
1.2.2 Entwurf
19
1.2.3 Implementierung und Dokumentation
19
1.2.4 Test
20
1.2.5 Einsatz
20
1.2.6 Wartung und Pflege
20
1.3 Was ist die UML?
20
1.4 Die Geschichte der UML
21
1.5 Von der UML 1.x zur UML 2.5
23
1.6 Diagramme der UML 2.5
25
1.7 Realisierung in Java und C#
32
TEIL I Strukturdiagramme
35
2 Klassendiagramm
37
2.1 Anwendungsbereiche
37
2.2 Übersicht
38
2.3 Notationselemente
39
2.3.1 Klasse
39
2.3.2 Attribut
41
2.3.3 Operation
47
2.3.4 Binäre Assoziation
56
2.3.5 Reflexive Assoziation
64
2.3.6 N-äre Assoziation
65
2.3.7 Qualifizierte Assoziation
69
2.3.8 Assoziationsklasse
71
2.3.9 Aggregation
74
2.3.10 Komposition
77
2.3.11 Abhängigkeit
80
2.3.12 Generalisierung/Spezialisierung
83
2.3.13 Stereotyp
93
2.3.14 Abstrakte Klasse
96
2.3.15 Template
99
2.3.16 Schnittstelle
105
2.3.17 Anmerkung
110
2.4 Lesen eines Klassendiagramms
111
2.5 Irrungen und Wirrungen
113
2.6 Zusammenfassung
115
3 Objektdiagramm
119
3.1 Anwendungsbereiche
119
3.2 Übersicht
119
3.3 Notationselemente
120
3.3.1 Objekt
120
3.3.2 Link
125
3.4 Lesen eines Objektdiagramms
127
3.5 Irrungen und Wirrungen
129
3.6 Zusammenfassung
131
4 Kompositionsstrukturdiagramm
133
4.1 Anwendungsbereiche
133
4.2 Übersicht
133
4.3 Notationselemente
134
4.3.1 Part
134
4.3.2 Port und Konnektor
137
4.3.3 Kollaboration
144
4.3.4 Kollaborationsanwendung
147
4.4 Lesen eines Kompositionsstrukturdiagramms
149
4.5 Irrungen und Wirrungen
150
4.6 Zusammenfassung
152
5 Komponentendiagramm
155
5.1 Anwendungsbereiche
155
5.2 Überblick
155
5.3 Notationselemente
157
5.3.1 Komponente
157
5.3.2 Konnektor
161
5.3.3 Artefakt
163
5.4 Lesen eines Komponentendiagramms
165
5.5 Irrungen und Wirrungen
167
5.6 Zusammenfassung
168
6 Verteilungsdiagramm
171
6.1 Anwendungsbereiche
171
6.2 Übersicht
171
6.3 Notationselemente
172
6.3.1 Knoten
172
6.3.2 Kommunikationspfad
177
6.4 Lesen eines Verteilungsdiagramms
178
6.5 Irrungen und Wirrungen
179
6.6 Zusammenfassung
181
7 Paketdiagramm
183
7.1 Anwendungsbereiche
183
7.2 Übersicht
183
7.3 Notationselemente
184
7.3.1 Paket
184
7.3.2 Paket-Import
190
7.3.3 Paket-Merge
195
7.4 Lesen eines Paketdiagramms
202
7.5 Irrungen und Wirrungen
203
7.6 Zusammenfassung
204
TEIL II Verhaltensdiagramme
207
8 Anwendungsfalldiagramm
209
8.1 Anwendungsbereiche
209
8.2 Übersicht
210
8.3 Notationselemente
210
8.3.1 Systemgrenze
210
8.3.2 Akteur
211
8.3.3 Anwendungsfall
213
8.3.4 Assoziation
214
8.3.5 Generalisierung/Spezialisierung
215
8.3.6 Include-Beziehung
217
8.3.7 Extend-Beziehung
218
8.4 Lesen eines Anwendungsfalldiagramms
219
8.5 Irrungen und Wirrungen
221
8.6 Zusammenfassung
222
9 Aktivitätsdiagramm
225
9.1 Anwendungsbereiche
225
9.2 Übersicht
226
9.3 Notationselemente
228
9.3.1 Aktion
229
9.3.2 Kontrollfluss
230
9.3.3 Aktivitätsbereich
231
9.3.4 Objektknoten und Objektfluss
234
9.3.5 Signal-Sendung und Signal-Empfang
247
9.3.6 Aktivität
256
9.3.7 Start- und Endknoten
261
9.3.8 Entscheidungs- und Verbindungsknoten
264
9.3.9 Gabelung und Vereinigung
270
9.3.10 Schleifenknoten
278
9.3.11 Bedingungsknoten
283
9.3.12 Unterbrechungsbereich
289
9.3.13 Expansionsbereich
293
9.4 Lesen eines Aktivitätsdiagramms
295
9.5 Irrungen und Wirrungen
297
9.6 Zusammenfassung
300
10 Zustandsdiagramm
305
10.1 Anwendungsbereiche
305
10.2 Übersicht
306
10.3 Notationselemente
307
10.3.1 Zustand
307
10.3.2 Event und Transition
308
10.3.3 Startzustand, Endzustand und Terminator
315
10.3.4 Entscheidung und Kreuzung
316
10.3.5 Zusammengesetzter Zustand
318
10.3.6 Region
322
10.3.7 Rahmen eines Zustandsautomaten
324
10.3.8 Generalisierung/Spezialisierung
326
10.3.9 Zustandsdiagramm in Java
328
10.3.10 Zustandsdiagramm in C#
335
10.3.11 Protokoll-Zustandsautomat
341
10.4 Lesen eines Zustandsdiagramms
343
10.5 Irrungen und Wirrungen
344
10.6 Zusammenfassung
346
TEIL III Interaktionsdiagramme
349
11 Sequenzdiagramm
351
11.1 Anwendungsbereiche
351
11.2 Übersicht
352
11.3 Notationselemente
353
11.3.1 Lebenslinie
353
11.3.2 Nachricht
356
11.3.3 Interaktionsrahmen
362
11.3.4 Kombinierte Fragmente
367
11.4 Lesen eines Sequenzdiagramms
383
11.5 Irrungen und Wirrungen
385
11.6 Zusammenfassung
387
12 Kommunikationsdiagramm
391
12.1 Anwendungsbereiche
391
12.2 Übersicht
391
12.3 Notationselemente
392
12.3.1 Interaktionsrahmen
392
12.3.2 Lebenslinie
393
12.3.3 Nachricht
393
12.4 Lesen eines Kommunikationsdiagramms
397
12.5 Irrungen und Wirrungen
397
12.6 Zusammenfassung
399
13 Timing-Diagramm
401
13.1 Anwendungsbereiche
401
13.2 Übersicht
401
13.3 Notationselemente
402
13.3.1 Interaktionsrahmen
402
13.3.2 Lebenslinie
403
13.3.3 Zustandsverlaufslinie
404
13.3.4 Wertverlaufslinie
406
13.3.5 Nachricht
407
13.4 Lesen eines Timing-Diagramms
410
13.5 Irrungen und Wirrungen
411
13.6 Zusammenfassung
412
14 Interaktionsübersichtsdiagramm
415
14.1 Anwendungsbereiche
415
14.2 Übersicht
415
14.3 Notationselemente
417
14.3.1 Interaktionsrahmen
417
14.3.2 Interaktion und Interaktionsreferenz
417
14.3.3 Kontrollfluss
418
14.3.4 Kontrollknoten
419
14.4 Lesen eines Interaktionsübersichtsdiagramms
420
14.5 Irrungen und Wirrungen
421
14.6 Zusammenfassung
422
TEIL IV Metamodellierung
425
15 Profildiagramm
427
15.1 Anwendungsbereiche
427
15.2 Übersicht
428
15.3 Notationselemente
429
15.3.1 Metamodell, Profil und Metamodell-Referenz
429
15.3.2 Metaklasse
431
15.3.3 Stereotyp und Erweiterung
432
15.3.4 Profilanwendung
435
15.4 Lesen eines Profildiagramms
437
15.5 Irrungen und Wirrungen
439
15.6 Zusammenfassung
440
Index
443