Software Development Life Cycle Model (SDLC)

Autor: Lewis Jackson
Erstelldatum: 10 Kann 2021
Aktualisierungsdatum: 9 Kann 2024
Anonim
Software Development Lifecycle in 9 minutes!
Video: Software Development Lifecycle in 9 minutes!

Inhalt

Definition - Was bedeutet das Software Development Life Cycle Model (SDLC)?

Ein Software Development Lifecycle (SDLC) -Modell ist ein konzeptioneller Rahmen, der alle Aktivitäten in einem Softwareentwicklungsprojekt von der Planung bis zur Wartung beschreibt. Dieser Prozess ist mit mehreren Modellen verbunden, von denen jedes eine Vielzahl von Aufgaben und Aktivitäten umfasst.

Die Softwareentwicklung ist eine umständliche Tätigkeit, bei der die Anforderungen, ihre Implementierung und die Softwarebereitstellung ordnungsgemäß ermittelt werden müssen. Die Aktivitäten enden jedoch nicht dort. Nach der Verteilung der Software muss rechtzeitig für die ordnungsgemäße Wartung gesorgt werden.

Dieser Begriff wird auch als Softwareentwicklungsprozessmodell bezeichnet.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt das Software Development Life Cycle Model (SDLC)

Die wichtigsten Softwareentwicklungsaktivitäten umfassen:

  • Anforderungsextraktion: Der Kunde hat eine vage Vorstellung davon, was erforderlich ist. Nach einer gründlichen Analyse der Anforderungen und Planungsschritte zum Erreichen des Ziels wird die abstrakte Kundenidee von einer Gruppe von Software-Ingenieuren in die Praxis umgesetzt.
  • Softwarebeschreibung: Beschreibt, dass die Software der nächste Schritt im Prozess ist.
  • Abstrakte Systemdarstellung: Wird erstellt, um zu bestätigen, dass es die Anforderungen des Produkts erfüllt und mit anderen Softwareprodukten zusammen mit der zugrunde liegenden Hardware zusammenarbeitet.
  • Kundenanforderungen: Implementiert durch den von Software-Ingenieuren programmierten Code.
  • Code-Test: Der Code wird getestet, um sicherzustellen, dass er frei von Fehlern ist und den Client-Anforderungen entspricht.
  • Dokumentation des internen Designs: Für zukünftige Produktwartung und -erweiterung.
  • Wartung: Es wird durchgeführt, um die Systemarchitektur an zukünftige Anforderungen anzupassen. Dies kann das Hinzufügen von Code oder das Ändern des vorhandenen Codes erfordern.

Der oben beschriebene Entwicklungsprozess wird durch eine Reihe von Modellen optimiert. Das Entwicklungsteam wählt das am besten geeignete Modell aus. Die verschiedenen Modelle sind:


  • Wasserfallmodell: Entwickler geben die Anforderungen an, analysieren sie, bestimmen eine Lösung und gestalten eine Softwarearchitektur, Schnittstellendarstellung und algorithmische Details. Dann entwickeln sie den Code, testen den Code, stellen die Software bereit und warten sie. Während die Wasserfallmethode leicht zu verstehen ist und Anforderungsstabilität festlegt, kann sie den falschen Eindruck erwecken, dass sie nicht viel Kundenbeteiligung bietet. Das Hauptproblem bei diesem Modell besteht darin, dass die Notwendigkeit, Fehler zu korrigieren, im Voraus und in einem frühen Stadium bekannt sein sollte. Andernfalls kann der gesamte Prozess in eine falsche Richtung verlaufen, was sich negativ auf die Produktionskosten auswirken kann.
  • V-förmiges Modell: Ist eine Variation des Wasserfallmodells. Der Schwerpunkt liegt auf der Überprüfung und Validierung des Produkts. Alle Ergebnisse sind überprüfbar und der Fortschritt wird anhand von Meilensteinen verfolgt. Das Testen erfolgt parallel zur Entwicklungsphase.
  • Prototypmodell: Ein Prototyp wird in der Anforderungsphase entwickelt und vom Endbenutzer bewertet. Basierend auf dem Feedback der Benutzer ändern die Entwickler den Prototyp, um die Benutzeranforderungen zu erfüllen. Dieses Modell stellt die Anforderungen zwar problemlos fertig, kann jedoch bei der Verwendung in der Produktionsumgebung zu Qualitätsproblemen führen, wodurch der Korrekturprozess für immer fortgesetzt wird.
  • Spiralmodell: Verwendet sowohl Wasserfall- als auch Prototypmodelle. Es erweitert das Wasserfallmodell um Programmiersprachen der 4. Generation, Rapid Application Development Prototyping und Risikoanalyse. Die Systemanforderungen werden entworfen und ein vorläufiger Systementwurf wird erstellt. Ein erster Prototyp wird entworfen und getestet. Basierend auf der Auswertung der Testergebnisse wird ein zweiter Prototyp erstellt. Nachfolgende Prototypen werden konstruiert, um die Kundenzufriedenheit zu gewährleisten. Das System wird basierend auf dem endgültigen Prototyp erstellt. Das endgültige System wird bewertet und getestet. Obwohl dieses Modell das Risiko in hohem Maße reduziert, entspricht es möglicherweise nicht dem Budget und wird für jede Anwendung unterschiedlich angewendet.
  • Iteratives und inkrementelles SDLC-Modell: Spezifiziert und implementiert einen Teil der Software, der dann überprüft und weitere Anforderungen hinzugefügt und in Gruppen implementiert werden. Jede Version liefert ein betriebsfähiges Produkt, das den Kunden zunächst wichtige Funktionen bietet und so die anfänglichen Lieferkosten senkt. Das Risiko, dass sich die Anforderungen ändern, wird erheblich reduziert, und Kunden können auf jeden Build reagieren. Trotz seiner Stärken erfordert dieses Modell eine gute Planung und eine frühzeitige Definition des vollständigen und voll funktionsfähigen Systems. Es erfordert auch gut definierte Modulschnittstellen.
  • Agiles Entwicklungsmodell: Wird für zeitkritische Anwendungen in Organisationen verwendet, die disziplinierte Methoden anwenden. Es beschleunigt die Lebenszyklusphasen und hat den Umfang verringert.
  • Magic-Box-Modell: Ist ein Entwicklungsmodell für Webanwendungen. Dies ist der schnellste Weg, um das Projekt mit den wenigsten Fehlern zu beenden, da hierdurch die Möglichkeit besteht, die Code- und Datenbankstrukturen zu ändern.