Phasen und Modelle des Software Development Life Cycle (SDLC).

Was ist SDLC?

SDLC ist ein systematischer Prozess zum Erstellen von Software, der die Qualität und Korrektheit der erstellten Software sicherstellt. Der SDLC-Prozess zielt darauf ab, qualitativ hochwertige Software zu produzieren, die den Kundenerwartungen entspricht. Die Systementwicklung sollte innerhalb des vorab festgelegten Zeitrahmens und Kostenrahmens abgeschlossen sein. SDLC besteht aus einem detaillierten Plan, der erklärt, wie spezifische Software geplant, erstellt und gewartet wird. Jede Phase des SDLC-Lebenszyklus hat ihren eigenen Prozess und ihre eigenen Ergebnisse, die in die nächste Phase einfließen. SDLC steht für Lebenszyklus der Softwareentwicklung und wird auch als Anwendungsentwicklungslebenszyklus bezeichnet.

Warum SDLC?

Hier sind die Hauptgründe, warum SDLC für die Entwicklung eines Softwaresystems wichtig ist.

  • Es bietet eine Grundlage für die Projektplanung, Terminierung und Kalkulation
  • Bietet einen Rahmen für einen Standardsatz von Aktivitäten und Leistungen
  • Es ist ein Mechanismus zur Projektverfolgung und -steuerung
  • Erhöht die Sichtbarkeit der Projektplanung für alle Beteiligten des Entwicklungsprozesses
  • Erhöhte und verbesserte Entwicklungsgeschwindigkeit
  • Verbesserte Kundenbeziehungen
  • Hilft Ihnen, das Projektrisiko und den Aufwand für den Projektmanagementplan zu verringern

 

SDLC-Phasen

Der gesamte SDLC-Prozess ist in die folgenden SDLC-Schritte unterteilt:

SDLC-Phasen
SDLC-Phasen
  • Phase 1: Anforderungserfassung und -analyse
  • Phase 2: Machbarkeitsstudie
  • Phase 3: Entwurf
  • Phase 4: Kodierung
  • Phase 5: Testen
  • Phase 6: Installation/Bereitstellung
  • Phase 7: Wartung

In diesem Tutorial habe ich alle diese Phasen des Softwareentwicklungslebenszyklus erklärt

Phase 1: Anforderungserfassung und -analyse

Die Anforderung ist die erste Stufe im SDLC-Prozess. Es wird von hochrangigen Teammitgliedern mit Beiträgen aller Stakeholder und Fachexperten der Branche durchgeführt. Planung für die Qualitätskontrolle In dieser Phase erfolgt auch die Ermittlung der Anforderungen und das Erkennen der damit verbundenen Risiken.

Diese Phase vermittelt ein klareres Bild des Umfangs des gesamten Projekts und der erwarteten Probleme, Möglichkeiten und Richtlinien, die das Projekt ausgelöst haben.

Die Anforderungserfassungsphase benötigt Teams, um detaillierte und präzise Anforderungen zu erhalten. Dies hilft Unternehmen, den erforderlichen Zeitplan für den Abschluss der Arbeit dieses Systems festzulegen.

Phase 2: Machbarkeitsstudie

Sobald die Anforderungsanalysephase abgeschlossen ist, besteht der nächste SDLC-Schritt darin, die Softwareanforderungen zu definieren und zu dokumentieren. Dieser Prozess wurde mit Hilfe des Dokuments „Software Requirement Specification“, auch bekannt als „SRS“-Dokument, durchgeführt. Es umfasst alles, was während des Projektlebenszyklus entworfen und entwickelt werden sollte.

Es gibt hauptsächlich fünf Arten von Machbarkeitsprüfungen:

  • Wirtschaftlich: Können wir das Projekt innerhalb des Budgets abschließen oder nicht?
  • Legal: Können wir dieses Projekt als Cyber-Gesetz und andere regulatorische Rahmenbedingungen/Compliances behandeln?
  • OperaMachbarkeit: Können wir Vorgänge erstellen, die vom Client erwartet werden?
  • Technik: Prüfen Sie, ob das aktuelle Computersystem die Software unterstützen kann
  • Schedule: Entscheiden Sie, ob das Projekt innerhalb des vorgegebenen Zeitplans abgeschlossen werden kann oder nicht.

Phase 3: Entwurf

In dieser dritten Phase werden die System- und Softwaredesigndokumente gemäß dem Anforderungsspezifikationsdokument erstellt. Dies hilft bei der Definition der gesamten Systemarchitektur.

