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:

  • Anforderungserfassung - Die Anforderungen für eine zu entwickelnde Software werden erfasst. Diese Anforderungen werden in einer Sprache abgefasst, die vom Kunden / Benutzer verstanden wird. Eine domänenspezifische Terminologie wird empfohlen.

  • Analyse - Die gesammelten Anforderungen werden unter dem Gesichtspunkt der Implementierung analysiert und die Softwarespezifikationen werden geschrieben, um sowohl die funktionalen Anforderungen als auch die nicht funktionalen Anforderungen abzudecken.

  • Design - In dieser Phase werden die Softwarearchitektur und die Implementierungsspezifikationen basierend auf der für die Entwicklung ausgewählten Technologie festgelegt.

  • Konstruktion - In dieser Phase wird der Code entwickelt, die Einheit getestet, integriert, die Integration getestet und der Build erstellt.

  • Testen - In dieser Phase werden Funktionstests der erstellten Software durchgeführt. Dies schließt auch die Prüfung nichtfunktionaler Anforderungen ein.

Es gibt zwei Ansätze, um diese Aktivitäten durchzuführen:

  • Prescriptive - Die SDLC-Modelle, mit denen Sie die Aktivitäten auf vorgeschriebene Weise ausführen können, wie im Framework definiert.

  • Adaptiv - Die SDLC-Modelle, die Ihnen Flexibilität bei der Durchführung der Aktivitäten bieten und bestimmte Regeln enthalten, die befolgt werden müssen. Die agilen Methoden folgen meist diesem Ansatz, wobei jeder seine Regeln hat. Ein adaptiver oder agiler Ansatz bedeutet jedoch nicht, dass die Software ohne jegliche 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 eignet sich daher in bestimmten Zusammenhängen.

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 präskriptiven Ansatz verwenden. Wenn andererseits die Softwareentwicklung nicht vorhersehbar ist, dh die Anforderungen nicht vollständig bekannt sind oder das Entwicklungsteam nicht zuvor mit der aktuellen Domäne oder Technologie usw. vertraut ist, ist der adaptive Ansatz die beste Wahl.

In den folgenden Abschnitten werden die gängigsten SDLC-Modelle erläutert, 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 von ihnen kennen und in welchem Kontext sie geeignet sind.