
Das sogenannte klassische Software-Lebenszyklus-Modell hebt die notwendigen Schritte bei der Software-Entwicklung und ihre prinzipielle Reihenfolge hervor:
Prozesse Phasen Teilphasen
--------------------------------------------------------------
Entwicklung Analysieren
Entwerfen Fachlich-logisches Entwerfen
Programmtechnisches Entwerfen
Implementieren
Testen
Fertigstellen Bereitstellen
Erproben
--------------------------------------------------------------
Anwendung Einführen
Betreiben
Warten
--------------------------------------------------------------
Eine oft verwendete Veranschaulichung für das klassische
Software-Lebenszyklus-Modell ist das Wasserfall-Modell:

Die Qualität des Software-Produkts wird wesentlich durch die frühen Phasen bestimmt, deren Bedeutung häufig unterschätzt wird.
Siehe auch: Aufwand im Software-Lebenszyklus
Das klassische Software-Lebenszyklus-Modell weist eine Reihe von Mängeln auf:

Hier ein anderes "modernes" Modell, daß auf die Bedeutung der Dokumentation der Entwicklungsprozesse über den gesamten Lebenszyklus hinweg hinweist:

Das nachfolgende Modell hebt einen anderen Aspekt hervor:
Software als Gegenstand und Hilfsmittel der Modellierung:

Im Zusammenhang mit der Entwicklung und Nutzung von Software werden oft die sogenannten Murphy'schen Gesetze zitiert: