Das Wasserfallmodell ist ein linearer, sequentieller Ansatz für den Software Development Life Cycle (SDLC), der in der Softwareentwicklung und Produktentwicklung beliebt ist. Das Wasserfallmodell betont die Progression der Schritte. Ähnlich der Richtung, in der Wasser über den Rand einer Klippe fließt, werden für jede Entwicklungsphase unterschiedliche Endpunkte oder Ziele festgelegt und können nach Abschluss nicht mehr überprüft werden. Der Begriff wurde erstmals 1970 in einer Arbeit von Dr. Winston W eingeführt., Royce und weiterhin in Anwendungen des Industriedesigns verwendet werden.
Die Wasserfall-Methodik besteht aus sieben nicht überlappenden Phasen:
- Anforderungen: Potenzielle Anforderungen, Fristen Richtlinien für das Projekt werden analysiert und in eine funktionale Spezifikation eingefügt. Diese Phase behandelt die Definition und Planung des Projekts, ohne bestimmte Prozesse zu erwähnen.
- Analyse: Die Systemspezifikationen werden analysiert, um Produktmodelle zu generieren, und das Geschäft wird die Produktion leiten. Dies ist auch der Fall, wenn finanzielle und technische Ressourcen auf Machbarkeit geprüft werden.,
- Design: Ein Entwurfsspezifikationsdokument wird erstellt, um technische Designanforderungen wie Programmiersprache, Hardware, Datenquellen, Architektur und Dienstleistungen zu skizzieren.
- Codierung / Implementierung: Die Quelle, die unter Verwendung der Modelle entwickelt wurde, logische Anforderungen, die in den vorherigen Phasen festgelegt wurden. Typischerweise wird das System in kleineren Komponenten oder Einheiten ausgeführt, bevor es zusammen implementiert wird.
- Testing: Dies ist, wenn Qualitätssicherung, Unit, Beta-Tests stattfinden, um Probleme zu melden, die gelöst werden müssen. Dies kann zu einer erzwungenen Wiederholung der Codierungsstufe für das Debuggen führen., Wenn das System die Tests besteht, geht der Wasserfall weiter.
- Betrieb / Bereitstellung: Das Produkt oder die Anwendung gilt als voll funktionsfähig und wird in einer Live-Umgebung bereitgestellt.
- Wartung: Korrektive, adaptive und perfektionierende Wartung wird auf unbestimmte Zeit durchgeführt, um das Endprodukt zu verbessern, zu aktualisieren und zu verbessern. Dies könnte die Freigabe oder Freigabe neuer Versionen umfassen.,
Bevor Sie zur nächsten Phase übergehen, wird normalerweise überprüft und abgemeldet, um sicherzustellen, dass alle definierten Ziele erreicht wurden.
Der Wasserfall-Ansatz ist ideal für Projekte mit spezifischer Dokumentation, festen Anforderungen, reichlich Ressourcen und einer etablierten und gut verstandenen Technologie. Alternativen zum Wasserfall-Modell enthalten joint application development (JAD), RAD (rapid application development), sync-und-Stabilisierung, Agile project management (APM) und das spiral-Modell.,
Vorteile des Wasserfallmodells
Während agile oder dynamische Methoden häufig das Wasserfallmodell ersetzen, gibt es einige Vorteile:
- Im Vorfeld der Dokumentation und Planung können große oder große Teams informiert bleiben und sich einem gemeinsamen Ziel nähern.
- Kräfte, disziplinierte Organisation.
- Ist einfach zu verstehen, Aufgaben zu verfolgen und zu ordnen.
- Erleichtert die Abteilungs-und Managementkontrolle basierend auf Zeitplan oder Fristen.
- Verstärkt gute codierung gewohnheiten zu definieren vor design und dann code.,
- Ermöglicht frühe Design-oder Spezifikationsänderungen.
- definiert Meilensteine und Fristen klar.
Nachteile des Wasserfallmodells
Die Nachteile des Wasserfallmodells umfassen typischerweise Risiken, die mit einer fehlenden Revision verbunden sind, einschließlich:
- ist nicht adaptiv; Oft, wenn ein Fehler gefunden wird, muss der gesamte Prozess von vorne beginnen.
- Ignoriert das Potenzial, Benutzer-oder Kundenfeedback zur Prozessmitte zu erhalten und Änderungen basierend auf den Ergebnissen vorzunehmen.
- Verzögert das Testen bis zum Ende des Entwicklungslebenszyklus.,
- Berücksichtigt keine Fehlerkorrektur.
- Verarbeitet Anfragen nach Änderungen, Bereichsanpassungen oder Updates nicht gut.
- Reduziert die Effizienz, indem Prozesse sich nicht überlappen.
- Bis zu den späteren Phasen des Lebenszyklus ist kein Arbeitsprodukt verfügbar.
- Nicht ideal für komplexe, risikoreiche, laufende oder objektorientierte Projekte.