Vorgehensmodelle in der
Softwareentwicklung

Wasserfallmodell, V-Modell, Spiralmodell

Theorie und Praxis …

Quelle: memecenter.com

Vorgehensmodelle in der Softwareentwicklung


  • Wasserfall-Modell
  • V-Modell
  • Spiral-Modell

Der “Oldie”: Das Wasserfall-Modell

Skógafoss in Island

Quelle: GettyImages / dertour.de

Das Wasserfall-Modell grafisch

Quelle: it-lernapp.de

Wasserfall-Modell: Phasenbeschreibung

Phase
1. Anforderungs-
analyse
2. Entwurf
 
3. Implementierung
4. Test
5. Einführung
 
6. Wartung
 
Beschreibung
Anforderungen sammeln
Systemarchitektur festlegen
Programmierung
Qualitätssicherung
Deployment beim Kunden
Fehlerbehebung, Update
Ergebnis
Lastenheft
 
Pflichtenheft, Architektur
Quellcode
Testberichte
Produktivsystem
 
Patches, neue Versionen

Wasserfall-Modell: Geschichte, Einsatz

  • Bereits 1956 von Herbert D. Benington beschrieben
  • Vortrag 1983 neu aufgelegt
  • Beschreibung 1970 von Winston W. Royce
    (ohne Bezeichnung Wasserfall)
  • Begriff “Wasserfallmodell” später von Barry Boehm geprägt
  • Geeignet für Projekte mit stabilen, klar definierten Anforderungen und regulatorischen Vorgaben
  • Beispiele: Medizintechnik, Pharmazie, Maschinenbau

Wasserfall-Modell: Vorteile

  • Phasen klar abgegrenzt
  • Einfache Möglichkeiten der Planung und Kontrolle
  • Kosten und Umfang klar abschätzbar
  • ACHTUNG: Wenn Anforderungen stabil bleiben!

Gescheitertes Wasserfall-Projekt: FBI

  • Geheimdienst FBI: United States Federal Bureau of Investigation
  • Projekt: Virtual Case File (VCF), 2000 - 2005,
    sollte völlig veraltetes Fallmanagement-System ersetzen
  • Kosten: ca. 170 Millionen US-Dollar
  • Ergebnis: Projekt abgebrochen, nicht nutzbar

Gründe

  • Wiederholte Veränderungen und Erweiterungen der Anforderungen
  • Versuch einer plötzlichen, vollständigen Systemumschaltung ohne Übergangsphase
  • Zu starres Projektmanagement; mangelhafte Kommunikation
  • Klassisches Wasserfall-Problem!

Wasserfall-Modell: Nachteile

  • Klare Abgrenzung der Phasen in komplexen Projekten oft unrealistisch
  • Fehler werden oft erst am Ende erkannt
  • Geringe Flexibilität durch strikten Ablauf

Wasserfall-Modell: Frage

Was sind die Phasen des klassischen Wasserfallmodells in der Softwareentwicklung?

A Sprint Planning, Daily Standup, Sprint Review und Retrospektive - iterativ in Zyklen
B Inception, Elaboration, Construction, Transition - inkrementell mit Meilensteinen
C Analyse, Design, Implementierung, Test, Wartung - sequentiell ohne Rücksprünge
D Idee, Prototyp, Markteinführung und Skalierung - phasenweise mit Feedback-Schleifen

Richtig ist C.

Wasserfallmodell: Lineare Phasen; jede abgeschlossen, bevor nächste beginnt.
Vorteile: Klare Struktur, Dokumentation.
Nachteile: Unflexibel bei Änderungen, Fehler spät erkannt. Heute oft durch agile Methoden ersetzt.

Das V-Modell

Quelle: alphaprogression.com

Das V-Modell grafisch

Das V-Modell erweitert das Wasserfall-Modell um eine Teststrategie:
Jeder Entwicklungsphase steht eine Testphase gegenüber.

Testphase:

Validierung Verifikation






Quelle: iapm.net

V-Modell: Geschichte, Einsatz

  • Vorgeschlagen von Barry Boehm 1979
  • Erweiterung des Wasserfall-Modells
  • Verwendung auch bei der Entwicklung
    mechatronischer Systeme
  • Geeignet für sicherheitskritische Systeme mit klaren, stabilen Anforderungen, hohem Dokumentationsbedarf und verpflichtenden Prüf- und Abnahmeprozessen
  • Beispiele: Zugleitsystem, medizinisches Diagnosesystem

