|
Inhaltsverzeichnis |
6 |
|
|
Vorwort |
12 |
|
|
Einführung |
14 |
|
|
1 Konzepte der objektorientierten Entwicklung |
18 |
|
|
1.1 Abstraktion und Kapselung |
19 |
|
|
1.1.1 Objekte |
19 |
|
|
1.1.2 Klassen und ihre Komponenten |
25 |
|
|
1.1.3 Spezielle Klassen |
35 |
|
|
1.2 Statische Beziehungen zwischen Klassen |
36 |
|
|
1.2.1 Vererbungsbeziehung |
37 |
|
|
1.2.2 Nutzungsbeziehung: Assoziation, Aggregation |
43 |
|
|
1.2.3 Vererbungsbeziehung vs. Nutzungsbeziehung |
55 |
|
|
1.2.4 Realisierung von Nutzungsbeziehungen |
57 |
|
|
1.2.5 Vermittlungsbeziehung |
62 |
|
|
1.2.6 Importbeziehung |
65 |
|
|
1.3 Dynamische Interaktion der aktiven und passiven Objekte |
66 |
|
|
1.3.1 Ablaufstruktur |
66 |
|
|
1.3.2 Objektverhalten |
69 |
|
|
1.3.3 Systemverhalten |
74 |
|
|
1.4 Zusammenfassung |
76 |
|
|
2 Objektorientierter Entwicklungsprozess |
78 |
|
|
2.1 Charakteristik des Entwicklungsprozesses |
79 |
|
|
2.1.1 Einflussfaktoren |
79 |
|
|
2.1.2 Anforderungen an den Entwicklungsprozess |
81 |
|
|
2.2 Entwicklungsphasen |
86 |
|
|
2.2.1 Makroprozess |
86 |
|
|
2.2.2 Konzeptphase, Projekt-Definitionsphase |
88 |
|
|
2.2.3 Elaborationsphase |
90 |
|
|
2.2.4 Konstruktionsphase |
92 |
|
|
2.2.5 Realisierungsphase |
96 |
|
|
2.2.6 Evolutionäre Entwicklung |
99 |
|
|
2.3 Reverse Engineering |
101 |
|
|
2.4 Zusammenfassung |
104 |
|
|
3 Methodische Unterstützung |
106 |
|
|
3.1 Objektorientierte Methoden: Charakteristik und Überblick |
106 |
|
|
3.2 Spezielle Methoden |
110 |
|
|
3.2.1 Use-Case-Analyse (Analyse der Nutzungsfälle) |
110 |
|
|
3.2.2 CRC-Methode |
114 |
|
|
3.2.3 Responsibility-Driven Design (RDD) |
117 |
|
|
3.2.4 Booch-Methode zur Objektmodellierung |
120 |
|
|
3.2.5 Object Modeling Technique (OMT) |
123 |
|
|
3.3 Einheitliche Notation als Grundlage für Methoden |
125 |
|
|
3.4 Zusammenfassung |
129 |
|
|
4 Unified Modeling Language (UML) |
132 |
|
|
4.1 UML-Modellelemente |
133 |
|
|
4.1.1 Charakteristik der Modellelemente |
133 |
|
|
4.1.2 Vordefinierte Modellelemente |
135 |
|
|
4.1.3 Abhängige Modellelemente |
138 |
|
|
4.2 Einführung in das UML-Metamodell |
142 |
|
|
4.2.1 Syntax und Semantik von Modellelementen |
142 |
|
|
4.2.2 Erweiterbarkeit der UML |
146 |
|
|
4.2.3 Abhängigkeitsbeziehung |
160 |
|
|
4.2.4 Object Constraint Language (OCL) |
163 |
|
|
4.3 Modelle und relevante Diagramme: Übersicht |
171 |
|
|
4.4 Charakteristik der UML |
174 |
|
|
4.5 Zusammenfassung |
176 |
|
|
5 Analyse des Systemverhaltens – Entwurf der Systemarchitektur |
178 |
|
|
5.1 Prozess der Analyse |
179 |
|
|
5.2 Analyse der Nutzungsfälle (Use-Case-Analyse) |
181 |
|
|
5.2.1 Einführung |
181 |
|
|
5.2.2 Relevante Modellelemente: Aktor, Use-Case |
183 |
|
|
5.2.3 Modell der Systemnutzung |
187 |
|
|
5.2.4 Aktivitäten |
190 |
|
|
5.2.5 Resultierende Vorzüge |
198 |
|
|
5.3 Entwurf der Systemarchitektur |
199 |
|
|
5.3.1 Einführung |
199 |
|
|
5.3.2 Relevante Modellelemente: Paket, Subsystem, Modell |
201 |
|
|
5.3.3 Prinzipielle Systemstruktur |
206 |
|
|
5.3.4 Logische und physikalische Systemstruktur |
209 |
|
|
5.3.5 Aktivitäten |
214 |
|
|
5.4 Zusammenfassung |
217 |
|
|
6 Objektorientierte Analyse (OOA) |
220 |
|
|
6.1 Prozess der objektorientierten Analyse |
221 |
|
|
6.1.1 Charakteristik |
221 |
|
|
6.1.2 Abgrenzung der Problembereiche |
223 |
|
|
6.2 Statische Beziehungen zwischen Klassen |
227 |
|
|
6.2.1 Klasse, spezielle Klassen |
227 |
|
|
6.2.2 Modellierung der statischen Beziehungen zwischen Klassen |
235 |
|
|
6.2.3 Statische Modelle und zugeordnete Diagramme |
245 |
|
|
6.2.4 Spezielle Modelle: Informationsmodell, Ablauf- und Prozessrahmenmodell |
248 |
|
|
6.2.5 Analyse der statischen Beziehungen: Aktivitäten |
252 |
|
|
6.3 Dynamische Interaktion der Objekte |
269 |
|
|
6.3.1 Objekt |
269 |
|
|
6.3.2 Modellierung der dynamischen Interaktion der Objekte |
272 |
|
|
6.3.3 Dynamische Modelle und zugeordnete Diagramme |
276 |
|
|
6.3.4 Analyse der dynamischen Interaktion: Aktivitäten |
284 |
|
|
6.4 Internes Verhalten von Objekten |
289 |
|
|
6.4.1 Wartezustand, Aktionszustand, Zustandsübergang |
289 |
|
|
6.4.2 Zustandsmodelle und zugeordnete Diagramme |
297 |
|
|
6.4.3 Analyse des Objektverhaltens: Aktivitäten |
305 |
|
|
6.5 Erfassung und Analyse der Realisierungsforderungen |
309 |
|
|
6.6 Dokumentation und Validation der Analyseergebnisse |
311 |
|
|
6.7 Zusammenfassung |
314 |
|
|
7 Objektorientierter Entwurf (OOE) |
316 |
|
|
7.1 Entwurfsprozess |
317 |
|
|
7.2 Entwurfstechniken |
320 |
|
|
7.2.1 Objektorientierte Entwurfsprinzipien |
320 |
|
|
7.2.2 Separation of Concerns |
323 |
|
|
7.2.3 Entwurfsmuster, vorgefertigte Komponenten, Application Framework |
328 |
|
|
7.3 Logischer Entwurf |
333 |
|
|
7.3.1 Einführung |
333 |
|
|
7.3.2 Spezielle Konzepte: Interface, Typ, generische Klasse, Rollen |
335 |
|
|
7.3.3 Spezielle Strukturen: Einbettung, Typstruktur, Kollaboration |
345 |
|
|
7.3.4 Entwurf der Aufbaustruktur |
352 |
|
|
7.3.5 Entwurf der Ablaufstruktur |
369 |
|
|
7.4 Physikalischer Entwurf |
377 |
|
|
7.4.1 Einführung |
377 |
|
|
7.4.2 Software-Komponente, Knoten |
379 |
|
|
7.4.3 Modelle und zugeordnete Diagramme |
383 |
|
|
7.4.4 Modularisierung |
388 |
|
|
7.4.5 Konfigurierung |
391 |
|
|
7.5 Dokumentation und Verifikation des Entwurfs |
393 |
|
|
7.6 Zusammenfassung |
395 |
|
|
8 Fallbeispiele |
398 |
|
|
8.1 Verkauf und Lieferung von Büchern und Videos |
398 |
|
|
8.1.1 Problembeschreibung |
398 |
|
|
8.1.2 Analyse des Systemverhaltens |
400 |
|
|
8.1.3 Entwurf der Systemarchitektur |
407 |
|
|
8.1.4 Analyse der funktionalen Anforderungen |
409 |
|
|
8.1.5 Logischer Entwurf |
427 |
|
|
8.1.6 Physikalischer Entwurf |
433 |
|
|
8.2 Echtzeit-Simulation einer Ballwurfmaschine |
436 |
|
|
8.2.1 Problembeschreibung |
436 |
|
|
8.2.2 Anforderungsanalyse |
439 |
|
|
8.2.3 Logischer Entwurf |
443 |
|
|
8.2.4 Entwicklung von SW-Systemen mit parallelen Abläufen und striktem Zeitverhalten |
445 |
|
|
9 Realisierung |
448 |
|
|
9.1 Charakteristik der Realisierung |
448 |
|
|
9.2 Detaillierte Spezifikation |
450 |
|
|
9.3 Codegenerierung und Codierung |
453 |
|
|
9.4 Test und Integration |
455 |
|
|
9.5 Evaluierung, Abnahme und Inbetriebnahme |
458 |
|
|
9.6 Zusammenfassung |
460 |
|
|
Anhang |
462 |
|
|
A1 UML-basierte Entwicklungswerkzeuge |
462 |
|
|
A2 Glossar |
466 |
|
|
A3 Abkürzungsverzeichnis |
484 |
|
|
A4 Literaturverzeichnis |
485 |
|
|
A5 Index |
491 |
|