SDLC - Wasserfallmodell

Das Waterfall-Modell ist ein klassisches SDLC-Modell, das weithin bekannt ist, verstanden und allgemein verwendet wird. Es wurde 1970 von Royce eingeführt und wird in verschiedenen Organisationen der Branche immer noch als gemeinsamer Ansatz für die Softwareentwicklung verfolgt.

Im Wasserfallmodell kann jede Lebenszyklusphase erst nach Abschluss der früheren Lebenszyklusphase gestartet werden. Somit ist es ein lineares Modell ohne Rückkopplungsschleifen.

Wasserfall-Lebenszyklus

Wasserfallmodell - Stärken

Die Stärken des Wasserfallmodells sind:

  • Einfach zu verstehen, einfach zu bedienen.
  • Bietet dem unerfahrenen Entwicklungsteam Struktur.
  • Meilensteine sind gut verstanden.
  • Legt die Anforderungsstabilität fest.
  • Ideal für die Management-Kontrolle (Planung, Überwachung, Berichterstattung).
  • Funktioniert gut, wenn Qualität wichtiger ist als Kosten oder Zeitplan.

Wasserfallmodell - Schwächen

Die Schwächen oder Nachteile des Waterfall-Modells sind:

  • Idealisiert - Es passt nicht gut zur Realität.

  • Unrealistisch - kann keine genauen Anforderungen zu Beginn des Projekts erwarten.

  • Spiegelt nicht den häufigeren iterativen Charakter der explorativen Entwicklung wider.

  • Änderungen sind schwierig und teuer.

  • Die Software wird erst am Ende des Projekts geliefert. Aus diesem Grund -

    • Verzögert die Entdeckung schwerwiegender Mängel.

    • Möglichkeit der Lieferung von veralteten Anforderungen.

  • Erheblicher Verwaltungsaufwand, der für kleine Teams und Projekte kostspielig sein kann.

  • Benötigt in jeder Phase erfahrene Ressourcen - Analysten, Designer, Entwickler, Tester.

  • Das Testen beginnt erst, nachdem die Entwicklung abgeschlossen ist und die Tester an keiner der früheren Phasen beteiligt sind.

  • Die Expertise der funktionsübergreifenden Teams wird nicht geteilt, da jede Phase in Silos ausgeführt wird.

Wann wird das Wasserfallmodell verwendet?

Sie können das Wasserfallmodell verwenden, wenn -

  • Anforderungen sind sehr bekannt.

  • Die Produktdefinition ist stabil.

  • Technologie ist gut verstanden.

  • Neue Version eines vorhandenen Produkts.

  • Portierung eines vorhandenen Produkts auf eine neue Plattform.

  • Große Organisation mit strukturierten funktionsübergreifenden Teams.

  • Die Kommunikationskanäle sind sowohl innerhalb der Organisation als 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 eine Korrektur des Prototyps oder eine zusätzliche Funktionalität sein. Basierend auf dem Feedback verfeinern die Entwickler den Prototyp weiter.

So entsteht das Produkt aus den Prototypen → Rückmeldungen → Verfeinerten Prototypenzyklen und daher der Name Evolutionary 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.

Endgültige Produktlieferung

Evolutionäres Prototyping-Modell - Stärken

Die Stärken oder Vorteile eines Evolutionary Prototyping-Modells sind:

  • Kunden / Endbenutzer können die Systemanforderungen anhand des Prototyps visualisieren.

  • Entwickler lernen von Kunden und damit keine Unklarheiten in Bezug auf Domäne oder Produktionsumgebung.

  • Ermöglicht flexibles Design und Entwicklung.

  • Die Interaktion mit dem Prototyp regt das Bewusstsein für zusätzlich benötigte Funktionalität an.

  • Unerwartete Anforderungen und Änderungen der Anforderungen 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:

  • Tendenz, die strukturierte Entwicklung in der Code-and-Fix-Entwicklung aufzugeben, obwohl dies vom Modell nicht vorgeschrieben wird.

  • Dieses Modell erhielt einen schlechten Ruf für die Quick-and-Dirty-Methoden.

  • Die allgemeine Wartbarkeit kann möglicherweise übersehen werden.

  • Der Kunde kann möglicherweise die Lieferung des Prototyps als endgültiges Produkt verlangen, ohne den Entwicklern die Möglichkeit zu geben, den letzten Schritt, dh die Standardisierung des Endprodukts, durchzuführen.

  • Das Projekt kann für immer fortgesetzt werden (mit kontinuierlichem Umfangschleichen) und das Management schätzt es möglicherweise nicht.

Wann ist das evolutionäre Prototyping-Modell zu verwenden?

Sie können das Evolutionary Prototyping-Modell verwenden -

  • Wenn Anforderungen instabil sind oder geklärt werden müssen
  • Als Anforderungsklärungsstufe eines Wasserfallmodells
  • Entwicklung von Benutzeroberflächen
  • Für kurzlebige Demonstrationen
  • Für Neu- oder Originalentwicklung
  • Zur Implementierung einer neuen Technologie