Beschreibung
Inhaltsverzeichnis
1 Einleitung 1.1 Projektarten und -aspekte 1.2 Überblick zu Kapiteln und Themen 1.3 Empfohlene Vorkenntnisse 1.4 Weitere Ressourcen im Web 1.5 Die Autoren 2 Lebenszyklus eines Software-Produktes 2.1 Grundlegende Phasen des Lebenszyklus 2.2 Übergreifende Aktivitäten 2.3 Anforderungen und Spezifikation 2.4 Projektplanung und -steuerung 2.5 Entwurf und Design 2.6 Implementierung und Integration 2.7 Betrieb und Wartung 2.8 Vom Software-Lebenszyklus zum Vorgehensmodell 2.9 Zusammenfassung 3 Vorgehensmodelle 3.1 Strategie für die Projektdurchführung 3.2 Wasserfallmodell 3.3 Das V-Modell 3.4 V-Modell XT 3.5 Inkrementelles Vorgehen 3.6 Spiralmodell 3.7 Rational Unified Process 3.8 Agile Software-Entwicklung 3.9 Anpassung von Vorgehensmodellen 3.10 Zusammenfassung 4 Software Projektmanagement 4.1 Einführung ins Projektmanagement 4.2 Projektdefinition 4.3 Projektplanung 4.4 Projektverfolgung 4.5 Projektabschluss 4.6 Zusammenfassung 5 Qualitätssicherung und Test-Driven Development 5.1 Der Qualitätsbegriff 5.2 Verifikation und Validierung 5.3 Software Reviews 5.4 Software Inspektionen 5.5 Architekturevaluierung 5.6 Software Testen 5.7 Test-Driven Development 5.8 Automatische Codeprüfung 5.9 Zusammenfassung 6 Notationen, Methoden der Modellierung 6.1 UML Diagrammfamilie 6.2 Modellierung von Daten und Systemschichten 6.3 Projektmanagement Artefakte 6.4 Zusammenfassung 7 Software-Architektur 7.1 Was ist eine Software Architektur 7.2 Wie entstehen Architekturen 7.3 Sichten auf eine Software Architektur 7.4 Separation of Concerns 7.5 Schichtenarchitektur 7.6 Serviceorientierte Architekturen 7.7 Ereignisgetriebene Architektur 7.8 Zusammenfassung 8 Entwurfs-, Architektur-, und Integrationsmuster 8.1 Was ist ein Muster 8.2 Grundlegende Muster 8.3 Erzeugung 8.4 Struktur 8.5 Verhalten 8.6 Integration 8.7 Zusammenfassung 9 Komponentenorientierte Software-Entwicklung 9.1 Vom Objekt zum Service: Schritte der Entkopplung 9.2 Frameworks als Basis für Komponentenbildung 9.3 Dependency-Injection: ''Verdrahtung" der Komponenten 9.4 Persistente Datenhaltung 9.5 Querschnittsfunktionen in Aspekte auslagern 9.6 Benutzerschnittstellen 9.7 Lose Koppelung von komponentenorientierten Systemen 9.8 Logging: Protokollieren von Systemzuständen 9.9 Zusammenfassung 10 Techniken und Werkzeuge 10.1 Convention or Configuration? 10.2 Sourcecode Management 10.3 Build-Management und Automatisierung 10.4 Die integrierte Entwicklungsumgebung 10.5 Virtualisierung von Hard- und Software 10.6 Projektplanung und Steuerung 10.7 Dokumentation 10.8 Kommunikation im (global verteilten) Team 10.9 Zusammenfassung Index
Autorenporträt
Alexander Schatten befasst sich als Fachautor und Forscher mit komponentenorierter Software-Entwicklung. Er ist Berater im Bereich von Software-Architekturen und Software-Engineering mit Schwerpunkt auf Open-Source-Systemen.Markus Demolsky ist Spezialist für Architektur- und Integrationsthemen mit langjähriger Erfahrung in der Analyse und Umsetzung internationaler Software-Projekte. Sein besonderes Interesse gilt komponentenorientierten Open-Source-Technologien im Java-EE-Umfeld.Dietmar Winkler ist Lehrbeauftragter und Forscher an der TU Wien und selbstständiger Berater mit Schwerpunkt auf komponentenorientierten Software- und Systementwicklung, Projekt-, Prozess- und Qualitätsmanagement sowie empirische Software-Technik. Stefan Biffl lehrt und forscht an der Fakultät für Informatik der TU Wien in den Bereichen Software-Engineering, Qualitätssicherung und Projektmanagement, um im Praxiskontext erfolgreiche "Best Practices" für Studierende und Praktiker zugänglich zu machen.Erik Gostischa-Franta hat jahrelange Industrieerfahrung in der Software-Entwicklung und als Tutor an der TU Wien. Sein besonderes Interesse gilt agilen Methoden sowie strukturiertem Vorgehen in der komponentenorientierten Software-Entwicklung.Thomas Östreicher studiert und forscht an der TU Wien im Bereich der Modellierung software-intensiver Systeme und testgetriebener agiler Methoden.