V-Modell: Vorteile

  • Klare Struktur, definierter Ablauf
  • Klare Zuordnung von Anforderungen und Tests
  • Gute Fehlererkennung durch Testphasen
  • Gute Nachvollziehbarkeit und Dokumentation

Problematisches V-Modell: Bundeswehr

  • HERKULES-Projekt zur Standardisierung und Modernisierung der IT
  • Laufzeit 2006 - 2016; Kosten: über 7 Milliarden Euro
  • Ergebnis: Systeme z. T. nicht nutzbar; z. T. technisch korrekt, aber sinnlos;
    z. T. vor der Abnahme schon veraltet
  • Projekt umgebaut, neu verhandelt; als “teilweise erfolgreich” deklariert

Gründe

  • Starre Anforderungen: tausende Seiten, während sich IT-Landschaft schnell veränderte (Smartphones, Cloud, Cyber-Bedrohungen)
  • Späte Tests; Probleme erst am Ende sichtbar
  • Dokumentationslast: “Papier statt Produkt”
  • Geringe Flexibilität; V-Modell schwierig bei riesigen Projekten

V-Modell: Nachteile

  • Hoher Aufwand für Dokumentation
  • Hohe Abhängigkeit von Testaktivitäten
  • Geringe Flexibilität durch fest vorgegebene Phasen
  • Annahme: Alle Anforderungen von Anfang an vollständig und korrekt erfasst
    In der Praxis oft nicht der Fall!
  • Mehr Flexibilität durch wiederholte Durchläufe
    (“Mini-Vs”)? Enorm aufwändig

V-Modell: Frage

Im V-Modell steht jeder Entwicklungsphase auf der linken Seite eine entsprechende Testphase auf der rechten Seite gegenüber. Welche Testphase korrespondiert mit der Phase Architektur?

A Abnahmetest
B Komponententest
C Integrationstest
D Systemtest

Richtig ist C.
Der Architektur ist der Integrationstest zugeordnet.
Arbeiten die Module zusammen?
Funktioniert der Datenaustausch zwischen den Komponenten?

Verifikation vs. Validierung

Begriff
Verifikation
 
Validierung
 
Frage
Bauen wir das Produkt richtig?
Bauen wir das richtige Produkt?
Beispiel
Code-Review, Unit-Test
Abnahmetest
mit Kunde

Das Spiral-Modell

Rekonstruierter Riesen-Ammonit

Quelle: bio-schmidhol.ch

Spiral-Modell: Grundidee

1986 von Barry Boehm beschrieben

Iterativ-inkrementelles Modell

  • Iterativ: Produkt wird in mehreren Durchläufen verbessert
  • Inkrementell: Produkt wird in Teilen (=Inkrementen) geliefert

Spiral-Modell: Phasenbeschreibung

Kombination aus iterativem Vorgehen und Risiko-Analyse

Schritt
1. Ziele festlegen
 
2. Risiken analysieren
 
3. Entwicklung
 
4. Bewertung
Beschreibung
Was soll diese Iteration erreichen?
Welche Risiken gibt es? Prototypen bauen
Implementierung dieser Iteration inkl. Tests
Review mit Stakeholdern
Planung nächste Iteration

Spiral-Modell grafisch









Quelle: simpleclub.com / eigene Bearbeitung

Spiral-Modell: Vorteile

  • Gute Kontrolle über Kosten, Ressourcen, Qualität,
    v. a. durch zentralen Stellenwert der Risikoanalyse
  • Gute Abstimmung zwischen Design und technischen Anforderungen
  • Frühe, fortlaufende Einbindung von Auftraggebern und Anwendern
  • Geeignet für neuartige technische Umgebungen,
    wenn Erfahrungswerte fehlen;
    Projekte mit hohen technischen Risiken; unklare Anforderungen; wenn Prototypen benötigt werden
  • Beispiele: Autonomes Fahrassistenzsystem;
    Satelliten-Kommunikationssoftware

Gescheitertes Softwareprojekt:
US-Luftfahrtbehörde

  • US-Luftfahrtbehörde FAA (Federal Aviation Administration) wollte
    AAS = Advanced Automation System entwickeln
  • Laufzeit 1981 - 1994; Kosten > 2,6 Milliarden US-Dollar
  • Ergebnis: Abbruch; stattdessen inkrementell gesteuerte Teilprojekte

Gründe

  • Nicht als Spiralmodell konzipiert, aber z. T. so gehandhabt
  • Ständige Änderungen an Anforderungen: Endlosschleife (Loop of Death)
  • Meilensteine ignoriert, Tests aufgeschoben
  • Unrealistische Verfügbarkeit (< 3s Ausfallzeit/Jahr);
    Risikomanagement hätte das früh entschärfen müssen

