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
Grundidee
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
Schema + Grundidee
einer konstruktiven Phase (z.B. Anforderungsdefinition, Systemspezifikation, Modulentwurf) mit überwiegend konstruktiven Aktivitäten steht eine prüfende Phase (z.B. Systemtest, Modultest) gegenüber
Fehler können am besten auf dem Abstraktionsniveau gefunden werden, auf dem sie begangen worden sind; d.h. dass in einer prüfenden Phase nur diejenigen Fehler gesucht werden, die in der zugeordneten konstruktiven Phase mit dem gleichen Abstraktionsniveau begangen worden sind
durch entsprechende Prüfaktivitäten am Ende einer konstruktiven Phase soll verhindert werden, dass die Verweilzeit eines Fehlers zu groß wird!
Verifikation und Validierung
klare Struktur
Starre Struktur
Fokus und Tests
Längerer Entwicklungszyklus
Dokumentation
Vorgehensmodelle
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.
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