Vorgehensmodelle: Das klassiche Wasserfallmodell

in StemSocial4 months ago

Grundidee der Vorgehensmodelle

Vorgehensmodelle verfolgen das Ziel einer hierarchischen Gliederung der Gesamtaufgabe, die ein- oder mehrstufig sein kann. Vorgehensmodelle dienen zunächst der allgemeinen Ablaufmodellierung. Man möchte durch sie einen genaueren Überblick über das Gesamtprojekt gewinnen und die Plan- und Kontrollierbarkeit fördern. Letztlich dienen Vorgehensmodelle damit dem Zweck, Projekte einem sinnvollen Management zugänglich zu machen.

Im klassischen Wasserfallmodell werden die Phasen in einer linearen Abfolge durchlaufen. Rücksprünge und Iterationen sind nicht vorgesehen.
Ein Beispiel für ein einfaches Wasserfallmodell zeigt die folgende Abbildung:

wasserfall.png
Abbildung: Das klassische Wasserfallmodell

Im Vorgehensmodell "Wasserfall" können die einzelnen Phasen wie folgt interpretiert werden:

  • Analyse und Definition

In der Analyse und Definition werden die spezifischen Produktanforderungen ermittelt. Dazu ist im Allgemeinen zunächst eine Ist-Analyse zu erstellen, auf deren Basis dann eine Schwachstellenermittlung durchgeführt werden kann. Daran schließt sich eine Zieldefinition an, die schließlich zu einer Definition der Produktanforderungen führt.

Das Ergebnis der Phase ist die Produktdefinition, die auch als Anforderungsdefinition oder Pflichtenheft bezeichnet wird. Diese Produktdefinition kann im Falle einer Fremdvergabe der Erstellung als Vertragsbasis zwischen Auftraggeber und Auftragnehmer dienen. Sie schreibt den Leistungsumfang des Produkts fest und ist damit auch die Basis der Endabnahme. Die Produktdefinition enthält Angaben im Hinblick auf den Funktionsumfang, die Benutzungsoberfläche, die Schnittstellen zur Systemumgebung, das Leistungsverhalten des Systems, die vorgesehene Hardware und ggf. Systemsoftware, die Dokumentationsrichtlinien und die Terminplanung.

  • Entwurf

Im Entwurf wird auf der Basis der Produktdefinition die innere Struktur des Softwaresystems entwickelt. Dazu wird das Gesamtsystem schrittweise in Komponenten zerlegt. Das erste Zwischenergebnis des Entwurfs ist damit die Software-Architektur.
In einem zweiten Schritt erfolgt eine genauere Spezifikation der Aufgaben der Komponenten und ihres Zusammenwirkens. Es geht dabei allerdings noch nicht um programmtechnische Details, sondern um eine klare Definition der Komponenten. Das Leitthema ist die Bewältigung von Komplexität durch Zerlegung. Dies führt zur Entwurfsspezifikation, die die Software-Architektur verfeinert und konkretisiert.

  • Implementierung

Auf Basis der Softwarespezifikation erfolgt nun die Implementierung der Komponenten in einer Programmiersprache. Dabei sind jeweils die Methoden des Programmierens im Kleinen zu beachten. Zu nennen sind hier insbesondere Wohlstrukturiertheit, ein sauberer übersichtlicher Programmierstil und der solide Test der Komponenten. Das Ergebnis der Implementierung sollte damit eine Menge dokumentierter und getesteter Komponenten sein.

  • Test

Da in der Implementierung die einzelnen Komponenten bereits getestet wurden, richtet sich das Augenmerk nun auf die Integration der Komponenten und damit auf den Integrationstest, der im Allgemeinen sukzessive durchgeführt wird.
An den Integrationstest, der das Zusammenspiel der einzelnen Komponenten adressiert, schließt sich der Systemtest an, bei dem das System gegen die Produktdefinition getestet wird. Auf den Systemtest folgt die Installation des Systems im Produktionsumfeld und der Abnahmetest. Die Grenzen
zwischen System- und Abnahmetest sind dabei durchaus fließend.

  • Einsatz und Wartung

Nun folgen Einsatz und Wartung des Systems, die natürlich nicht mehr zum Entwicklungsprozess, aber doch zum Lebenszyklus einer Software zu rechnen sind. Im Hinblick auf die Wartung ist dabei ebenso an die Korrektur von Fehlern wie an die Anpassung an andere Systemumgebungen oder Änderungen und Erweiterungen der Funktionalität zu denken.

Quelle
Ruparelia, Nayan. (2010). Software development lifecycle models. ACM SIGSOFT Software Engineering Notes. 35. 8-13.
DOI: 10.1145/1764810.1764814

Sort:  

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider supporting our funding proposal, approving our witness (@stem.witness) or delegating to the @stemsocial account (for some ROI).

Please consider using the STEMsocial app app and including @stemsocial as a beneficiary to get a stronger support. 
 

Ach ja. Damals als die Dinge noch einfach waren. Heute gammelt man in Sprint Plannings und release trains herum :D

Congratulations @ozelot47! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You got more than 500 replies. Your next target is to reach 600 replies.

You can view your badges on your board And compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @hivebuzz:

Hive Power Up Day - Let's grow together!
The HiveBuzz Shop - New Items and Designs