Das „Vorgehensmodell“ Quellen: Wikipedia, Uni Hamburg, Uni Paderborn
Vorteile Vorgehensmodell - Verbessert Übersichtlichkeit des Gesamtprojektes - Geben einen Rahmen vor, in dem ein Projekt geordnet ablaufen kann - Hilft dabei, den Ablauf eines Projektes zu strukturieren.
Nachteile Vorgehensmodell - Es existierten mehrere Vorschläge parallel zueinander - Vorgehensmodelle sind ein Geschäft, daher berät der Entwickler eines Vorgehensmodells in seinem Interesse.
Das „Wasserfallmodell“ Quellen: Wikipedia, Uni Hamburg, Uni Paderborn
Eigenschaften Einzelne „Phasen“ werden strikt sequentiell abgearbeitet Ergebnisse werden nicht / nur beschränkt in frühere Phasen eingebunden Jede Phase wird dokumentiert.
Grafische Darstellung der einzelnen Phasen
Vereinfachte Gliederung des Wasserfallmodells Anforderungen Design Implementierung Tests Betrieb/Wartung
Die Kosten des Wasserfall-Modells
Phase 1 Anforderungen • Folgende Anforderungen werden an die Spezifikation gestellt: – Komplett – Widerspruchsfrei – Eindeutig • Die Spezifikation dient als einheitliche Basis für alle Beteiligten • Beschreibung der Funktionsweise (nicht deren Realisierung) • Die exakte Formulierung der Anforderungen ist entscheidend für die späteren Phasen.
Phase 2 Design Vorbedingung: Phase 1 • Mehrere Vorschläge sind möglich • Abwägung zwischen Kosten / Nutzen bei der Wahl der Hard- und Software Komponenten
Schwierigkeiten beim Design: – Grosse Anzahl verschiedener Hardwarekomponenten (CPU, Peripherie) – Wahlmöglichkeit der Software (Programmiersprache, benutzte Software) – Mit dem Verlauf der Zeit steigende Wahl- und Kombinationsmöglichkeiten
Phase 3 Implementierung Eine Implementierung sollte folgendermaßen aussehen: • Hierarchischer Aufbau • Block orientierter Code • Codeformatierung („style handbooks“) • Limitierte Modulgröße • „gute Programmiersprache“
Phase 4 Tests Software Zuverlässigkeit 2. Fehlerhafte Daten Fehler können eingeteilt werden in: - Kleinere Fehler („minor bugs“) - Ernsthafte Fehler („major bugs“) 3. Automatisierte Hilfe • Erneutes Testen • Integration von Test-Routinen • Statische Code Analyse („comipler“)
Phase 5 Betrieb & Wartung In dieser Phase werden folgende Abläufe vereinigt: Verstehen der Software (Dokumentation) 2. Modifizieren der Software (setzt voraus das die Hardware / Software anpassungsfähig ist
Vor- und Nachteile CONTRA • Sehr starre Entwicklung PRO • Problem bei notwendigen Änderungen in höheren Phasen • Teilweise wird kompletter Neuanfang Notwendig Unpraktikabel für große Projekte PRO • Zielstrebige Projektentwicklung wird bevorzugt • Meilensteine lassen Fortschritt der Softwareentwicklung erkennen (Abschluss einer Phase)
Fragen Warum muss man die einzelnen Phasen der Reihe nach durcharbeiten? Warum ist es wichtig eine „gute“ Programmiersprache wählen?