Softwareentwicklungs-Lebenszyklus
Der Softwareentwicklungs-Lebenszyklus (SDLC) ist die durchgängige Abfolge von Phasen, die ein Softwaresystem von der ersten Konzeption und den Anforderungen über Design, Konstruktion, Test, Bereitstellung bis zur schließlichen Außerbetriebnahme durchläuft.
Definition
Der Softwareentwicklungs-Lebenszyklus ist ein strukturiertes Rahmenwerk, das die Softwareentwicklung in definierte Phasen unterteilt, jede mit Eintritts- und Austrittskriterien, Lieferobjekten und Aktivitäten, das zur Planung, Steuerung und Begründung der Produktion und Evolution von Software verwendet wird.
Scope
Dieses Thema behandelt die kanonischen SDLC-Phasen Planung, Anforderungsanalyse, Design, Implementierung, Test, Bereitstellung und Wartung; die Standardmodelle, die diese Phasen anordnen (Wasserfall, V-Modell, inkrementell, iterativ, Spiral); die in jeder Phase erzeugten Artefakte; und Lebenszyklus-Prozessstandards wie ISO/IEC/IEEE 12207.
Core questions
- Welche Phasen bilden den Lebenszyklus und welche Artefakte werden in jeder Phase erstellt?
- Wie ordnen und iterieren verschiedene Lebenszyklusmodelle diese Phasen?
- Welche Eintritts- und Austrittskriterien steuern den Übergang zwischen den Phasen?
- Wie erstreckt sich der Lebenszyklus über die Auslieferung hinaus auf Betrieb, Wartung und Außerbetriebnahme?
Key theories
- Phasenstruktur des Lebenszyklus
- Die Entwicklung wird in diskrete Phasen (Anforderungen, Design, Implementierung, Test, Bereitstellung, Wartung) zerlegt, jede mit definierten Lieferobjekten und Überprüfungspunkten, was eine Grundlage für Planung, Schätzung und Kontrolle bietet.
- V-Modell Verifikationszuordnung
- Das V-Modell paart jede konstruktive Phase mit einer entsprechenden Testphase (Unit, Integration, System, Abnahme), wodurch Verifikation und Validierung explizite Gegenstücke zu Spezifikation und Design werden.
Clinical relevance
Ein gut definierter Lebenszyklus verbessert die Vorhersagbarkeit, Nachvollziehbarkeit und Qualitätskontrolle, unterstützt die Kosten- und Zeitplanabschätzung und wird häufig von Beschaffungs- und Regulierungssystemen vorgeschrieben, die auditierbare Entwicklungsprozesse erfordern.
Evidence & guidelines
ISO/IEC/IEEE 12207:2017 ist der wichtigste internationale Standard, der Software-Lebenszyklusprozesse definiert und in Verträgen und Qualitätssystemen weithin referenziert wird.
History
Die Vorstellung eines geordneten Satzes von Entwicklungsphasen wurde in den späten 1960er und 1970er Jahren formalisiert, als Projekte für Ad-hoc-Konstruktionen zu groß wurden; nachfolgende Modelle fügten Iteration und Risikomanagement hinzu, während Standardisierungsbemühungen in den 1990er Jahren ISO/IEC 12207 und deren spätere Überarbeitungen hervorbrachten.
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- Ist der SDLC dasselbe wie das Wasserfallmodell?
- Nein. Der SDLC ist der allgemeine Satz von Phasen, die Software durchläuft; das Wasserfallmodell ist eine bestimmte Art, diese Phasen sequenziell anzuordnen. Agile, iterative und Spiralmodelle durchlaufen dieselben grundlegenden Phasen in unterschiedlichen Reihenfolgen und Kadenz.
- Endet der Lebenszyklus mit der Bereitstellung?
- Nein. Betrieb, Wartung und die schließliche Außerbetriebnahme sind integrale Lebenszyklusphasen; in den meisten Systemen dominieren Wartung und Evolution die Gesamtkosten und umfassen den längsten Zeitraum des Lebenszyklus.