Einführung in das Wasserfallmodell

Es stammt aus der Bau- und Fertigungsindustrie und ist eine stark strukturierte physische Umgebung, die für Design- und Entwicklungsprozesse vorgesehen ist. Das Wasserfallmodell wird auch als Softwareentwicklungs-Lebenszyklusmodell bezeichnet. Es war das erste Prozessmodell, das als linear-sequentielles Lebenszyklusmodell eingeführt wurde. Das Wasserfallmodell teilt dem Phänomen lediglich mit, dass die eine Phase vollständig abgeschlossen sein muss, bevor die neue Entwicklungsphase gestartet wird, sodass es keine Überlappung von Phasen gibt. Im Bereich der Softwareentwicklung wurde das Wasserfallmodell erstmals als SDLC-Ansatz verwendet. Um an dem Wasserfallmodell arbeiten zu können, müssen wir seinen Anwendungsansatz verstehen, der sowohl auf internen als auch auf externen Faktoren basiert.

  • Keine mehrdeutigen Anforderungen in der Anwendung.
  • Stabilität der Produktdefinition
  • Es ist Technologie verstanden
  • Es ist nicht dynamisch
  • Zur Unterstützung des Produkts stehen umfangreiche Ressourcen mit entsprechendem Fachwissen zur Verfügung
  • Sehr kurzes Projekt
  • Das gute Dokument, klare und feste Anforderungen.

Um mit der Geschichte des Wasserfallmodells zu beginnen, möchte ich sagen, dass die erste Probe des Wasserfallmodells im Jahr 1970 von Winston w Royce in einem Artikel vorgestellt wurde. Seitdem besagt das Wasserfallmodell, dass man nur dann zu einer anderen Phase wechseln sollte, wenn die vorherigen Phasen vollständig getestet, überprüft und verifiziert wurden. Es betont die logische Abfolge der Phasenschritte. Seine Funktionalität ähnelt dem Wasser, das über den Rand der Klippe fließt. Dieser Ansatz der Softwareentwicklung wurde als Wasserfall bezeichnet, da er sich systematisch abwärts von einer Phase zur nächsten entwickelt. Seit seiner Erstveröffentlichung durch Winston W. Royce im Jahr 1970 ist das Wasserfallmodell in der Softwareentwicklung weit verbreitet. Im Zyklus des Softwareentwicklungsprozesses werden Programmiermodelle verwendet, um die verschiedenen Phasen der Entwicklung einer Anwendung zu planen. Ein solches Modell ist das Wasserfallmodell.

Phasen des Wasserfallmodells

Lassen Sie uns nun über die Phasen des Wasserfallmodells sprechen, die durch diese Demo-Infografik klar erklärt werden können.

Mit den obigen Infografiken können wir verstehen, dass das Wasserfallmodell insgesamt 7 Phasen des Entwurfs- und Entwicklungssoftwarezyklus aufweist, die wie folgt sind:

  1. Bedarf
  2. Analyse
  3. Design
  4. Codierung / Implementierung
  5. Testen
  6. Bedienung / Einsatz
  7. Instandhaltung

