Software-Lebenszyklus
# Software-Lebenszyklus

Ein Software-Lebenszyklus beschreibt den Prozess der Softwareentwicklung mit dem Ziel der Bereitstellung einer Software für den Kunden. In der Regel beginnt der Zyklus mit einer kundenseitigen Problemstellung und deren Analyse und endet auf der Kundenseite durch die Ablösung der Software durch einen Nachfolger.

Ein Software-Lebenszyklus kann je nach verwendetem Vorgehensmodell die Phasen „Planung“, „Analyse“, „Design“, „Entwicklung“, „Testen“, „Ausliefern“ oder andere Phasen umfassen. Es gibt streng sequentiell ablaufende Vorgehensmodelle wie das Wasserfall-Modell und neuere wie das Spiralmodell.

Der Zyklus beginnt mit der Entstehung eines softwaretechnisch zu lösenden Problems beispielsweise durch eine Kundenanfrage. Dieses Problem wird analysiert und die umzusetzende Software geplant. Anschließend folgt die Umsetzung der geplanten Software in Code (Implementierung).

Nach den Phasen der Implementierung und des Testens folgt der produktive Einsatz der Software, in der auch Wartungsarbeiten vorgenommen werden. Unter Wartung versteht man sowohl das Beheben von Fehlern, als auch das Anpassen des Systems an eine veränderte Umgebung oder die Erweiterung durch weitere Funktionen. In jedem Fall unterliegt die Software einer Softwarealterung.

Ein Software-Lebenszyklus endet aus Kundensicht schließlich durch die Ablösung des Systems durch ein Nachfolgeprodukt. Aus Herstellersicht endet der Zyklus mit dem Einstellen des Supports und/oder der Abkündigung des Softwareprodukts.

Fast alle Phasen im Software-Lebenszyklus, einschließlich des Endes der Softwarewartung, können geplant werden.

## Abgrenzung zum Produktlebenszyklus

Der Begriff Produktlebenszyklus umfasst den Zeitablauf zwischen Markteinführung und Herausnahme eines Produkts aus dem Markt.

