What Is Waterfall Model In Software Engineering ?

Waterfall model is one of the process models used in software development .

Waterfall model definition:

The waterfall model is a sequential design process, often used in software development processes, where progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation, and Maintenance.

This model is also called as the classic life cycle model as it suggests a systematic sequential approach to software development. This one of the oldest model followed in software engineering.

The process begins with the communication phase where the customer specifies the requirements and then progress through other phases of planning, modeling, construction and deployment of the software.

  5 Phases Of Waterfall Model :

  1. CommunicationWaterfall Model
  2. Planning
  3. Modeling
  4. Construction
  5. Deployment

1. Communication

In communication phase the major task performed is requirement gathering which helps in finding out exact need of customer. Once all the needs of the customer are gathered the next step is planning.

2. Planning

In planning major activities like planning for schedule , keeping tracks on the processes and the estimation related to the project are done. Planning is even used to find the types of risks involved throughout the projects.  Planning describes how technical tasks are going to take place and what resources are needed and how to use them.

3. Modeling

This is one the important phases as the architecture of the system is designed in this phase. Analysis is carried out and depending on the analysis a software model is designed. Different models for developing software are created depending on the requirements gathered in the first phase and the planning done in the second phase.

4. Construction

The actual coding of the software is done in this phase . This coding is done on the basis of the model designed in the modeling phase. So in this phase software is actually developed and tested.

5. Deployment

In this last phase the product is actually rolled out or delivered & installed at customer’s end and support is given if required. A feedback is taken from the customer to ensure the quality of the product.

From the last two decades Waterfall model has come under lot of criticism due to its efficiency issues. So let’s discuss the advantages and disadvantages of waterfall model.

Advantages Of Waterfall Model

Here are few of the advantages of this model :

The waterfall model is the oldest and most widely used model in the field of software development. There are certain advantages of this model, which makes it, one of the most widely used models as yet.

  1. Being a linear model, it is very simple to implement.The amount of resources required to implement this model are minimal.
  2. Documentation is produced at every stage of the software’s development. This makes understanding the product designing procedure, simpler.
  3. After every major stage of software coding, testing is done to check the correct running of the code.

 Disadvantages of Waterfall Model

The question that must be bothering you now is that with so many advantages at hand, what could be the possible disadvantages of the waterfall model? Here are a few:

  1. Ironically, the biggest disadvantage is one of its greatest advantages. You cannot go back a step; if the design phase has gone wrong, things can get very complicated in the implementation phase.
  2. Often, the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between, may cause a lot of confusion.
  3. Small changes or errors that arise in the completed software may cause a lot of problems.
  4. Until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to inform the developers, if what has been designed is exactly what he had asked for.

This is my first & short presentation slide I have made .  Please like the slide if you found it helpful I would be grateful.

Waterfall Model PPT

[slideshare id=22606242&doc=waterfallmodel-130607084652-phpapp01]

Waterfall model is one of the most important models in software engineering. This was a short explanation about the model and its advantages and disadvantages.  If you have any doubts regarding waterfall model or any software engineering models you can comment here or ask them on our Facebook page.

When should you use Waterfall Methodology?

– This is a test for you guys. After learning about all the phases, advantages and disadvantages of waterfall methodology when do you think is it right to use waterfall methodology? Please let us know your answers .

Learn more about various SDLC models :