So können wir sehen, dass das Wasserfallmodell von oben nach unten hierarchisch funktioniert, wobei eine Phase mit vollständigen Überprüfungen abgeschlossen und dann zu einer anderen Phase mit Phasenprozessen wie Konzeption, Initiierung, Analyse, Entwurf, Konstruktion, Prüfung, Produktion / Implementierung und Wartung gewechselt wird. Um ein kürzeres Wissen über das Wasserfallmodell zu erhalten, müssen wir alle seine Prozesse mit seinem Arbeitsmodell vertiefen. Es gibt eine Grundvoraussetzung, die verstanden werden muss, bevor die tiefen Phasen des Wissens beginnen. Es geht um die Machbarkeitsstudie für das Softwareprodukt. Es befasst sich mit den finanziellen und technischen Aspekten der Projektanforderungen. Diese Phase befasst sich mit der Korrektur der Maßnahmen anhand der analysierten Vor- und Nachteile. Somit ist die beste Lösung gewählt.

  1. Anforderungen: Wortspezifisch müssen wir wissen und verstehen, was wir entwerfen müssen, was wir entwickeln müssen, welche Prozesse es gibt, welche Funktionen es haben wird usw. Es liefert Inputmaterial für das hergestellte Produkt und damit für das kommende Produkt wird studiert, finalisiert und markiert. Es gibt uns auch die Möglichkeit, über die Hardware- oder Softwareanforderungen des Produkts zu entscheiden, das in allen Phasen entworfen, entwickelt und erfasst wird.
  2. Analyse: Es werden Modelle, Schemata und Geschäftsregeln entworfen. Nicht nur diese Anforderung gliedert sich in zwei Teile:
  • Anforderungserfassung und -analyse: Zunächst werden alle Informationen und Anforderungen für die Produktentwicklung beim Kunden erfasst und für die Analyse aufbereitet. Die Hauptaufgabe dieses Teils besteht darin, Unvollständigkeiten und Inkonsistenzen im Zusammenhang mit der Entwicklung von Softwareprodukten zu beseitigen.
  • Anforderungsspezifikation: Anschließend werden die oben analysierten Anforderungen in einem SRS-Dokument (Software Requirement Specification) dokumentiert. Es dient als Weg zwischen dem Kunden und dem SRS-Entwicklungsteam. Alle zukünftigen Streitigkeiten werden nur über diese SRS-Dokumentation verwaltet und beigelegt.
  1. Design: Nachdem die erste Phase abgeschlossen und verifiziert wurde, ist sie die nächstwichtigste zu untersuchende Phase, da sie für das Systemdesign verwendet wird. Es hilft bei der Festlegung der Software- und Hardwareanforderungen für das Produktdesign. Es hilft auch bei der Gesamtarchitektur für das Systemdesign. Daher wird die Anforderungsspezifikation meist in dieser Phase untersucht und verifiziert. Es ist auch hilfreich, um das SRS-Dokument in funktionales Design und Entwicklung des Softwareprodukts umzuwandeln. Wir können also sagen, dass man in der Entwurfsphase die Gesamtarchitektur für das Softwareentwicklungsprojekt erstellt.
  2. Implementierung: Wenn das Systemdesign vollständig verifiziert ist, steht die Implementierungsphase kurz bevor. In dieser Phase werden die Eingaben aus dem Systemdesign übernommen und zunächst in kleinen Programmen, so genannten Units, entwickelt, die in der kommenden Phase getestet und implementiert werden. Jede Einheit in der Implementierungsphase wird entwickelt und auf ihre volle Funktionalität getestet, was auch als Einheitentest bezeichnet wird. In dieser Phase wird das Systemdesign mit voll funktionsfähigen Programmmodulen in Quellcode umgewandelt. Es beinhaltet die Entwicklung, Erprobung und Integration der Software.
  3. Integration und Testen: Jedes in den früheren Phasen entwickelte und entwickelte Gerätedesign wird ab der Implementierungsphase in ein Modul oder System integriert, um nach dem Testen der einzelnen Geräte verschiedene Tests wie Lasttests, Leitungstests usw. durchzuführen. Die Testumgebung wird einer ständigen Softwareprüfung unterzogen, um festzustellen, ob das Design oder der Code fehlerhaft sind. Die Tests werden durchgeführt, um die Stabilität und Durchführbarkeit der Software zu gewährleisten, damit der Kunde während der Produktion keinen Störungen oder Fehlern ausgesetzt ist. In dieser Phase nach der Implementierung wird das gesamte System gründlich auf Fehler und Ausfälle getestet. Systemtests bestehen aus drei verschiedenen Arten von Aktivitäten, die wie folgt erklärt werden können:
  • Alpha (α) -Test: Dies ist der Test, der vom Entwicklerteam durchgeführt wird.
  • Beta (β) -Test: Dies ist der Test, den ein freundliches Team von Kunden und Benutzern durchführt.
  • Akzeptanztests: Diese werden sowohl nach dem Alphatest als auch nach dem Betatest durchgeführt. Grundsätzlich erfolgt diese Prüfung nach Auslieferung durch den Kunden. Nach den vom Kunden durchgeführten Tests wird die Entscheidung getroffen, ob diese Software akzeptabel ist oder abgelehnt wird. In dieser Phase wird das Debuggen von Fehlern durchgeführt.
  1. Bereitstellung des Systems / Betrieb: Sobald die nicht-funktionalen, funktionalen, Alpha-und Beta-Tests abgeschlossen sind, wird das Softwareprodukt auf dem Benutzer- oder Kundensystem bereitgestellt oder auf den Markt gebracht. Die Bereitstellungsphase umfasst die Installation, Migration und Unterstützung des gesamten Systems für die Benutzer- oder Kundenumgebung.
  2. Wartung: Dies ist die vorletzte Phase des Wasserfall-Workflow-Modells. Dieser Schritt erfolgt direkt nach der Installation und umfasst das Vornehmen der entsprechenden Änderungen am Produkt oder System oder das Erweitern, Ändern oder Ändern von Attributen im Zusammenhang mit Leistungsproblemen im Zusammenhang mit dem System. Seine Hauptaufgabe besteht darin, die Leistung des Systems mit dem Ergebnis der Software-Ausgabe mit maximaler Genauigkeit zu verbessern. Diese Änderungen, die während der Wartungsphase vorgenommen werden, stehen im Wesentlichen im Zusammenhang mit Änderungen, die vom Kunden oder den Benutzern nach der Installations- und Testphase veranlasst wurden. Hierzu zählen etwa Fehler, die bei der Live-Nutzung des Systems oder bei von Kunden gestellten Anforderungen festgestellt wurden. Auf diese Weise erhält der Kunde eine zeitnahe und planmäßige Wartung und Unterstützung für das entwickelte Produkt. Sie werden erstaunt sein, dass der Aufwand in der Design- und Entwicklungsphase des Softwareprodukts nur 60% des Aufwandes in der Wartungsphase beträgt. Grundsätzlich gibt es drei Arten der Wartung, die im Folgenden erläutert werden:
  • Fehlerbehebung : Während der Entwurfs- und Entwicklungsphase werden einige Fehler nicht entdeckt, sondern nur bei Verwendung durch den Kunden berücksichtigt. Dies ist nur eine Korrekturwartung, dh die Korrektur von Problemen oder Fehlern, die in der Entwicklungsphase nicht entdeckt wurden.
  • Perfekte Wartung: Diese Art der Wartung wird auf Kundenwunsch durchgeführt, um die Funktionen des Systems oder der Software zu erweitern und zu verbessern.
  • Adaptive Wartung: Es ist die Wartung, die zum Umschalten der Systemumgebung erforderlich ist. Wird normalerweise für die Portierung des vorhandenen Systems in eine neue Umgebung oder einen neuen Computer oder ein neues System oder möglicherweise mit einem neuen Betriebssystem benötigt. Diese Phase ist zu wichtig, da dies zu einer besseren Systemleistung führt.