Spiral-Modell: Nachteile

  • Hoher Management-Aufwand
  • Viele Entscheidungen erforderlich -> Verzögerungen
  • Setzt Wissen über Risikoanalyse und Risikomanagement voraus;
    in der Praxis oft begrenzt!
  • Ungeeignet für kleinere Projekte mit geringem Risiko

Spiral-Modell:
Problematische Darstellung (1)

  • Wo beginnt die Spirale?
  • Welcher Schritt ist der zweite?
  • Wo endet die Spirale?

Spiral-Modell:
Problematische Darstellung (2)

  • In welcher Reihenfolge sind die Quadranten angeordnet?
  • Was ist die erste, zweite und dritte Phase zu Beginn (innen)?
  • In welcher Richtung verläuft die Spirale
    (-> Uhr)?

Vergleich der drei Modelle


Modell
Wasserfall
V-Modell
 
Spiralmodell
 
Geeignet für?
Stabile Anforderungen
Sicherheitskritische Systeme
Große, risikoreiche Projekte
Flexibilität
Gering
Gering
 
Mittel
Risiko
Hoch bei Änderungen
Mittel (frühe Tests)
 
Gering (Risikoanalyse)

Gruppenarbeit

Vergleichen Sie die Vorgehensmodelle
Wasserfallmodell, V-Modell, Spiralmodell.

Nennen Sie für jedes Modell:

  • 2 Vorteile
  • 2 Nachteile und
  • ein geeignetes Projektszenario.

V-Modell, detaillierter

Planung und Spezifikation Implementierung Verifizierung, Validierung




Quelle: johner-institut.de

Spiral-Modell, detaillierter











Quelle: scnsoft.de

Ausblick

Oft mehr Flexibilität benötigt: Agile Methoden

  • Scrum
  • Kanban
  • Extreme Programming (XP)

Iterativ, inkrementell, in kurzen Zyklen

Viel Eigenverantwortung für die Teams

Frage zu Wasserfallmodell (1)

In welcher Situation ist das Wasserfallmodell gegenüber agilem Vorgehen besonders geeignet?

A Bei innovativen Projekten mit häufig wechselnden Anforderungen und hoher Unsicherheit
B Bei Projekten mit stabilen, klar definierten Anforderungen und regulatorischen Vorgaben
C Bei Start-up-Projekten, die keine feste Deadline und kein fixes Budget haben
D Bei Projekten mit hoher Unsicherheit und noch nicht klar definierten Zielen

Richtig ist B.

Das Wasserfallmodell eignet sich besonders für Projekte mit stabilen Anforderungen, z. B. in regulierten Branchen (Medizintechnik, Luftfahrt). Dort müssen alle Anforderungen vorab dokumentiert und genehmigt werden. Bei häufig wechselnden Anforderungen sind agile Methoden besser geeignet.

Frage zu Wasserfallmodell (2)

Welcher grundlegende Unterschied besteht zwischen dem Wasserfallmodell und agilen Vorgehensweisen?

A Agile Methoden erfordern keinerlei Dokumentation, das Wasserfallmodell hingegen schon
B Das Wasserfallmodell ist grundsätzlich schneller als agile Methoden
C Das Wasserfallmodell wird nur für kleine Projekte eingesetzt, agile nur für große
D Das Wasserfallmodell durchläuft die Phasen sequenziell und linear, während agile Methoden iterativ und inkrementell in kurzen Zyklen arbeiten

Richtig ist D. Hohe Prüfungswahrscheinlichkeit!

Wasserfallmodell: Phasen (Anforderungen, Entwurf, Implementierung, Test, Betrieb) werden strikt nacheinander durchlaufen. Rückschritte aufwändig. Agile Methoden arbeiten in kurzen Iterationen (z. B. Sprints), liefern regelmäßig lauffähige Software-Inkremente. Dadurch frühes Feedback und flexible Anpassungen an geänderte Anforderungen.

Frage V-Modell vs. Wasserfallmodell

Worin liegt der Vorteil des V-Modells gegenüber dem Wasserfallmodell?

Zu jeder Entwicklungsphase wird gleichzeitig der passende Testfall definiert — Fehler werden systematischer und früher erkannt.

Es ist in Behörden und regulierten Branchen verbreitet.

Vielen Dank!

Viel Erfolg bei allem!

Zurück zur Übersicht LF5