Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information & Communication Technology Engineering/
  4. ICT Semester 5/
  5. Software Engineering (4353202)/

4 mins· ·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Lecture 06: The Waterfall Model

Lecture 06: The Waterfall Model

Unit 2: Software Development Life Cycle (4353202)

Lecture Agenda

  • Recap of SDLC Introduction
  • Historical Context of the Waterfall Model
  • What is the Waterfall Model?
  • Detailed Phases of the Waterfall Model
  • Advantages of the Waterfall Model
  • Disadvantages of the Waterfall Model
  • When to Use the Waterfall Model
  • Summary and Q&A

Recap of SDLC Introduction

The SDLC is a systematic, phased approach to software development, encompassing Requirement Analysis, System Design, Implementation, Testing, Deployment, and Maintenance. It provides a structured framework for building high-quality software.

Historical Context of the Waterfall Model

The Waterfall Model is one of the oldest and most traditional SDLC models. It was first formally described by Winston W. Royce in 1970, though he presented it as a flawed model that needed significant modifications.

Despite Royce's original intent, the simple, linear representation became widely adopted, particularly in large-scale government and defense projects, due to its clear structure and emphasis on documentation.

What is the Waterfall Model?

The Waterfall Model is a sequential, linear software development model. In this model, each phase must be completed and reviewed before the next phase can begin, and there is no overlapping in the phases.

The output of one phase serves as the input for the next phase, flowing downwards like a waterfall.

graph TD A[Requirements] --> B[Design] B --> C[Implementation] C --> D[Testing] D --> E[Deployment] E --> F[Maintenance]

Detailed Phases of the Waterfall Model

  1. Requirement Gathering and Analysis:
    • Activity: All possible requirements of the system are captured, analyzed, and documented.
    • Deliverable: Software Requirement Specification (SRS) document.
    • Key: Understanding the complete system before moving forward.
  2. System Design:
    • Activity: The requirement specifications are translated into a system design, defining the overall architecture, components, and interfaces.
    • Deliverable: Design Document Specification (DDS) or Architectural Design Document.
    • Key: Creating a blueprint for the system.

Detailed Phases of the Waterfall Model (Cont.)

  1. Implementation (Coding):
    • Activity: The system design is translated into executable code. Smallest units are developed and tested (unit testing).
    • Deliverable: Source code, compiled executables, unit test reports.
    • Key: Building the software components.
  2. Integration & Testing:
    • Activity: All developed units are integrated, and the entire system is tested to verify that it meets the specified requirements.
    • Deliverable: Test reports, defect logs.
    • Key: Ensuring all parts work together as expected.

Detailed Phases of the Waterfall Model (Cont.)

  1. Deployment (Installation):
    • Activity: The tested software is released to the customer or deployed in the production environment.
    • Deliverable: Operational software system.
    • Key: Making the software available for use.
  2. Maintenance:
    • Activity: Ongoing support, bug fixing, and enhancements based on user feedback or changing requirements.
    • Deliverable: Updated software versions, maintenance reports.
    • Key: Ensuring the software remains functional and relevant over time.

Advantages of the Waterfall Model

  • Simplicity and Clarity: Easy to understand, manage, and follow due to its rigid, linear structure.
  • Clear Deliverables: Each phase has specific, well-defined deliverables and review processes, providing clear milestones.
  • Strong Documentation: Emphasizes comprehensive documentation at each stage, which is useful for knowledge transfer and future maintenance.
  • Good for Small, Stable Projects: Works well for projects where requirements are very well understood, stable, and not expected to change.

Disadvantages of the Waterfall Model

  • Inflexibility: Very difficult and costly to go back and change requirements once a phase is completed. This is its biggest drawback.
  • Late Delivery of Working Software: No working software is produced until late in the life cycle, making it hard to get early customer feedback.
  • High Risk and Uncertainty: Not suitable for complex or long-term projects where requirements are likely to evolve. Risks are often discovered late.
  • Limited Customer Involvement: Customer interaction is primarily at the requirements phase, leading to potential misalignment with actual needs.

When to Use the Waterfall Model

The Waterfall model is best suited for projects where:

  • Requirements are **very well known, clear, and fixed** from the outset.
  • The product definition is **stable** and unlikely to change.
  • The technology used is **well-understood** and not dynamic.
  • There are **no ambiguous requirements**.
  • The project is **short** and simple.
  • Strict **regulatory compliance** or extensive documentation is required.

Summary and Q&A

Key Takeaways

  • The **Waterfall Model** is a **sequential, linear** SDLC model, where each phase completes before the next begins.
  • It emphasizes **planning and documentation**, making it simple to manage.
  • Its primary weakness is **inflexibility** and the difficulty of accommodating changes.
  • Best suited for **small, stable projects** with clear, unchanging requirements.

Q & A

Questions & Discussion