Bernd Oestereich (Hrsg) / P. Hruschka / N. Josuttis / H. Kocher / H. Krasemann / M. Reinhold

Erfolgreich mit Objektorientierung
Vorgehensmodelle und Managementpraktiken für die objektorientierte Softwareentwicklung



Inhaltsverzeichnis

1. Kapitel: Einführung

1.1. Einleitung

1.2. Vorgehensmodelle

1.2.1. Vorgehensmodell-Varianten

1.2.2. Welcher Prozeß für welches Projekt?

1.3. Vorgehensmodelle und UML

1.3.1. OMT (Rumbaugh)

1.3.2. Booch-Methode

1.3.3. OOSE (Jacobson)

1.4. Der Unified Software Development Process

1.4.1. Phasen

1.4.2. Iterationen

1.4.3. Prozesse und Aktivitäten

1.4.4. Produkte

1.4.5. Rollen

2. Kapitel: V-Modell '97

2.1. Grundstruktur

2.1.1. Der objektorientierte Lebenszyklus im V-Modell '97

2.1.2. Evolutionär versus iterativ-inkrementell

2.1.3. Die Kernaktivitäten und -Produkte der Systemerstellung

2.1.4. Anpaßbarkeit an Randbedingungen

2.1.5. Vorgehen versus Dokumentenstruktur

2.2. Unterstützte Bereiche des V-Modells '97

2.3. Zusammenhang V-Modell und Phasenmodell

2.4. Zusammenfassung

3. Kapitel: Architektur und Konzeption

3.1. Strategien für erfolgreiche Projekte

3.2. Motivation

3.3. Highlevel-Studie

3.3.1. Highlevel-Analyse

3.3.2. Die Kunst der Abstraktion

3.3.3. Highlevel-Design

3.3.4. Risiken und Prioritäten

3.3.5. Ergebnis der Highlevel-Studie

3.3.6. Dauer der Highlevel-Studie

3.4. Realisierung

3.4.1. Realisierung des ersten Subsystems

3.4.2. Ergebnisse der ersten Realisierung

3.4.3. Sofortige Integration

3.5. Wiederverwendung

3.5.1. Mythos Wiederverwendung

3.5.2. Wiederverwendung von Fremdsoftware

3.5.3. Design von Wiederverwendung

3.5.4. Refaktorisierung

3.6. Prototypen

3.6.1. Der Durchstich

3.6.2. Die Bedienoberfläche

3.6.3. Einbindung von Prototypen in das konzeptionelle Vorgehen

3.7. Inkrementelle Entwicklung

3.8. Zeitvorgaben

3.9. Das Team

3.10. Gesamtbetrachtung des konzeptionellen Vorgehens

3.10.1. Zusammenfassende Richtlinien

4. Kapitel: Planung und Prozeßmanagement objektorientierte Projekte

4.1. Der Object Engineering Process (OEP)

4.1.1. Wege zu einem Prozeßleitfaden

4.1.2. Struktur des Vorgehensmodells

4.1.3. Struktur des Prozeßleitfaden

4.1.4. Angenommene Rahmenbedingungen

4.1.5. Anwendung und Einführung des Prozesses

4.1.6. Organisation der Projektleitung

4.2. Prozeß-Gliederung im Überblick

4.2.1. Anforderungsanalyse

4.2.2. Systemerstellung

4.2.3. Systemerstellung.Fachliche Architektur

4.2.4. Systemerstellung.Umfeld und Batch

4.2.5. Systemerstellung.Projektextern

4.2.6. Systemerstellung.Subsysteme

4.2.7. Qualitätssicherung, Test, Abnahmen

4.2.8. Einsatz und Verteilung

4.2.9. Konfigurations- und Umgebungsmanagement

4.2.10. Projektmanagement

4.2.11. Iterations-, Prozeß- und Änderungsmanagement

4.3. Entwicklungsphasen und Meilensteine im Überblick

4.3.1. Vorbereitungsphase

4.3.2. Entwurfsphase

4.3.3. Konstruktionsphase

4.3.4. Einführungsphase

4.3.5. Betriebsphase

4.4. Iterationen planen, steuern und durchführen

4.4.1. Meilensteine

4.4.2. Planung

4.4.3. Iterations-Planungs-Matrix

4.4.4. Durchführung

4.4.5. Wann ist eine Iteration zu Ende?

4.4.6. Timeboxing

4.4.7. Besondere Projektereignisse und -ausnahmen

4.5. Konkrete Aktivitäten im Überblick

4.5.1. Aktivitäten der Vorbereitungsphase

4.5.2. Aktivitäten der Entwurfssphase

4.5.3. Aktivitäten der Konstruktionsphase

4.5.4. Aktivitäten der Einführungssphase

4.6. Exemplarische Aktivitätsbeschreibungen

4.7. Exemplarische Ergebnistypen

5. Kapitel: Steuerung objektorientierter Projekte

5.1. Objektorientierung umfaßt viele Faktoren

