BCA / B.Tech 8 min read

Waterfall Model

What is the Waterfall Model in Software Engineering?

For software engineering, the Waterfall Model is a well-known and effective version of the SDLC (System Development Life Cycle). The Waterfall Model is a linear and sequential model, which means that a development phase cannot begin until its previous phase is complete. We cannot overlap phases in the Waterfall Model.

Imagining the Waterfall Model

"We can imagine the Waterfall as follows: once water starts flowing over the edge of a cliff and begins to fall down the mountain, it cannot go back up."

The Waterfall Model works in the same way. Once a development phase is complete, we move to the next phase but cannot go back to the previous one.

In the Waterfall Model, the output of one phase acts as the input for the next phase.

Phases of the Waterfall Model

The Waterfall Model consists of the following 5 phases:

Waterfall model phases
  • 1. Requirement Phase

    The Requirement phase is the very first phase of the Waterfall Model. In this phase, the system's requirements are gathered and documented. This phase is very important because the subsequent phases are based on it.

  • 2. Design Phase

    The Design phase is based on how the software will be built. Its main objective is to prepare a blueprint of the software system so that no difficulties are faced in the upcoming phases and all requirements from the requirement phase are addressed.

  • 3. Implementation Phase

    In this phase, hardware, software, and application programs are installed, and the database design is implemented. The software has to go through testing, coding, and debugging processes. This is the longest-running phase in the Waterfall model.

  • 4. Verification Phase

    In this phase, the software is verified, and it is evaluated whether we have built the right product. Various types of testing are performed, and every area of the software is checked.

    If we have not verified the software well and any defect remains, no one will use it, so verification is extremely important. One advantage of verification is that it reduces the risk of software failure.

  • 5. Maintenance Phase

    This is the final phase of the Waterfall model. When the system is ready and users start using it, the problems that arise have to be solved from time to time. Maintaining the finished software as per time is called maintenance. There are three types of maintenance in SDLC:

    • 1. Corrective Maintenance
    • 2. Adaptive Maintenance
    • 3. Perfective Maintenance