Wasserfallmodell
Das Wasserfallmodell ist ein lineares Vorgehensmodell in der Softwareentwicklung, bei dem der Softwareentwicklungsprozess in Phasen organisiert wird. Dabei gehen die Phasenergebnisse wie bei einem Wasserfall immer als bindende Vorgaben für die nächst tiefere Phase ein.
Im Wasserfallmodell hat jede Phase vordefinierte Start- und Endpunkte mit eindeutig definierten Ergebnissen. In Meilensteinsitzungen am jeweiligen Phasenende werden die Ergebnisdokumente verabschiedet. Zu den wichtigsten Dokumenten zählen dabei das Lastenheft sowie das Pflichtenheft. In der betrieblichen Praxis gibt es viele Varianten des reinen Modells. Es ist aber das traditionell am weitesten verbreitete Vorgehensmodell.
Phasen des Wasserfallmodells
Phase 1: Initalisierung
Inhalt der Initialisierungsphase:
- Problembeschreibung
- Projektziele
- Grobe Projektbeschreibung
- Grober Projektplan
- Kostenabschätzung
- Angebot an den Kunden
Phase 2: Konzept
In der zweiten Phase, die auch Grobkonzept genannt wird, werden die Wünsche des Kunden systemanalytisch ausgewertet und zu Papier gebracht. Am Ende der Phase 2 steht immer das Pflichtenheft. Im Plichtenheft werden die Daten und deren Zusammenhänge verbal beschrieben, was man auch semanisches Datenmodell nennt.
Phase 3: Entwurf
In der dritten Phase, die auch Feinkonzept gennant wird, findet die eigentliche Entwicklung des Anwendungssystems statt. Das Ergebnis dieser Phase ist eine Programmspezifikation, in der alle Einzelheiten beschrieben sind, die zur Programmierung des Systems erforderlich sind.
Phase 4: Implementierung
In der Implementierungsphase wird der Entwurf in ein Computerprogramm umgesetzt. Dafür können verschiedene Programmiersprachen Anwendung finden. Eine der häfigsten Sprachen ist zum Beispiel C++.
Phase 5: Test
In der Testphase werden zwei Arten von Tests unterschieden:
- Programmtest
Test der Programm-Module auf logische Konsistenz - Benutzertest
Test unter Produktionsbedingungen durch ausgesuchte Benutzer (wenn möglich nicht der oder die Programmierer).
Phase 6: Installation
In dieser Phase wird eine Installationsroutine erstellt, die es dem Kunden erlaubt diese Software mit geringem Aufwand zu installieren.
Phase 7: Wartung
Aufgaben der Wartungsphase:
- Anwenderschulungen
- Beseitigen von weiteren Fehlern
- Programmerweiterungen
Vorteile
- Klare Abgrenzung der Phasen
- Einfache Möglichkeiten der Planung und Kontrolle
- Bei stabilen Anforderungen und klarer Abschätzung von Kosten und Umfang sehr effektives Modell
Nachteile
- Abgrenzungsproblem
Klar voneinander abgegrenzte Phasen sind unrealistisch - der Übergang zwischen ihnen ist in Wirklichkeit fließend: Teile eines Systems können sich noch in der Planung befinden, während andere schon in der Ausführung oder im Gebrauch sind. - Abfolgeproblem
Einzelne Phasen laufen in der Theorie nacheinander ab, in der Praxis sind jedoch Rückschritte oft unvermeidlich. - Angemessenheitsproblem
Je allgemeiner ein Schema ist, auf desto mehr Projekte ist es anwendbar - aber desto weniger Information ist in ihm enthalten. Je konkreter/detaillierter ein Schema ist, desto festgelegter ist es und auf desto weniger Projekte ist es anzuwenden.
- Das Modell ist nur auf einfache Projekte anwendbar
- Unflexibel gegenüber Änderungen und im Vorgehen (Phasen müssen sequenziell abgearbeitet werden)
- Frühes Festschreiben der Anforderungen ist sehr problematisch → eventuell teure Änderungen (mehrmals wiederholtes Durchlaufen des Prozesses bei Änderungen)
- Einführung des Systems sehr spät nach Beginn des Entwicklungszyklus → später return on investment
- Fehler werden unter Umständen erst spät erkannt und müssen mit erheblichem Aufwand entfernt werden