Wasserfallmodell der Softwareentwicklung

Das Wasserfallmodell ist ein klassischer, weitverbreiteter linearer Ansatz für den Lebenszyklus der Softwareentwicklung. Es legt eine Reihenfolge von Phasen mit jeweils klaren Zielen fest. Wie Wasser, das einen Hang hinabfließt, bewegt sich das strikte Modell nur vorwärts.

Das Wasserfallmodell ist strikt und lässt wenig Raum für Änderungen. Tests bilden eine eigene Phase, anstatt die Entwicklung laufend zu begleiten. Dadurch können Fehler in diesem Modell nicht frühzeitig während der Entwicklung erkannt werden.

Waterfall Software Engineering Life CycleRequirementDesignImplementationVerificationMaintenance
Diagramm in voller Größe öffnen

Wasserfallmodell der Softwareentwicklung

Die Phasen folgen in dieser Reihenfolge:

  1. Anforderungen erheben. Erfassen Sie die Anforderungen des Kunden und erstellen Sie die erforderliche Dokumentation.
  2. System entwerfen. Leiten Sie aus den Anforderungen die Architektur sowie den Hardwarebedarf und Softwarebedarf des Systems ab.
  3. Implementieren. Beginnen Sie mit der Programmierung auf Grundlage des Entwurfs. Teilen Sie das Programm in kleine, unabhängige Einheiten auf, testen Sie jede anhand ihrer Spezifikation und integrieren Sie die Einheiten zum vollständigen System.
  4. Integration testen. Fügen Sie die getesteten Einheiten zusammen und testen Sie das gesamte System auf Fehler.
  5. Bereitstellen. Beheben Sie die bei den Integrationstests gefundenen Fehler und bestätigen Sie die Korrekturen durch erneute Tests. Danach ist das System für die Markteinführung und den Einsatz beim Kunden bereit.
  6. Warten. Veröffentlichen Sie Patches oder neue Versionen, um Fehler und Probleme zu beheben, die nach der Auslieferung entdeckt werden.

Die Phasen bauen aufeinander auf. Eine Phase beginnt erst, wenn die vorherige erfolgreich abgeschlossen ist.

Nutzen Sie das Wasserfallmodell, wenn die Anforderungen klar sind, das Produkt stabil ist und für jede Phase genügend Ressourcen zur Verfügung stehen. In der Praxis eignet es sich nur für kleine, überschaubare Projekte. Vermeiden Sie es bei Anforderungen mit mittlerem oder hohem Risiko.

Anforderungsspezifikation und Anforderungsanalyse

Erfolgreiche Softwareentwicklung hängt davon ab, wie gut Anforderungen erfasst und dokumentiert sind. Das Ermitteln und Dokumentieren der Anforderungen heißt Anforderungsspezifikation und Anforderungsanalyse.

Der Kunde, das Managementteam und der technische Support besprechen die Anforderungen im Detail. Sie analysieren, prüfen und dokumentieren sie, bis sie klar und vollständig sind.

User Requirement SpecificationUser Requirement SpecificationFunctionalRequirementsConceptFunctionBehaviorDataI/O OperationsLogicComputationNonfunctionalRequirementsResponse TimeReliabilityAvailabilitySecurityCostTechnologyOtherRequirementsEnvironmental IssuesScheduling Issues
Diagramm in voller Größe öffnen

Spezifikation der Benutzeranforderungen

Nutzen Sie das vom Unternehmen vorgeschriebene Format, etwa Word-Dokumente, Flussdiagramme oder Zeichnungen. Das Ergebnis hält die Wünsche des Kunden im Detail fest und hilft dem Team, sie richtig zu verstehen. Ein Fehler ist jede Abweichung von den Kundenanforderungen. Falsch erfasste Anforderungen bringen ein Projekt schon zu Beginn auf den falschen Kurs.

Spezifikation der Benutzeranforderungen

Dieses nichttechnische Dokument beschreibt die Erwartungen der Nutzer und die geschäftlichen Anforderungen. Die Endnutzer verfassen es. Die darin beschriebenen Anforderungen werden bei der Benutzerabnahme geprüft. Das Dokument bildet die Grundlage für die weitere Anforderungsarbeit und den Systementwurf.

Softwareanforderungsspezifikation

Die Softwareanforderungsspezifikation (SRS) legt fest, wie die Software nach den Wünschen der Nutzer funktionieren soll. Sie dient folgenden Zwecken:

  • Die Vereinbarung zwischen Kunde und Anbieter über die genaue Funktionalität der Software festhalten.
  • Die Grundlage für den Softwareentwurf schaffen.
  • Entwicklung und Tests durch klare Anforderungen erleichtern.
  • Die Ablaufplanung und Kostenschätzung unterstützen.
  • Eine Grundlage für Verifikation und Validierung schaffen.

