SDLC - Übersicht
Der Software Development Life Cycle (SDLC) ist ein Prozess, mit dem die Softwareindustrie hochwertige Software entwirft, entwickelt und testet. Der SDLC zielt darauf ab, eine qualitativ hochwertige Software zu entwickeln, die die Erwartungen der Kunden erfüllt oder übertrifft, innerhalb von Zeiten und Kostenvoranschlägen fertiggestellt wird.
SDLC ist die Abkürzung für Software Development Life Cycle.
Es wird auch als Software Development Process bezeichnet.
SDLC ist ein Framework, das Aufgaben definiert, die in jedem Schritt des Softwareentwicklungsprozesses ausgeführt werden.
ISO / IEC 12207 ist ein internationaler Standard für Software-Lebenszyklusprozesse. Es soll der Standard sein, der alle Aufgaben definiert, die für die Entwicklung und Wartung von Software erforderlich sind.
Was ist SDLC?
SDLC ist ein Prozess, der für ein Softwareprojekt innerhalb einer Softwareorganisation ausgeführt wird. Es besteht aus einem detaillierten Plan, der beschreibt, wie bestimmte Software entwickelt, gewartet, ersetzt und geändert oder verbessert wird. Der Lebenszyklus definiert eine Methode zur Verbesserung der Softwarequalität und des gesamten Entwicklungsprozesses.
Die folgende Abbildung zeigt grafisch die verschiedenen Phasen einer typischen SDLC.
Ein typischer Softwareentwicklungs-Lebenszyklus besteht aus den folgenden Phasen:
Stufe 1: Planung und Anforderungsanalyse
Die Anforderungsanalyse ist die wichtigste und grundlegendste Phase in der SDLC. Es wird von den hochrangigen Mitgliedern des Teams mit Beiträgen des Kunden, der Verkaufsabteilung, Marktumfragen und Domain-Experten der Branche durchgeführt. Diese Informationen werden dann verwendet, um den grundlegenden Projektansatz zu planen und eine Produktdurchführbarkeitsstudie in den Bereichen Wirtschaft, Betrieb und Technik durchzuführen.
Die Planung der Qualitätssicherungsanforderungen und die Identifizierung der mit dem Projekt verbundenen Risiken erfolgt ebenfalls in der Planungsphase. Das Ergebnis der technischen Machbarkeitsstudie ist die Definition der verschiedenen technischen Ansätze, mit denen das Projekt mit minimalen Risiken erfolgreich umgesetzt werden kann.
Stufe 2: Anforderungen definieren
Sobald die Anforderungsanalyse abgeschlossen ist, besteht der nächste Schritt darin, die Produktanforderungen klar zu definieren, zu dokumentieren und vom Kunden oder den Marktanalysten genehmigen zu lassen. Dies geschieht durch eineSRS (Software Requirement Specification) Dokument, das alle Produktanforderungen enthält, die während des Projektlebenszyklus entworfen und entwickelt werden müssen.
Stufe 3: Entwerfen der Produktarchitektur
SRS ist die Referenz für Produktarchitekten, um die beste Architektur für das zu entwickelnde Produkt zu entwickeln. Basierend auf den in SRS festgelegten Anforderungen wird normalerweise mehr als ein Entwurfsansatz für die Produktarchitektur vorgeschlagen und in einer DDS - Design Document Specification dokumentiert.
Dieses DDS wird von allen wichtigen Stakeholdern überprüft und basiert auf verschiedenen Parametern wie Risikobewertung, Produktrobustheit, Designmodularität, Budget- und Zeitbeschränkungen. Der beste Designansatz wird für das Produkt ausgewählt.
Ein Entwurfsansatz definiert alle Architekturmodule des Produkts sowie seine Kommunikations- und Datenflussdarstellung mit den externen Modulen und Modulen von Drittanbietern (falls vorhanden) klar. Das interne Design aller Module der vorgeschlagenen Architektur sollte mit den kleinsten Details in DDS klar definiert werden.
Stufe 4: Aufbau oder Entwicklung des Produkts
In dieser Phase von SDLC beginnt die eigentliche Entwicklung und das Produkt wird erstellt. In dieser Phase wird der Programmcode gemäß DDS generiert. Wenn das Design detailliert und organisiert ausgeführt wird, kann die Codegenerierung ohne großen Aufwand durchgeführt werden.
Entwickler müssen die von ihrer Organisation festgelegten Codierungsrichtlinien befolgen und Programmierwerkzeuge wie Compiler, Interpreter, Debugger usw. werden zum Generieren des Codes verwendet. Für die Codierung werden verschiedene Programmiersprachen auf hoher Ebene wie C, C ++, Pascal, Java und PHP verwendet. Die Programmiersprache wird in Bezug auf die Art der zu entwickelnden Software ausgewählt.
Stufe 5: Testen des Produkts
Diese Phase ist normalerweise eine Teilmenge aller Phasen, da in den modernen SDLC-Modellen die Testaktivitäten hauptsächlich in allen Phasen der SDLC enthalten sind. Diese Phase bezieht sich jedoch auf die Testphase des Produkts, in der Produktfehler gemeldet, verfolgt, behoben und erneut getestet werden, bis das Produkt die im SRS definierten Qualitätsstandards erreicht.
Stufe 6: Bereitstellung auf dem Markt und Wartung
Sobald das Produkt getestet und einsatzbereit ist, wird es offiziell auf dem entsprechenden Markt veröffentlicht. Manchmal erfolgt die Produktbereitstellung schrittweise gemäß der Geschäftsstrategie dieser Organisation. Das Produkt kann zunächst in einem begrenzten Segment veröffentlicht und in der realen Geschäftsumgebung getestet werden (UAT-User Acceptance Testing).
Basierend auf dem Feedback kann das Produkt dann unverändert oder mit vorgeschlagenen Verbesserungen im Zielmarktsegment veröffentlicht werden. Nachdem das Produkt auf den Markt gebracht wurde, erfolgt die Wartung für den bestehenden Kundenstamm.
SDLC-Modelle
Es werden verschiedene Lebenszyklusmodelle für die Softwareentwicklung definiert und entworfen, die während des Softwareentwicklungsprozesses befolgt werden. Diese Modelle werden auch als Softwareentwicklungsprozessmodelle bezeichnet. "Jedes Prozessmodell folgt einer Reihe von Schritten, die für seinen Typ einzigartig sind, um den Erfolg im Prozess der Softwareentwicklung sicherzustellen.
Im Folgenden sind die wichtigsten und beliebtesten SDLC-Modelle der Branche aufgeführt:
- Wasserfall-Modell
- Iteratives Modell
- Spiralmodell
- V-Model
- Urknallmodell
Andere verwandte Methoden sind Agile Model, RAD Model, Rapid Application Development und Prototyping Models.