Home » Software Engineering

The Classical Waterfall Model

In this article, we are going to study one of the software life cycle models, which is the classical waterfall model. We will study the different phases that a software undergoes when developed through the idea of this model, and will also study about the sequence in which each of these phases is executed.
Submitted by Monika Sharma, on September 27, 2019

The classical waterfall model is one of the oldest software lifecycle models that were developed to provide a systematic approach to the developers for developing any software. It can be said that all the other software lifecycle models were derived from this classical waterfall model just by adding some additional features and omitting some.

The name waterfall itself defines the characteristics of the model. As a waterfall flows only downwards and cannot flow back, in the same way, the phases in the waterfall model are followed one after the other in the same sequence as mentioned. And after completing a phase and entering into another phase, we cannot go back to the previous phase.

The different phases that are included in the classical waterfall model are:

  • Feasibility study
  • Requirement analysis and specification
  • Design
  • Coding and unit testing
  • Integration and system testing
  • Maintenance

An overview of these phases of the classical waterfall model can be made from the following diagram:

The waterfall

Each of the phases of this model is executed one after the other. You cannot break the flow and you cannot go back to the previous phase as stated earlier.

This means that if you are in the design phase, then you cannot conduct the requirement analysis and specification study for the software. That has already been earlier and now there is no scope left for making any kind of changes in the software requirements according to the classical waterfall model. All that needs to be completed before getting onto the design phase.

We can also relate this model with our many days to day activities that must be performed in a particular order. This can be well understood with the following example:

Suppose you want to make a dish in a couple of hours. Then your feasibility phase and requirement analysis phase starts in the initial phase of making the dish itself. First, you need to decide what you will be making. That is your feasibility study. Now let’s say your requirements include chopping board, vegetables, flour, spices, oil, etc. You need to list them up before going to the market itself. That’s your requirements and specification phase. Now you prepare everything up and assemble in the utensil. That’s the designing part. And the cooking and tasting part becomes your coding and testing part. Final plating of the dish in the integration part and then you finally present your dish in front of the customers. After that, adding any sort of extra spices or re-heating the dish in some cases can be thought as of your maintenance part.

So you see, if you skip any of the phase-in between or break the flow of these phases, then you will not be able to present your final dish in front of the customers on time.



Comments and Discussions



Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© some rights reserved.