11.3 Zusammenfassung
Zur Softwareentwicklung gehört mehr als bloßes Programmieren. Die verschiedenen Techniken des Software-Engineerings versuchen, diesen Prozess nach dem Vorbild der Ingenieurswissenschaften zu betreiben. Auch wenn dies nicht vollständig gelingt, weil Computerprogramme sich von technischen Geräten unterscheiden, liefert ein solcher Ansatz entscheidende Impulse für Softwareprojekte.
Die Entwicklung verläuft entweder linear oder iterativ, immer aber in bestimmten Phasen: Planung, Analyse, Entwurf, Implementierung, Test und Dokumentation. Je nach Projekt- und Teamgröße (und je nach konkretem Entwicklungsprozess) fallen die einzelnen Phasen unterschiedlich deutlich aus.
Im Lauf der Programmiergeschichte wurden verschiedene Entwicklungsprozesse definiert; je nach Projektgröße, Teamzusammensetzung und technischen Vorgaben sind sie unterschiedlich gut geeignet. In diesem Kapitel wurden zwei von ihnen kurz vorgestellt: der Unified Process, der zusammen mit der UML entwickelt wurde und diese einsetzt, sowie Extreme Programming, das die Programmierarbeit als solche in den Mittelpunkt stellt, schnell zu Ergebnissen kommt und jederzeit Änderungen zulässt.
Im zweiten Abschnitt haben Sie einige wichtige Arbeitsmittel der modernen Softwareentwicklung kennengelernt: Die Unified Modeling Language (UML) dient der fach- und prozessübergreifenden, leicht nachvollziehbaren Darstellung von Analyse und Entwurf eines Softwareprojekts. Entwurfsmuster (Design Patterns) bieten eine übersichtliche Darstellung erfolgreicher Lösungen für gängige Entwurfsprobleme. Unit-Tests schließlich machen das Testen von Software zu einem integrierten Teil des Programmiervergnügens. Der Test-first-Ansatz stellt zudem sicher, dass keine Klasse ohne zugehörigen Test existiert und dass der Code jederzeit funktioniert.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.