Diese Entwurfsphase dient als Input für die nächste Phase des Modells.

In dieser Phase werden zwei Arten von Designdokumenten entwickelt:

High-Level-Design (HLD)

  • Kurze Beschreibung und Name jedes Moduls
  • Eine Übersicht über die Funktionalität jedes Moduls
  • Schnittstellenbeziehung und Abhängigkeiten zwischen Modulen
  • Datenbanktabellen identifiziert zusammen mit ihren Schlüsselelementen
  • Vollständige Architekturdiagramme zusammen mit Technologiedetails

Low-Level-Design (LLD)

  • Funktionslogik der Module
  • Datenbanktabellen, die Typ und Größe enthalten
  • Vollständiges Detail der Schnittstelle
  • Behandelt alle Arten von Abhängigkeitsproblemen
  • Auflistung der Fehlermeldungen
  • Komplette Ein- und Ausgänge für jedes Modul

Phase 4: Kodierung

Sobald die Systemdesignphase abgeschlossen ist, ist die nächste Phase die Codierung. In dieser Phase beginnen die Entwickler mit dem Aufbau des gesamten Systems, indem sie Code in der gewählten Programmiersprache schreiben. In der Codierungsphase werden Aufgaben in Einheiten oder Module aufgeteilt und den verschiedenen Entwicklern zugewiesen. Es ist die längste Phase des Software Development Life Cycle-Prozesses.

In dieser Phase muss der Entwickler bestimmte vordefinierte Codierungsrichtlinien befolgen. Sie müssen auch verwendet werden Programmierwerkzeuge wie Compiler, Interpreter, Debugger zum Generieren und Implementieren des Codes.

Phase 5: Testen

Sobald die Software fertig ist und in der Testumgebung bereitgestellt wird, beginnt das Testteam mit dem Testen der Funktionalität des gesamten Systems. Damit wird überprüft, ob die gesamte Anwendung den Kundenanforderungen entspricht.

Während dieser Phase finden das QA- und Testteam möglicherweise einige Fehler/Fehler, die sie den Entwicklern mitteilen. Das Entwicklungsteam behebt den Fehler und sendet ihn für einen erneuten Test an QA zurück. Dieser Prozess wird fortgesetzt, bis die Software fehlerfrei und stabil ist und gemäß den Geschäftsanforderungen dieses Systems funktioniert.

Phase 6: Installation/Bereitstellung

Sobald die Software-Testphase abgeschlossen ist und keine Bugs oder Fehler mehr im System vorhanden sind, beginnt der endgültige Bereitstellungsprozess. Basierend auf dem Feedback des Projektmanagers wird die endgültige Software freigegeben und auf eventuelle Bereitstellungsprobleme überprüft.

Phase 7: Wartung

Sobald das System bereitgestellt ist und die Kunden mit der Nutzung des entwickelten Systems beginnen, finden die folgenden 3 Aktivitäten statt

  • Fehlerbehebung – Fehler werden aufgrund einiger Szenarien gemeldet, die überhaupt nicht getestet wurden
  • Upgrade – Aktualisieren der Anwendung auf die neueren Versionen der Software
  • Verbesserung – Hinzufügen einiger neuer Funktionen zur bestehenden Software

Das Hauptaugenmerk dieser SDLC-Phase liegt darauf, sicherzustellen, dass die Anforderungen weiterhin erfüllt werden und dass das System weiterhin gemäß der in der ersten Phase genannten Spezifikation funktioniert.

Beliebte SDLC-Modelle

Hier sind einige der wichtigsten Modelle des Software Development Life Cycle (SDLC):

Wasserfallmodell in SDLC

Der Wasserfall ist ein weithin akzeptiertes SDLC-Modell. Bei diesem Ansatz wird der gesamte Prozess der Softwareentwicklung in verschiedene SDLC-Phasen unterteilt. In diesem SDLC-Modell fungiert das Ergebnis einer Phase als Input für die nächste Phase.

Dieses SDLC-Modell ist dokumentationsintensiv, wobei frühere Phasen dokumentieren, was in den nachfolgenden Phasen durchgeführt werden muss.

Inkrementelles Modell in SDLC