In der obigen Diskussion lernten wir jede Phase des Wasserfallmodells mit vollständigen Spezifikationen genau kennen. Wir können also sagen, dass das Wasserfallmodell im Softwarebereich auch im Vergleich zur mechanischen Industrie von großer Bedeutung ist, da jede Phase ihre eigene Bedeutung hat, was zu einer produktiveren und stabileren Software führt.

Vorteile

Nicht nur dieses Wasserfallmodell bietet viele weitere Vorteile im Softwareentwicklungszyklus, die im Folgenden erörtert werden können:

  • Es ermöglicht die Aufteilung und Kontrolle.
  • Für jeden Entwicklungsschritt kann ein Zeitplan mit Fristen festgelegt werden, und ein Produkt kann nacheinander die Phasen des Entwicklungsprozessmodells durchlaufen.
  • Da es leicht verständliche und erklärbare Phasen durchläuft, überwindet es viele Probleme und ist daher sehr einfach zu bedienen.
  • Aufgrund der Stabilität des Workflow-Modells ist es sehr einfach zu verwalten, da jede Phase im Wasserfall-Modell spezifische Überprüfungs- und Lieferprozesse aufweist.
  • Das Wasserfallmodell eignet sich gut für kleinere Projekte, bei denen die Anforderungen sehr gut verstanden werden.
  • Der Zeitplan kann mit Fristen für jede Entwicklungsstufe festgelegt werden, und ein Produkt kann nacheinander die Phasen des Entwicklungsprozessmodells durchlaufen.
  • Klar definierte Phasen.
  • Gut verstandene Meilensteine.
  • Einfach zu ordnende Aufgaben.
  • Ablauf und Ergebnisse sind gut dokumentiert.
  • Verstärkt gute Gewohnheiten: Vor dem Design definieren,
  • Design-vor-Code.
  • Das Modell eignet sich gut für kleinere Projekte und Projekte, bei denen die Anforderungen gut verstanden werden.

