Best Practice Software-Engineering - Eine praxiserprobte Zusammenstellung von komponentenorientierten Konzepten, Methoden und Werkzeugen
Verlag | Springer Spektrum |
Auflage | 2010 |
Seiten | 440 |
Format | 17,5 x 2,5 x 24,5 cm |
Gewicht | 854 g |
ISBN-10 | 3827424860 |
ISBN-13 | 9783827424860 |
Bestell-Nr | 82742486A |
Software-Komponenten tragen durch einen hohen Grad an Wiederverwendbarkeit, bessere Testbarkeit und Wartbarkeit zur effizienten Herstellung komplexer Software-Anwendungen bei. Diese Vorteile bedingen jedoch oft eine aufwendigere Einarbeitung beim Einstieg in diese Materie durch die Vielzahl an komplexen Komponenten-Frameworks, Werkzeugen und Entwurfsansätzen.
Das vorliegende Buch "Best-Practice Software Engineering" bietet Neu- und Wiedereinsteigern in die komponentenorientierte Software-Entwicklung eine Einführung in die Materie durch eine abgestimmte Zusammenstellung von praxiserprobten Konzepten, Techniken und Werkzeugen für alle Aspekte eines erfolgreichen Projekts.
Für moderne Software-Entwicklung sind eine Vielzahl von unterschiedlichen Fähigkeiten erforderlich, die nur im richtiger Kombination zu einem erfolgreichen Ergebnis führen. Daher wird in diesem Buch besonderer Wert darauf gelegt, nicht einzelne Techniken des Software Engineerings isoliert zu betrachten, sondern das effiziente Zusammenspiel verschiedener Aspekte darzustellen.
Schwerpunkte liegen auf Vorgehensstrategien im Software-Lebenszyklus, Projektmanagement, Qualitätssicherung, UML-Modellierung, Entwurfsmustern und Architekturen, komponentenorientierter Software-Entwicklung sowie ausgewählten Techniken und Werkzeugen.
Zu den Beispielen im Buch finden Sie den vollständigen Source Code sowie umfangreiche Fallbeispiele zu Artefakten aus dem Projektverlauf auf der Webseite zum Buch.
Inhaltsverzeichnis:
1 Einleitung1.1 Projektarten und -aspekte1.2 Überblick zu Kapiteln und Themen1.3 Empfohlene Vorkenntnisse1.4 Weitere Ressourcen im Web1.5 Die Autoren2 Lebenszyklus eines Software-Produktes2.1 Grundlegende Phasen des Lebenszyklus2.2 Übergreifende Aktivitäten2.3 Anforderungen und Spezifikation2.4 Projektplanung und -steuerung2.5 Entwurf und Design2.6 Implementierung und Integration2.7 Betrieb und Wartung2.8 Vom Software-Lebenszyklus zum Vorgehensmodell2.9 Zusammenfassung3 Vorgehensmodelle3.1 Strategie für die Projektdurchführung3.2 Wasserfallmodell3.3 Das V-Modell3.4 V-Modell XT3.5 Inkrementelles Vorgehen3.6 Spiralmodell3.7 Rational Unified Process3.8 Agile Software-Entwicklung3.9 Anpassung von Vorgehensmodellen3.10 Zusammenfassung4 Software Projektmanagement4.1 Einführung ins Projektmanagement4.2 Projektdefinition4.3 Projektplanung4.4 Projektverfolgung4.5 Projektabschluss4.6 Zusammenfassung5 Qualitätssicherung und Test-Driven Development5.1 Der Qualitätsbegriff5.2 Verifikation und Validierung5.3 Software Reviews5.4 Software Inspektionen5.5 Architekturevaluierung5.6 Software Testen5.7 Test-Driven Development5.8 Automatische Codeprüfung5.9 Zusammenfassung6 Notationen, Methoden der Modellierung6.1 UML Diagrammfamilie6.2 Modellierung von Daten und Systemschichten6.3 Projektmanagement Artefakte6.4 Zusammenfassung7 Software-Architektur7.1 Was ist eine Software Architektur7.2 Wie entstehenArchitekturen7.3 Sichten auf eine Software Architektur7.4 Separation of Concerns7.5 Schichtenarchitektur7.6 Serviceorientierte Architekturen7.7 Ereignisgetriebene Architektur7.8 Zusammenfassung8 Entwurfs-, Architektur-, und Integrationsmuster8.1 Was ist ein Muster8.2 Grundlegende Muster8.3 Erzeugung8.4 Struktur8.5 Verhalten8.6 Integration8.7 Zusammenfassung9 Komponentenorientierte Software-Entwicklung9.1 Vom Objekt zum Service: Schritte der Entkopplung9.2 Frameworks als Basis für Komponentenbildung9.3 Dependency-Injection: "Verdrahtung' der Komponenten9.4 Persistente Datenhaltung 9.5 Querschnittsfunktionen in Aspekte auslagern9.6 Benutzerschnittstellen9.7 Lose Koppelung von komponentenorientierten Systemen9.8 Logging: Protokollieren von Systemzuständen9.9 Zusammenfassung10 Techniken und Werkzeuge10.1 Convention or Configuration?10.2 Sourcecode Management10.3 Build-Management und Automatisierung10.4 Die integrierte Entwicklungsumgebung10.5 Virtualisierung von Hard- und Software10.6 Projektplanung und Steuerung10.7 Dokumentation10.8 Kommunikation im (global verteilten) Team10.9 ZusammenfassungIndex