Das inkrementelle Modell ist kein separates Modell. Es handelt sich im Wesentlichen um eine Reihe von Wasserfallzyklen. Die Anforderungen werden zu Beginn des Projekts in Gruppen eingeteilt. Für jede Gruppe wird das SDLC-Modell zur Entwicklung von Software befolgt. Der SDLC-Lebenszyklusprozess wird wiederholt, wobei jede Version weitere Funktionen hinzufügt, bis alle Anforderungen erfüllt sind. Bei dieser Methode fungiert jeder Zyklus als Wartungsphase für die vorherige Softwareversion. Durch die Änderung des inkrementellen Modells können sich Entwicklungszyklen überschneiden. Danach kann der nächste Zyklus beginnen, bevor der vorherige Zyklus abgeschlossen ist.

V-Modell in SDLC

Bei dieser Art von SDLC-Modelltest und -entwicklung wird die Phase parallel geplant. Es gibt also einerseits Verifizierungsphasen von SDLC und andererseits die Validierungsphase. V-Modell tritt durch Codierungsphase bei.

Agiles Modell in SDLC

Die Agile-Methode ist eine Vorgehensweise, die die kontinuierliche Interaktion zwischen Entwicklung und Test während des SDLC-Prozesses eines Projekts fördert. Bei der Agile-Methode wird das gesamte Projekt in kleine inkrementelle Builds unterteilt. Alle diese Builds werden in Iterationen bereitgestellt und jede Iteration dauert ein bis drei Wochen.

Spiralmodell

Das Spiralmodell ist ein risikogetriebenes Vorgehensmodell. Dieses SDLC-Testmodell hilft dem Team, Elemente eines oder mehrerer Prozessmodelle wie Wasserfall, inkrementell, Wasserfall usw. zu übernehmen.

Dieses Modell übernimmt die besten Eigenschaften des Prototyping-Modells und des Wasserfallmodells. Die Spiralmethode ist eine Kombination aus Rapid Prototyping und Parallelität bei Design- und Entwicklungsaktivitäten.

Big-Bang-Modell

Das Big-Bang-Modell konzentriert sich auf alle Arten von Ressourcen in der Softwareentwicklung und -codierung, ohne oder mit sehr wenig Planung. Die Anforderungen werden verstanden und umgesetzt, wenn sie kommen.

Dieses Modell eignet sich am besten für kleine Projekte mit kleineren Entwicklungsteams, die zusammenarbeiten. Es ist auch nützlich für akademische Softwareentwicklungsprojekte. Es ist ein ideales Modell, wenn die Anforderungen entweder unbekannt sind oder das endgültige Veröffentlichungsdatum nicht angegeben ist.

Zusammenfassung

  • Der Software Development Life Cycle (SDLC) ist ein systematischer Prozess zum Erstellen von Software, der die Qualität und Korrektheit der erstellten Software sicherstellt
  • Die vollständige Form von SDLC lautet Software Development Life Cycle oder Systems Development Life Cycle.
  • SDLC im Software-Engineering bietet einen Rahmen für einen Standardsatz von Aktivitäten und Ergebnissen
  • Sieben verschiedene SDLC-Phasen sind 1) Anforderungserfassung und -analyse 2) Machbarkeitsstudie: 3) Design 4) Codierung 5) Testen: 6) Installation/Bereitstellung und 7) Wartung
  • Die leitenden Teammitglieder leiten die Anforderungsanalyse Phase
  • Die Phase der Machbarkeitsstudie umfasst alles, was während des Projektlebenszyklus entworfen und entwickelt werden sollte
  • In der Entwurfsphase werden die System- und Softwareentwurfsdokumente gemäß dem Anforderungsspezifikationsdokument erstellt
  • In der Codierungsphase beginnen die Entwickler mit dem Aufbau des gesamten Systems, indem sie Code in der gewählten Programmiersprache schreiben
  • Testen ist die nächste Phase, die durchgeführt wird, um sicherzustellen, dass die gesamte Anwendung gemäß den Kundenanforderungen funktioniert.
  • Die Installation und Bereitstellung beginnt, wenn die Softwaretest Die Phase ist beendet und es sind keine Bugs oder Fehler mehr im System vorhanden
  • Fehlerbehebung, Upgrade und Engagement-Aktionen, die im Wartungsplan behandelt werden
  • Wasserfall, Inkrementell, Agil, V-Modell, Spirale, Urknall sind einige der beliebtesten SDLC-Modelle in der Softwareentwicklung
  • SDLC beim Softwaretesten besteht aus einem detaillierten Plan, der erklärt, wie spezifische Software geplant, erstellt und gewartet wird