SDLC-Modelle - Evolution
Ein SDLC-Modell (Software Development Life Cycle) ist ein Framework, das die Aktivitäten beschreibt, die in jeder Phase eines Softwareentwicklungsprojekts ausgeführt werden.
In einem Software Development Life Cycle werden die Aktivitäten in fünf Phasen ausgeführt:
Requirements Gathering- Die Anforderungen an eine zu entwickelnde Software werden gesammelt. Diese Anforderungen werden in einer Sprache abgefasst, die vom Kunden / Benutzer verstanden wird. Eine domänenspezifische Terminologie wird empfohlen.
Analysis - Die gesammelten Anforderungen werden unter dem Gesichtspunkt der Implementierung analysiert und die Softwarespezifikationen werden so geschrieben, dass sie sowohl die funktionalen als auch die nicht funktionalen Anforderungen abdecken.
Design - In dieser Phase werden die Softwarearchitektur und die Implementierungsspezifikationen basierend auf der für die Entwicklung ausgewählten Technologie ermittelt.
Construction - In dieser Phase wird der Code entwickelt, Unit-getestet, integriert, Integrationstest und der Build erstellt.
Testing- In dieser Phase werden Funktionstests der erstellten Software durchgeführt. Dies beinhaltet auch die Prüfung nichtfunktionaler Anforderungen.
Es gibt zwei Ansätze zur Durchführung dieser Aktivitäten:
Prescriptive - Die SDLC-Modelle, mit denen Sie die Aktivitäten auf vorgeschriebene Weise ausführen können, wie im Framework definiert.
Adaptive- Die SDLC-Modelle, die Ihnen Flexibilität bei der Durchführung der Aktivitäten bieten, mit bestimmten Regeln, die befolgt werden müssen. Die agilen Methoden folgen meist diesem Ansatz, wobei jede ihre Regeln hat. Ein adaptiver oder agiler Ansatz bedeutet jedoch nicht, dass die Software ohne Disziplin entwickelt wird. Dies würde zu einem Chaos führen.
Sie müssen verstehen, dass wir nicht sagen können, dass ein bestimmtes SDLC-Modell gut oder schlecht ist. Jeder von ihnen hat seine eigenen Stärken und Schwächen und ist daher in bestimmten Kontexten geeignet.
Wenn Sie ein SDLC-Modell für Ihr Projekt auswählen, müssen Sie Folgendes verstehen:
- Ihr Organisationskontext
- Ihr Technologiekontext
- Ihre Teamzusammensetzung
- Ihr Kundenkontext
Wenn die Softwareentwicklung beispielsweise vorhersehbar ist, können Sie einen Prescriptive-Ansatz verwenden. Wenn andererseits die Softwareentwicklung unvorhersehbar ist, dh die Anforderungen nicht vollständig bekannt sind oder das Entwicklungsteam zuvor nicht mit der aktuellen Domäne oder Technologie usw. vertraut war, ist der adaptive Ansatz die beste Wahl.
In den folgenden Abschnitten werden Sie die gängigsten SDLC-Modelle kennenlernen, die während der Ausführung von Softwareentwicklungsprojekten in der gesamten Branche entwickelt wurden. Sie lernen auch die Stärken und Schwächen jedes einzelnen kennen und in welchen Kontexten sie geeignet sind.