5.2. Auswahl des Vorgehensmodells

5.2.1. Rolle der Entwurfsmethode bei der Software-Entwicklung

5.2.2. Einführung eines Entwicklungsprozesses

5.3. Projektdurchführung

5.3.1. Risikomanagement

5.3.2. Planung und Überwachung

5.3.3. Anpassung des Entwicklungsprozesses

5.3.4. Projekte in der Krise

5.4. Teamaufbau

5.4.1. Teamstruktur bei objektorientierten Projekten

5.4.2. Kreative Teams

5.4.3. Feature Teams

5.4.4. Tiger Teams

5.4.5. Motivation von Entwicklern

5.5. Dokumentation

5.5.1. Anwenderdokumentation

5.5.2. Managementdokumentation

5.5.3. Entwicklungsdokumentation

5.6. Werkzeuge

5.7. Aufgaben des Managements

5.7.1. Planung und Überwachung

5.7.2. Führung und Steuerung

5.7.3. Teammanagement

5.7.4. Durchführung des Projekts

5.8. Zusammenfassung

6. Kapitel: Heuristiken zur Systementwicklung

6.1. Heuristiken - micro-codierte Handlungsanweisungen

6.2. DAS Vorgehensmodell gibt es nicht!

6.3. Das Schubladenmodell der Systementwicklung

6.3.1. Schubladen definieren, was hinein soll, ohne eine Reihenfolge vorzugeben

6.3.2. Schubladen sind mit Ergebnismustern als Denkhilfe versehen

6.3.3. Der Schrank für die Problemstellung und der Schrank für die Lösung

6.3.4. Mini-Aktivitäten

6.3.5. Vom Geschäftsprozeßmodell zum fertigen System

6.4. Geschäftsprozeßanalyse ist Analyse!

6.5. UML für Geschäftsprozeß- und Gesamtsystemanalyse

6.5.1. Das gewünschte Ergebnis

6.5.2. Mini-Aktivitäten zur Entwicklung eines Geschäftsprozeßmodells

6.5.3. Wie könnte man anfangen?

6.5.4. Pragmatische Hilfsmittel zur Geschäftsprozeßmodellierung

6.5.5. Auch das gute, alte Kontextdiagramm hilft!

6.5.6. Wieviel ist genug?

6.5.7. Zusammenfassung zur Geschäftsprozeßanalyse

6.6. Aktivitäten zur Präzisierung der Problemstellung

6.6.1. Die Schubladen der detaillierten Analyse

6.6.2. Mini-Aktivitäten der Detailanalyse

6.6.3. Heuristiken als Hilfsmittel

6.6.4. Beispiele für Heuristiken zur Erstellung des Klassenmodells

6.6.5. Pragmatische Hilfsmittel

6.6.6. Die Schubladen des dynamischen Modells

6.6.7. Füllen der Schubladen mit dynamischen Modellen

6.6.8. Verbindlichkeit der Elemente der Detailspezifikation

6.7. Die Systemebene und die Detailebene

6.8. Aktivitäten zur Lösung der Problemstellung

6.8.1. Designen heißt "Entscheidungen treffen"

6.8.2. Ziel ist eine System- und Software-Architektur

6.8.3. Probleme lösen = erweitern + bündeln

6.8.4. Zusammenfassung für das Design

6.9. Klassifizierung von Klassen

6.10. Vorgehensweise bei sehr großen Systeme

6.11. Zusammenfassung

6.12. Formulare

7. Kapitel: Messen und Schätzen

7.1. Was messen - wie schätzen?

7.2. Messen und Schätzen im Projekt

7.2.1. Produktgröße, Herstellungsaufwand und -zeit

7.2.2. Was ist Schätzen?

7.2.3. Was kann man messen?

7.2.4. Messen in iterativen Projekten

7.2.5. Frühwarnsysteme im Projekt

7.2.6. Automatisierung von Messungen

7.2.7. Projektnachlese

7.3. Messungen

7.3.1. Aufwandsmessungen

7.3.2. Größenmessungen

7.3.3. Messung der Produktivität

7.3.4. Produktivitätsmonitor

7.3.5. Qualitätsmonitor

7.3.6. Iterationsmonitor

7.3.7. Automatisierung der Messungen

7.4. Schätzungen

7.4.1. Aufwandsschätzung

7.4.2. Die Softwaregleichung und Faustformeln für die Makroschätzung

7.4.3. Anwendung der Makroschätzung

7.4.4. Produktschätzung mit Beispielen

7.5. Empfehlungen

7.5.1. Empfehlungen für das Schätzen

7.5.2. Ein Meßprogramm

7.5.3. Schätzen und Messen in iterativen Projekten

7.6. Hinweise für weiteres Lesen

7.7. Formulare

7.7.1. Funktionspunkte-Formular

7.7.2. Widgetpunkte-Formular

8. Kapitel: Die Autoren

9. Kapitel: Glossar

10. Kapitel: Literatur

11. Kapitel: Index