Software-Lebenszyklus

Auch eine Software hat einen Lebenszyklus: Von der Idee über die Entwicklung, die Testphase bis zur Markteinführung, Updates und am Ende eventuell ihr Verschwinden. Hier erfahren Sie mehr darüber, welche Phasen ein Programm durchläuft und welche Modelle es gibt.

Software-Lebenszyklus

Der Software-Lebenszyklus (software lifecycle) beinhaltet alle Etappen von der Entwicklung und Konzeption einer Software bis hin zu ihrem Verschwinden. Das Ziel der Aufteilung in Phasen besteht darin, eine Validierung der Softwareentwicklung zu ermöglichen, also die Konformität des Programms mit den jeweiligen Bedürfnissen der Kunden, sowie die Verifikation des Entwicklungsprozesses, also die Angemessenheit der eingesetzten Methoden.

Fehler verursachen je mehr Kosten verursachen, desto später sie im Entwicklungsprozess entdeckt werden. Durch den Lebenszyklus lassen sich Fehler so früh wie möglich entdecken. Dadurch hat man einen besseren Einfluss auf die Qualität der Software, auf die Realisierungsfristen und die zugehörigen Kosten.

Der Software-Lebenszyklus umfasst in der Regel mindestens die folgenden Arbeitsschritte.

Zielsetzung: Das angestrebte Endprodukt wird festgelegt sowie dessen Stellung in einer globalen Strategie.

Bedarfs- und Umsetzbarkeitsanalyse: Ermittlung, Auswertung und Formalisierung der nachfrageseitigen Bedürfnisse (also der Kunden) sowie sämtlicher Beschränkungen.

Allgemeine Konzeption: Hier geht es um die Ausarbeitung der Spezifikationen der Gesamtarchitektur der Software.

Detaillierte Konzeption: Dabei wird jede Untereinheit der Software genau definiert.

Codierung: Implementierung oder Programmierung, also die Übersetzung der in den Konzeptionsphasen definierten Funktionen in eine Programmiersprache.

Einzeltests: Für jede Untereinheit der Software wird individuell überprüft, ob sie den Spezifikationen entsprechend umgesetzt wurde.

Integration: Sie hat das Ziel sicherzustellen, dass die verschiedenen Elemente (Module) der Software korrekt miteinander verbunden (integriert) sind. Dazu werden Integrationstests durchgeführt, die genau dokumentiert werden.

Beta Tests (auch Debugging): Hier wird überprüft, inwiefern die Software den ursprünglichen Spezifikationen entspricht.

Dokumentation: Sie dient dem Hervorbringen der nötigen Informationen für die Verwendung der Software und spätere Entwicklungen.

Produktionsstart.

Wartung: Alle korrektiven Arbeitsschritte (korrektive Wartung) und solche, die der Weiterentwicklung der Software dienen (laufende Wartung).

Die Anordnung und Präsenz der einzelnen Arbeitsschritte in diesem Lebenszyklus hängt von der Wahl eines bestimmten Lebenszyklus-Modells von Kunden und Entwicklungsteam ab.

Lebenszyklus-Modelle

Zur Schaffung einer gemeinsamen Methologie zwischen Kunden und Software-Dienstleistern wurden verschiedene Lebenszyklus-Modelle entwickelt, bei denen die Entwicklungsschritte und zu erbringenden Dokumente vorgegeben sind, durch die jeder Arbeitsschritt validiert werden kann, bevor zum nächsten übergegangen wird.

Wasserfall-Modell

Das Wasserfall-Modell wurde 1966 entwickelt und 1970 formalisiert. Es sieht aufeinanderfolgende Phasen vor, an deren Ende jeweils Dokumente erstellt werden, durch die sich die Konformität überprüfen lässt, bevor man zur nächsten Phase übergeht:

cycle de vie en cascade

V-Modell

Beim V-Modell wird davon ausgegangen, dass die Prozeduren zur Überprüfung der Konformität von Software und Spezifikationen bereits in den Konzeptionsphasen erarbeitet werden müssen:

cycle de vie en V
Foto: © Pixabay.

Unsere Inhalte werden in Zusammenarbeit mit IT-Experten erstellt, unter der Leitung von Jean-François Pillou, Gründer von CCM.net. CCM ist eine führende internationale Technologie-Webseite und in elf Sprachen verfügbar.
Das Dokument mit dem Titel « Software-Lebenszyklus » wird auf CCM (de.ccm.net) unter den Bedingungen der Creative Commons-Lizenz zur Verfügung gestellt. Unter Berücksichtigung der Lizenzvereinbarungen dürfen Sie das Dokument verwenden, verändern und kopieren, wenn Sie dabei CCM deutlich als Urheber kennzeichnen.