Nachteil

Da wir wissen, dass jede Münze zwei Gesichter hat, hat das Wasserfallmodell mit dem großen Zugang zu den Vorteilen des Wasserfallmodells auch einige Nachteile, oder Sie können die unten diskutierten Nachteile nennen:

  • Kein gutes Modell für komplexe und objektorientierte Projekte.
  • Nicht für Projekte geeignet, bei denen ein mittleres bis hohes Änderungsrisiko besteht.
  • Es ist schwierig, Zeit und Kosten für jede Phase des Entwicklungsprozesses abzuschätzen.
  • Kein gutes Modell für komplexe und objektorientierte Projekte.
  • Bis spät in den Lebenszyklus wird keine funktionierende Software erstellt.
  • Veränderte Anforderungen können nicht berücksichtigt werden.
  • Es ist schwierig, Fortschritte in Stufen zu messen.
  • Hohe Risiken und Unsicherheiten.
  • Schlechtes Modell für lange und laufende Projekte.
  • Das Anpassen des Umfangs während des Lebenszyklus kann ein Projekt beenden.
  • Kein Rückkopplungspfad
  • Keine Phasenüberlappung
  • Änderungswünsche können nur schwer berücksichtigt werden.
  • risiko und unsicherheit sind bei diesem prozessmodell hoch.

Verwendungszweck des Wasserfallmodells

Nachdem wir alle Szenarien eingekreist haben, kommen wir zu einem Punkt, an dem wir wissen möchten, wo wir das Wasserfallmodell verwenden sollen.

  • Da in einem Verteidigungsprojekt hauptsächlich Wasserfallmodelle verwendet werden, ist die Anforderung klar, da diese vor dem Übergang in die Entwicklungsphase gut analysiert werden.
  • Dies kann auch in Migrationsprojekten verwendet werden, bei denen die Anforderungen identisch sind. Nur die Plattform oder die Sprachen können variieren / sich ändern.

Fazit

Insgesamt kann ich also sagen, dass das Wasserfallmodell im Vergleich zu großen Projekten am besten für kleine Softwareentwicklungsprojekte geeignet ist, da das Entwerfen, Entwickeln und Implementieren im kleinen Projekt einfacher ist, wenn am Wasserfallmodell gearbeitet wird, da in diesem Modell alle vorherigen Phasen erforderlich sind abgeschlossen sein, wenn zu kommenden Phasen gegangen wird. Im großen Projekt treten daher häufig Probleme und Fehler auf, da es ein großes Modell hat. Daher wird die Testphase jedes Mal fortgesetzt, wenn sie über das Wasserfallmodell implementiert wird, was zu einer geringeren Optimierung und Genauigkeit der Software führt.

Empfohlene Artikel

Dies war ein Leitfaden für das Wasserfallmodell. Hier haben wir die Phasen, Vorteile und Nachteile des Wasserfallmodells erörtert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Was ist AWS?
  2. Was ist Bootstrap?
  3. Was ist ein Bienenstock?
  4. Was ist Unix?
  5. Scrum vs Wasserfall | Vergleich