3827265916 Jetzt lerne ich UML

jetzt lerne ich
Inhaltsverzeichnis
Einführung
19
Teil I: Erste Schritte
21
1
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.7
1.3.8
1.3.9
1.4
1.4.1
1.4.2
1.4.3
1.5
1.6
1.7
23
24
25
26
27
28
28
29
29
31
31
31
32
32
33
33
33
34
35
35
Einführung in die UML
Wahnsinn mit Methode
Entstehung der UML
Komponenten der UML
Klassendiagramm
Objektdiagramm
Anwendungsfalldiagramm
Zustandsdiagramm
Sequenzdiagramm
Aktivitätsdiagramm
Kollaborationsdiagramm
Komponentendiagramm
Einsatzdiagramm
Weitere Features
Pakete
Notizen
Stereotypen
Wozu die ganzen Diagramme?
Zusammenfassung
Nachgefragt
7
Inhaltsverzeichnis
jetzt lerne ich
8
1.8
1.8.1
1.8.2
Workshop
Fragen
Übungen
36
36
36
2
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.3
2.4
2.5
2.6
2.6.1
2.6.2
Objektorientierung verstehen
Objekte überall
Konzepte
Abstraktion
Vererbung
Polymorphismus
Kapselung
Nachrichten versenden
Assoziationen
Aggregation
Der Clou
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
37
38
40
40
41
42
43
44
46
47
49
50
50
51
51
51
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.10.1
3.10.2
Objektorientiert arbeiten
Visualisieren einer Klasse
Attribute
Operationen
Attribute, Operationen und Visualisierung
Verantwortlichkeiten und Einschränkungen
Beigefügte Notizen
Klassen – Was sie tun und wie man sie findet
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
53
53
54
56
57
59
60
61
63
64
64
64
65
4
4.1
4.1.1
4.1.2
4.1.3
4.2
4.3
Beziehungen spielen lassen
Assoziationen
Einschränkungen für Assoziationen
Assoziationsklassen
Verknüpfungen
Multiplizität
Qualifizierte Assoziationen
67
68
69
70
70
71
72
Inhaltsverzeichnis
jetzt lerne ich
4.4
4.5
4.5.1
4.5.2
4.6
4.7
4.8
4.9
4.9.1
4.9.2
Reflexive Assoziationen
Vererbung und Generalisierung
Vererbung entdecken
Abstrakte Klassen
Abhängigkeiten
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
73
73
75
76
77
77
78
78
78
78
5
5.1
5.1.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.9.1
5.9.2
Aggregationen, Komposita, Schnittstellen und
Realisierungen verstehen
Aggregationen
Einschränkungen für Aggregationen
Komposita
Kontexte
Schnittstellen und Realisierungen
Sichtbarkeit
Gültigkeitsbereich
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
81
82
83
83
83
85
87
88
88
89
90
90
90
6
6.1
6.2
6.3
6.3.1
6.3.2
6.4
6.5
6.6
6.7
6.8
6.9
6.9.1
6.9.2
Einführung in Anwendungsfälle
Anwendungsfälle: Was sie sind
Anwendungsfälle: Warum sie wichtig sind
Beispiel: Getränkeautomat
Der Anwendungsfall »Getränk ziehen«
Weitere Anwendungsfälle
Enthält-Beziehung des Anwendungsfalls
Einen Anwendungsfall erweitern
Start einer Anwendungsfallanalyse
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
91
92
93
93
94
95
96
97
97
98
99
99
99
100
9
Inhaltsverzeichnis
jetzt lerne ich
10
7
7.1
7.1.1
7.1.2
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.3
7.4
7.4.1
7.4.2
7.4.3
7.4.4
7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
7.5.6
7.6
7.7
7.8
7.9
7.9.1
7.9.2
Mit Anwendungsfalldiagrammen arbeiten
Darstellung eines Anwendungsfallmodells
Zurück zum Getränkeautomaten
Schritte in den Szenarios nachvollziehen
Beziehungen zwischen Anwendungsfällen visualisieren
Enthalten
Erweiterung
Generalisierung
Gruppierung
Anwendungsfalldiagramme im Analyseprozess
Anwendungsfallmodelle anwenden: Ein Beispiel
Die Domäne verstehen
Die Anwender verstehen
Die Anwendungsfälle verstehen
In die Tiefe gehen
Bestandsaufnahme
Strukturelemente
Beziehungen
Gruppierung
Anmerkung
Erweiterung
... und Sonstiges
Das Gesamtbild
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
101
102
102
103
104
104
105
106
107
108
108
109
109
110
112
113
114
114
114
114
114
115
115
116
117
117
117
118
8
8.1
8.1.1
8.1.2
8.1.3
8.1.4
8.2
8.2.1
8.2.2
8.3
8.4
8.5
Mit Zustandsdiagrammen arbeiten
Was ist ein Zustandsdiagramm?
Symbolvorrat
Zustandssymbol mit Details
Zustandsübergänge mit Details: Ereignisse und Aktionen
Zustandsübergänge mit Details: Wächterbedingungen
Teilzustände
Sequenzielle Teilzustände
Nebenläufige Teilzustände
Erinnerungszustände
Nachrichten und Signale
Warum sind Zustandsdiagramme wichtig?
119
120
120
121
122
123
124
124
125
126
127
127
Inhaltsverzeichnis
jetzt lerne ich
8.6
8.7
8.8
8.9
8.9.1
8.9.2
Das Gesamtbild aufbauen
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
128
129
130
130
130
131
9
9.1
9.1.1
9.1.2
9.1.3
9.2
9.2.1
9.2.2
9.2.3
9.3
9.3.1
9.3.2
9.4
9.5
9.6
9.7
9.8
9.9
9.9.1
9.9.2
Mit Sequenzdiagrammen arbeiten
Was ist ein Sequenzdiagramm?
Objekte
Nachrichten
Zeit
GUI
Sequenz
Sequenzdiagramm
Anwendungsfall
Getränkeautomat als Instanz und generisch
Instanz-Sequenzdiagramm
Generisches Sequenzdiagramm
Ein Objekt in der Sequenz erzeugen
Rekursion darstellen
Das Gesamtbild aufbauen
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
133
134
134
134
135
135
136
136
137
138
138
139
142
144
145
146
146
147
147
147
10
10.1
10.2
10.2.1
10.3
10.4
10.5
10.5.1
10.5.2
10.5.3
10.5.4
10.6
10.7
10.8
Mit Kollaborationsdiagrammen arbeiten
Was ist ein Kollaborationsdiagramm?
GUI
Zustandsänderungen
Getränkeautomat
Objekt erzeugen
Weitere Konzepte
Mehrere empfangende Objekte in einer Klasse
Rückgabewerte darstellen
Aktive Objekte
Synchronisierung
Das Gesamtbild aufbauen
Zusammenfassung
Nachgefragt
149
150
151
152
152
155
156
156
157
158
158
160
160
161
11
jetzt lerne ich
12
Inhaltsverzeichnis
10.9
10.9.1
10.9.2
Workshop
Fragen
Übungen
161
162
162
11
11.1
11.2
11.2.1
11.2.2
11.2.3
11.3
11.3.1
11.3.2
11.4
11.5
11.6
11.7
11.8
11.9
11.9.1
11.9.2
Mit Aktivitätsdiagrammen arbeiten
Ziele
Was ist ein Aktivitätsdiagramm?
Entscheidungen, Entscheidungen, Entscheidungen
Nebenläufige Pfade
Signale
Aktivitätsdiagramme einsetzen
Operation: Fibonacci-Zahlen
Ein Prozess: Erstellen eines Dokuments
Schwimmbahnen
Hybriddiagramme
Das Gesamtbild aufbauen
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
163
163
164
165
165
166
167
167
169
171
173
175
176
177
177
178
178
12
12.1
12.2
12.2.1
12.3
12.4
12.4.1
12.4.2
12.5
12.5.1
12.5.2
12.5.3
12.6
12.7
12.8
12.9
12.9.1
12.9.2
Mit Komponentendiagrammen arbeiten
Was ist eine Komponente?
Komponenten und Schnittstellen
Ersetzen und Wiederverwenden
Komponentenarten
Was ist ein Komponentendiagramm?
Darstellung einer Komponente
Darstellung von Schnittstellen
Komponentendiagramme einsetzen
Eine Webseite mit Java-Applet
Eine Webseite mit ActiveX-Steuerelementen
PowerToys
Komponentendiagramme im Gesamtbild der UML
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
179
179
180
182
182
183
183
184
185
185
187
188
189
190
191
191
191
192
Inhaltsverzeichnis
jetzt lerne ich
13
13.1
13.2
13.2.1
13.2.2
13.2.3
13.2.4
13.2.5
13.3
13.4
13.5
13.6
13.6.1
13.6.2
Mit Einsatzdiagrammen arbeiten
Was ist ein Einsatzdiagramm?
Einsatzdiagramme anwenden
Homecomputersystem
Token-Ring-Netzwerk
ARCnet
Thin Ethernet
Ricochet Wireless Network von Metricom
Einsatzdiagramme im Gesamtbild der UML
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
193
194
196
196
197
198
199
200
201
201
202
202
202
203
14
14.1
14.2
14.2.1
14.2.2
14.2.3
14.3
14.4
14.4.1
14.4.2
14.4.3
14.4.4
14.4.5
14.4.6
14.4.7
14.4.8
14.5
14.6
14.7
14.8
14.9
14.9.1
Die UML-Grundlagen besser verstehen
Die Struktur der UML
Metamodell-Ebene: Aus der Nähe betrachtet
Das Paket »Grundlage«
Das Paket »Verhaltenselemente«
Das Paket »Modellmanagement«
Erweiterung der UML
Stereotypen
Abhängigkeit
Klassifizierung
Klasse
Generalisierung
Paket
Komponente
Einige weitere Stereotypen
Grafische Stereotypen
Einschränkungen
Eigenschaftswerte
Zusammenfassung
Nachgefragt
Workshop
Fragen
205
206
208
209
210
211
211
212
212
213
214
214
214
215
215
215
216
217
218
218
219
219
15
15.1
15.1.1
15.1.2
Die UML im Entwicklungsprozess
Alte und neue Methodik
Der alte Weg
Ein neuer Weg
221
222
222
223
13
jetzt lerne ich
Inhaltsverzeichnis
15.2
15.3
15.3.1
15.3.2
15.3.3
15.3.4
15.3.5
15.3.6
15.4
15.5
15.6
15.7
15.7.1
14
Was ein Entwicklungsprozess leisten muss
GRAPPLE
Struktur des GRAPPLE-Prozesses
Anforderungen sammeln
Analyse
Entwurf
Entwicklung
Einsatz
Erfolgreicher Abschluss des GRAPPLE
Zusammenfassung
Nachgefragt
Workshop
Fragen
224
225
226
227
230
232
233
234
235
235
236
237
237
Teil II: Fallstudie
239
16
16.1
16.2
16.2.1
16.2.2
16.2.3
16.3
16.4
16.5
16.6
16.6.1
16.6.2
Einführung in die Fallstudie
Das Problem anGRAPPLEn
Geschäftsprozesse entdecken
Einen Gast bedienen
Essen zubereiten
Tisch säubern
Die Lektionen daraus
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
241
242
242
243
252
255
256
257
257
258
258
258
17
17.1
17.2
17.3
17.4
17.4.1
17.4.2
17.4.3
17.4.4
17.4.5
17.4.6
17.5
17.6
Domänenanalyse durchführen
Interview zum Geschäftsprozess analysieren
Erstes Klassendiagramm entwickeln
Klassen gruppieren
Assoziationen bilden
Assoziationen mit dem Gast
Assoziationen mit der Bedienung
Assoziationen mit dem Koch
Assoziationen mit dem Hilfskellner
Assoziationen mit dem Manager
Exkurs
Aggregationen und Komposita bilden
Klassen ausfüllen
261
262
263
265
267
268
272
274
274
274
275
276
277
Inhaltsverzeichnis
jetzt lerne ich
17.6.1
17.6.2
17.6.3
17.7
17.7.1
17.7.2
17.8
17.9
17.10
17.11
17.11.1
17.11.2
Gast
Angestellter
Rechnung
Allgemeines zum Thema Modellierung
Modellwörterbuch
Diagrammorganisation
Die Lektionen daraus
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
278
278
280
280
281
281
281
282
282
283
283
283
18
18.1
18.2
18.3
18.4
18.5
18.6
18.7
18.8
18.8.1
18.8.2
Systemanforderungen sammeln
Die Vision entwickeln
Anforderungen sammeln
Die JAD-Sitzung zu den Anforderungen
Ergebnis
Was nun?
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übung
285
286
296
297
301
302
305
305
306
306
306
19
19.1
19.2
19.3
19.3.1
19.3.2
19.3.3
19.3.4
19.3.5
19.3.6
19.3.7
19.3.8
19.3.9
19.4
19.5
19.6
Anwendungsfälle ausbauen
Anwendungsfälle pflegen und ausbauen
Anwendungsfallanalyse
Das Paket »Bedienung«
Bestellung aufnehmen
Bestellung an die Küche weiterleiten
Bestellung ändern
Feststellen, wie weit die Bestellung ist
Dem Koch Bescheid geben, wie weit die Gästegruppe ist
Rechnung aufsummieren
Rechnung ausdrucken
Eine Hilfskraft rufen
Übrige Anwendungsfälle
Komponenten des Systems
Zusammenfassung
Nachgefragt
307
308
309
310
310
311
312
313
314
316
316
317
318
318
320
320
15
jetzt lerne ich
16
Inhaltsverzeichnis
19.7
19.7.1
19.7.2
Workshop
Fragen
Übungen
321
321
321
20
20.1
20.1.1
20.1.2
20.1.3
20.1.4
20.1.5
20.1.6
20.1.7
20.2
20.2.1
20.2.2
20.2.3
20.3
20.4
20.5
20.6
20.6.1
20.6.2
Interaktionen und Zustandsänderungen
Die arbeitenden Teile des Systems
Das Paket »Bedienung«
Das Paket »Koch«
Das Paket »HilfsKellner«
Das Paket »RestaurantHilfe«
Das Paket »HilfsKoch«
Das Paket »BarMann«
Das Paket »GarderobenFräulein«
Interaktionen innerhalb des Systems
Bestellung aufnehmen
Bestellung ändern
Feststellen, wie weit die Bestellung ist
Implikationen
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
323
324
324
325
325
325
326
326
326
327
327
331
332
334
334
335
335
336
336
21
21.1
21.2
21.3
21.4
21.5
21.5.1
21.5.2
21.6
21.7
21.7.1
21.7.2
21.8
21.9
21.10
21.10.1
21.10.2
Look&Feel und Einsatz planen
Einige allgemeine Prinzipien des GUI-Entwurfs
Die JAD-Entwurfssitzung
Von Anwendungsfällen zu Benutzerschnittstellen
UML-Diagramme für den GUI-Entwurf
Einsatz des Systems planen
Das Netzwerk
Die Knoten und das Einsatzdiagramm
Die nächsten Schritte
... nun ein Wort von unserem Sponsor
Verkaufsmannschaft stärken
In der Gastronomie expandieren
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
337
337
340
341
344
345
346
347
349
349
350
350
352
352
353
353
354
Inhaltsverzeichnis
22
22.1
22.2
22.3
22.3.1
22.3.2
22.4
22.5
22.6
22.7
22.8
22.8.1
22.8.2
Entwurfsmuster verstehen
Parametrisierung
Entwurfsmuster
Zuständigkeitskette
Zuständigkeitskette: Restaurantdomäne
Zuständigkeitskette: Ereignismodelle von Webbrowsern
Selbst erstellte Entwurfsmuster
Vorteile von Entwurfsmustern
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
jetzt lerne ich
355
356
358
359
361
362
364
366
367
367
368
368
368
Teil III: Blick nach vorne
369
23
23.1
23.2
23.3
23.4
23.4.1
23.4.2
23.4.3
23.4.4
23.5
23.5.1
23.5.2
23.5.3
23.5.4
23.5.5
23.6
23.7
23.8
23.9
23.9.1
23.9.2
Eingebettete Systeme modellieren
Die zündende Idee
GetAGrip nimmt Gestalt an
Was ist ein eingebettetes System?
Konzepte für eingebettete Systeme
Zeit
Threads
Interrupts
Betriebssysteme
GetAGrip modellieren
Klassen
Anwendungsfälle
Interaktionen
Allgemeine Zustandsänderungen
Einsatz
Muskeln spielen lassen
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
371
372
373
375
376
376
377
378
379
381
381
383
384
387
387
389
389
390
390
391
391
24
24.1
24.2
24.3
Die Zukunft der UML gestalten
393
Erweiterungen für die Wirtschaft
394
Schlussfolgerungen aus den Erweiterungen für die Wirtschaft 395
Grafische Benutzeroberflächen
396
17
Inhaltsverzeichnis
jetzt lerne ich
24.3.1
24.3.2
24.4
24.4.1
24.4.2
24.4.3
24.5
24.6
24.7
24.8
24.9
24.9.1
24.9.2
Teil IV:
18
An Anwendungsfälle anschließen
Die GUI modellieren
Expertensysteme
Komponenten eines Expertensystems
Ein Beispiel
Wissensbasis modellieren
Webanwendungen
Das wär's
Zusammenfassung
Nachgefragt
Workshop
Fragen
Übungen
Anhänge
396
397
398
399
401
403
405
407
408
409
409
409
409
411
Anhang A: Antworten
413
Anhang B: UML-Modellierungstools
425
B.1
B.2
B.3
B.4
B.5
425
426
428
430
432
Gemeinsamkeiten
Rational Rose
SELECT Enterprise
Visual UML
Das ideale Modellierungstool
Anhang C: UML-Diagrammtypen
433
Anhang D: Die CD zum Buch
441
Stichwortverzeichnis
443