SDLC - Wasserfallmodell
Das Wasserfallmodell ist ein klassisches SDLC-Modell, das weithin bekannt, verstanden und allgemein verwendet wird. Es wurde 1970 von Royce eingeführt und wird immer noch als allgemeiner Ansatz für die Softwareentwicklung in verschiedenen Organisationen der Branche verfolgt.
Im Wasserfallmodell kann jede Lebenszyklusphase erst beginnen, nachdem die frühere Lebenszyklusphase abgeschlossen ist. Somit ist es ein lineares Modell ohne Rückkopplungsschleifen.
Wasserfallmodell - Stärken
Die Stärken des Wasserfallmodells sind -
- Einfach zu verstehen, einfach zu bedienen.
- Bietet Struktur für unerfahrenes Entwicklungsteam.
- Meilensteine sind gut verstanden.
- Legt die Anforderungsstabilität fest.
- Ideal für die Managementkontrolle (Planung, Überwachung, Berichterstattung).
- Funktioniert gut, wenn Qualität wichtiger ist als Kosten oder Zeitplan.
Wasserfallmodell - Schwächen
Die Schwächen oder Nachteile des Wasserfallmodells sind -
Idealisiert - Es passt nicht gut zur Realität.
Unrealistisch - kann zu Beginn des Projekts keine genauen Anforderungen erwarten.
Spiegelt nicht den iterativen Charakter der explorativen Entwicklung wider, der häufiger vorkommt.
Es ist schwierig und teuer, Änderungen vorzunehmen.
Software wird erst am Ende des Projekts geliefert. Aus diesem Grund -
Verzögert die Entdeckung schwerwiegender Mängel.
Möglichkeit der Lieferung veralteter Anforderungen.
Erheblicher Verwaltungsaufwand, der für kleine Teams und Projekte kostspielig sein kann.
Benötigt erfahrene Ressourcen in jeder Phase - Analysten, Designer, Entwickler, Tester.
Das Testen beginnt erst, nachdem die Entwicklung abgeschlossen ist und die Tester an keiner der früheren Phasen beteiligt sind.
Das Fachwissen der funktionsübergreifenden Teams wird nicht geteilt, da jede Phase in Silos ausgeführt wird.
Wann soll das Wasserfallmodell verwendet werden?
Sie können das Wasserfallmodell verwenden, wenn -
Anforderungen sind sehr bekannt.
Die Produktdefinition ist stabil.
Technologie ist gut verstanden.
Neue Version eines vorhandenen Produkts.
Portieren eines vorhandenen Produkts auf eine neue Plattform.
Große Organisation mit strukturierten funktionsübergreifenden Teams.
Kommunikationskanäle sind innerhalb der Organisation und auch mit dem Kunden gut etabliert.
Evolutionäres Prototyping-Modell
Bei der Softwareentwicklung mit dem Evolutionary Prototyping-Modell erstellen die Entwickler während der Anforderungsphase einen Prototyp. Die Endbenutzer bewerten dann den Prototyp und geben Feedback. Das Feedback kann Korrekturen am Prototyp oder zusätzliche Funktionen sein. Basierend auf dem Feedback verfeinern die Entwickler den Prototyp weiter.
Somit entwickelt sich das Produkt durch den Prototyp → Feedback → Verfeinerte Prototypzyklen und daher den Namen Evolutionäres Prototyping. Wenn der Benutzer mit der Funktionalität und Funktionsweise des Produkts zufrieden ist, wird der Prototypcode auf die erforderlichen Standards für die endgültige Produktlieferung gebracht.
Evolutionäres Prototyping-Modell - Stärken
Die Stärken oder Vorteile eines Evolutionary Prototyping-Modells sind:
Kunden / Endbenutzer können die Systemanforderungen beim Sammeln des Prototyps visualisieren.
Entwickler lernen von Kunden und daher keine Unklarheiten in Bezug auf Domäne oder Produktionsumgebung.
Ermöglicht flexibles Design und Entwicklung.
Die Interaktion mit dem Prototyp fördert das Bewusstsein für zusätzlich benötigte Funktionen.
Unerwartete Anforderungen und Anforderungsänderungen können problemlos berücksichtigt werden.
Es entstehen stetige und sichtbare Zeichen des Fortschritts.
Lieferung eines genauen und wartbaren Endprodukts.
Evolutionäres Prototyping-Modell - Schwächen
Die Schwächen oder Nachteile des Evolutionary Prototyping-Modells sind wie folgt:
Tendenz, die strukturierte Entwicklung in der Code-and-Fix-Entwicklung aufzugeben, obwohl dies nicht das Modell ist.
Dieses Modell erhielt einen schlechten Ruf für die schnellen und schmutzigen Methoden.
Die allgemeine Wartbarkeit kann möglicherweise übersehen werden.
Der Kunde kann möglicherweise die Lieferung des Prototyps als endgültiges Produkt anfordern, ohne den Entwicklern die Möglichkeit zu geben, den letzten Schritt, dh die Standardisierung des Endprodukts, auszuführen.
Das Projekt kann für immer fortgesetzt werden (mit kontinuierlichem Umfangskriechen), und das Management wird es möglicherweise nicht zu schätzen wissen.
Wann sollte das evolutionäre Prototyping-Modell verwendet werden?
Sie können das Evolutionary Prototyping-Modell verwenden -
- Wenn Anforderungen instabil sind oder geklärt werden müssen
- Als Anforderungsklärungsstufe eines Wasserfallmodells
- Benutzeroberflächen entwickeln
- Für kurzlebige Demonstrationen
- Für neue oder originelle Entwicklung
- Zur Implementierung einer neuen Technologie