Rein sequentielle Modelle - bei denen eine Phase nach der anderen abgearbeitet wird - sind in der Praxis nicht umsetzbar! Die eingesetzten Wasserfallmodelle sehen Rückkopplungen und Schleifen bei der Abarbeitung vor (iterative Wasserfallmodelle).
Grundidee:
Das gesamte Entwicklungsprojekt wird in Phasen gegliedert.
Alle vorhergesehenen Aktivitäten einer Phase werden vollständig (für alle Requirements und Codebestandteile) durchlaufen, bevor die nächste Phase begonnen wird – Anm.: So nur beim Wasserfall. Es kann auch eine Überlappung geben!
Am Ende einer Phase ist eine Menge von festgelegten Ergebnissen erarbeitet worden.
Eine Anwenderbeteiligung ist nur in den Rand-Phasen vorgesehen
“Prominente” Phasenmodelle sind das Wasserfallmodell oder das V-Modell
PRO / CONTRA
Pro
Contra
systematische mit Meilensteinen (Phasenende) versehene Vorgehensweise zur Softwareentwicklung
Eigentlich unrealistisch… Iterationen sind notwendig, um Probleme und Anforderungsänderungen zu berücksichtigen
hoher Bekanntheitsgrad
Endergebnisse werden sehr spät für den Auftraggeber nutzbar (in der Vergangenheit oft gar nicht)
vergleichsweise einfache Struktur
wenig Anwender- / Kundenbeteiligung
kein Prototyping, erschwertes Risikomanagement
Pro:
Klare Struktur
Fokus auf Tests
Dokumentation
Contra:
Starre Struktur
Längerer Entwicklungszyklus:
Iterative Entwicklung:
Verwenden Sie iterative Entwicklungszyklen, um schrittweise Verbesserungen vorzunehmen.
Nutzen Sie regelmäßige Überprüfungen, um das Produkt zu evaluieren und auf Basis des Feedbacks Anpassungen vorzunehmen.
Inkrementelle Entwicklung:
Teilen Sie das Softwareprodukt in kleinere, handhabbare Teile (Inkremente) auf.
Implementieren und liefern Sie sukzessive einzelne Funktionalitäten oder Module in aufeinanderfolgenden Entwicklungszyklen.
Ein Vorgehensmodell umfasst Vorgehensrichtlinien im Sinne eines Leitfadens für die Softwareentwicklung.
Synonyme: Prozessmodelle, Software Life Cycle Models
Charakteristika:
Untergliederung der Softwareentwicklung in einzelne Aktivitäten
Benennung der Ergebnisse der Aktivitäten
Festlegung von Verantwortlichkeiten und Rollen
Vorgehensmodelle
Wer bzw. welche Rolle übernimmt wann welche Tätigkeiten?
Es ist wichtig zu beachten, dass die genauen Rollen und Verantwortlichkeiten je nach dem spezifischen Vorgehensmodell variieren können.
Systemanalyse:
Business-Analyst: Anforderungsspezifikation erstellen.
Systemdesign:
Systemarchitekt: Entwirft die Systemarchitektur.
Systemdesigner: Entwickelt detaillierte technische Spezifikationen.
Implementierung:
Programmierer: Schreibt den Code basierend auf den Spezifikationen.
Test:
Tester: Führt Tests durch, um sicherzustellen, dass die Anforderungen erfüllt sind.
Wartung:
Wartungspersonal: Überwacht und pflegt das System.
Vorgehensmodelle V-Modell:
Business-Analyst: Anforderungsspezifikation erstellen
Systemarchitekt: Entwirft die Systemarchitektur
Systemdesigner: Entwickelt detaillierte technische Spezifikationen
Programmierer: Schreibt den Code basierend auf den Spezifikationen
Tester: Führt Tests durch, mit klaren Testphasen, die den jeweiligen Entwicklungsphasen entsprechen
Wartungspersonal: Überwacht und pflegt das System
Vorgehensmodelle Agile Modelle (z. B. Scrum):
Planung:
Product Owner: Definiert Produktanforderungen.
Scrum Master: Unterstützt das Entwicklungsteam, entfernt Hindernisse.
Entwicklungsteam: Schätzt und plant Aufgaben.
Umsetzung:
Entwicklungsteam: Entwickelt in Sprints, hält tägliche Stand-up-Meetings ab.
Überprüfung:
Product Owner: Überprüft die entwickelten Funktionen und gibt Feedback.
Rückmeldung:
Entwicklungsteam: Reagiert auf das Feedback, passt Pläne an.
Vorgehensmodelle Phasenmodelle
• Das gesamte Entwicklungsprojekt wird in Phasen gegliedert.
• Alle vorhergesehenen Aktivitäten einer Phase werden vollständig (für alle Requirements und Codebestandteile) durchlaufen, bevor die nächste Phase begonnen wird – Anm.: So nur beim Wasserfall. Es kann auch eine Überlappung geben!
• Am Ende einer Phase ist eine Menge von festgelegten Ergebnissen erarbeitet worden.
• Eine Anwenderbeteiligung ist nur in den Rand-Phasen vorgesehen.
• ‚Prominente‘ Phasenmodelle sind das Wasserfallmodell oder das V-Modell
Wie kann vermieden werden, dass das ursprüngliche Ziel der frühen Phasen in den späteren Phasen in Vergessenheit gerät?
Um sicherzustellen, dass das ursprüngliche Ziel der frühen Phasen eines Projekts nicht in den späteren Phasen in Vergessenheit gerät, können verschiedene Maßnahmen ergriffen werden:
Klare Zieldefinition,
Dokumentation,
Regelmäßige Überprüfungen,
Klare Kommunikation,
Rückmeldung einholen,
Anpassungsfähigkeit,
Verantwortlichkeiten klären,
Durchgängige Schulung.
Wie kann festgestellt werden, wann mit Ergebnissen gerechnet werden kann?
Projektplanung, Klare Anforderungen, Risikomanagement, Fortlaufende Kommunikation, Historische Daten, Review-Meetings
Auf welche Frage mann muss antworten bei Verifikation in Vorgehensmodelle V-Modell?
Auf welche Frage mann muss antworten bei Validierung in Vorgehensmodelle V-Modell?
Verifikationsaktivitäten
„Habe ich das Produkt richtig entwickelt?“
Prüfungen und Bewertungen eines Softwareproduktes oder Entwurfsergebnisses am Ende einer Phase, um die Übereinstimmung mit Produkten bzw. Ergebnissen der vorangegangenen Phase nachzuweisen.
Prüfungen und Bewertungen eines Softwareproduktes am Ende des Entwicklungsprozesses, um die Übereinstimmung der Produktanforderungen mit dem Produkt nachzuweisen.
Wenn ein Softwareprodukt zu umfangreich ist, um es in einem einzigen Schritt umzusetzen, ist dies ein Szenario, in dem inkrementelle und iterative Ansätze oft effektiv sind.
Dieser Ansatz ermöglicht es, frühzeitig Teilergebnisse zu liefern, kontinuierliches Feedback zu erhalten und das Produkt schrittweise zu verbessern. Es erleichtert auch die Anpassung an sich ändernde Anforderungen oder neue Erkenntnisse während des Entwicklungsprozesses.
Zuletzt geändertvor einem Jahr