Software Requirement Specification Process01Software Requirement Specification02Software Architecture03Designing Features and Tasksof Various Modules04Coding05Testing06Validation
Diagramm in voller Größe öffnen

Softwareanforderungsspezifikation

Softwareentwurf

Der Softwareentwurf hat zwei Ebenen:

  • Grobentwurf der Software
  • Detailentwurf der Software

Software DesignFundamentalsDesign ConceptsDesign Process ThatShould Be FollowedAreas That NeedMore AttentionConcurrent Users Tryingto Access the SystemHow Events Are Handledand ControlledHandling ExceptionsHandling DataStructure andArchitectureViewpoints on StructureViewpoints on StyleViewpoints on Design PatternsDefine Programs and FrameworksAnalysis andEvaluationQuality AnalysisEvaluation TechniquesStrategies andMethodsData Structure Design StrategyDesign Strategy for Modules
Diagramm in voller Größe öffnen

Softwareentwurf

Grobentwurf der Software

Der Grobentwurf (HLD) beschreibt den Datenbankentwurf und die funktionale Architektur. Er dient Entwicklern als Orientierung und beantwortet Fragen zum Aufbau des Entwurfs. Bevor der Grobentwurf erstellt werden kann, muss die SRS klar formuliert sein.

Detailentwurf der Software

Der Detailentwurf (LLD) zerlegt den Grobentwurf in kleinere Teile und dokumentiert die Logik, die die Programmspezifikation bildet. Er hält die Details des Systems fest und setzt einen fertigen Grobentwurf voraus.

Vorgehensweisen beim Softwareentwurf

Beim Entwerfen stehen zwei Ansätze zur Wahl:

  • Top-down-Entwurf
  • Bottom-up-Entwurf

Vorgehen beim Top-down-Entwurf

Der Top-down-Entwurf beginnt mit einer Übersicht über das gesamte System. Die Details der Teilsysteme folgen später. Arbeiten Sie sich durch jedes Teilsystem nach unten und definieren Sie es immer genauer, bis Sie die Grundelemente erreicht haben.

Vorgehen beim Bottom-up-Entwurf

Der Bottom-up-Entwurf beginnt mit vollständig definierten Grundelementen. Verbinden Sie sie zu Teilsystemen und setzen Sie diese zusammen, bis das ganze System entstanden ist. Stellen Sie sich vor, wie aus einem gepflanzten Samen nach und nach ein Baum wächst.




Wir garantieren Ihnen, dass Sie mit Ihrer kostenlosen Onlineschulung die Prüfung zum Zertifikat im Softwaretest bestehen!

  1. 01

    Online anmelden

    Wählen Sie Ihre akkreditierte Zertifizierung und schließen Sie die Anmeldung ab.

  2. 02

    Zugangscode erhalten

    Ihr persönlicher Prüfungszugangscode wird Ihnen sofort per E-Mail zugesandt.

  3. 03

    Vorbereiten und Prüfung ablegen

    Nutzen Sie die kostenlose Schulung und beantworten Sie online 50 Multiple-Choice-Fragen.

  4. 04

    Lebenslange Zertifizierung erwerben

    Sie erhalten Ihr weltweit gültiges Zertifikat und ein digitales Abzeichen, dessen Echtheit sich überprüfen lässt.

Muster für Accredited Software Test Manager Certification™
Zur Zertifizierung anmelden

IHRE KOSTENLOSE PREMIUMSCHULUNG ONLINE

Die zweite Auflage von Software Testing Revealed steht für Sie bereit.

Wir haben Ihre Schulung gemeinsam mit einer Gruppe namhafter Unternehmensführungskräfte, Teamleitungen, Coaches, Mentoren, Fachleute und anerkannter Experten für Softwaretests aus allen wichtigen Branchen entwickelt. Alle Besucher von International Software Test Institute™ können darauf zugreifen. Sie finden die Unterlagen unter Ihr kostenloses Softwaretest-Buch und Ihre kostenlose Premium-Schulung zu Softwaretests im Hauptmenü.

Die Schulungsunterlagen sind urheberrechtlich geschütztes geistiges Eigentum von International Software Test Institute™. Wir stellen sie allen kostenlos zur Verfügung, weil unser Fachwissen Testprofis unterstützt und die Branche weiterbringt.

Ihre Zertifizierungsprüfung besteht aus Auswahlfragen. Nutzen Sie Ihre Onlineschulung, um sich das Wissen anzueignen, das Sie für die Prüfung und Ihre Softwaretestzertifizierung brauchen.

Wir garantieren Ihnen, dass Sie die Prüfung für Ihre Softwaretestzertifizierung mit Ihrer kostenlosen Premium-Onlineschulung bestehen!