What Is Waterfall Model In Software Engineering ?

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

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, AnalysisDesign, Construction, TestingProduction/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 like planning, modeling, construction and deployment of the software.

 Waterfall Model In Software Engineering

  5 Phases Of Waterfall Model :

  1. Communication
  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 advantages listed by Buzzle.com :-

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.

Now I have one homework for you. Share this article with your classmates or friends through Facebook. Also if you have developed any software using Waterfall model please let us know in comment section.

Summary
Article Name
Waterfall Model in Software Engineering
Author
Description
Waterfall Model is called as classic life cycle model as it suggest systematic sequential approach to software development. Its advantages and disadvantages are also listed.
What Is Waterfall Model In Software Engineering ? Rahul Tilloo Software Engineering,,,,,
Waterfall model is one of the process models used in software development . 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...
Waterfall model is one of the process models used in software development . <blockquote>The <b>waterfall model</b> is a <a title="Sequence" href="http://en.wikipedia.org/wiki/Sequence" rel="nofollow">sequential</a> <a title="Design" href="http://en.wikipedia.org/wiki/Design" rel="nofollow">design</a> process, often used in <a title="Software development process" href="http://en.wikipedia.org/wiki/Software_development_process" rel="nofollow">software development processes</a>, where progress is seen as flowing steadily downwards (like a <a title="Waterfall" href="http://en.wikipedia.org/wiki/Waterfall" rel="nofollow">waterfall</a>) through the phases of Conception, Initiation, <a title="Analysis" href="http://en.wikipedia.org/wiki/Analysis" rel="nofollow">Analysis</a>, <a title="Software design" href="http://en.wikipedia.org/wiki/Software_design" rel="nofollow">Design</a>, Construction, <a title="What Is Software Testing ?" href="http://www.technotrice.com/what-is-software-testing/" target="_blank">Testing</a>, <a title="Implementation" href="http://en.wikipedia.org/wiki/Implementation" rel="nofollow">Production/Implementation</a>, and <a title="Software maintenance" href="http://en.wikipedia.org/wiki/Software_maintenance" rel="nofollow">Maintenance</a>.</blockquote> <span id="more-370"></span>This model is also called as the <strong>classic life cycle model</strong> 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 like planning, modeling, construction and deployment of the software. <p style="text-align: center;"> <a href="http://www.technotrice.com/wp-content/uploads/2013/05/waterfall-model.jpg"><img class="aligncenter wp-image-378" title="Waterfall Model" src="http://www.technotrice.com/wp-content/uploads/2013/05/waterfall-model.jpg" alt="Waterfall Model In Software Engineering" width="207" height="403" /></a></p> <h3 style="text-align: center;">  <strong>5 Phases Of Waterfall Model :</strong></h3> <ol> <li><span style="line-height: 13px;">Communication</span></li> <li>Planning</li> <li>Modeling</li> <li>Construction</li> <li>Deployment</li> </ol> <h3>1. Communication</h3>   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. <h3>2. Planning</h3> 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. <h3>3. Modeling</h3> 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. <h3>4. Construction</h3> 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. <h3>5. Deployment</h3> 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. <h3 style="text-align: center;">Advantages Of Waterfall Model</h3> Here are few advantages listed by Buzzle.com :- <blockquote>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. <ol> <li>Being a linear model, it is very simple to implement.The amount of resources required to implement this model are minimal.</li> <li>Documentation is produced at every stage of the software's development. This makes understanding the product designing procedure, simpler.</li> <li>After every major stage of software coding, testing is done to check the correct running of the code.</li> </ol> </blockquote> <h3 style="text-align: center;"> Disadvantages of Waterfall Model</h3>   <blockquote>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: <ol> <li>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.</li> <li>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.</li> <li>Small changes or errors that arise in the completed software may cause a lot of problems.</li> <li>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.</li> </ol> </blockquote> This is my first & short presentation slide I have made .  Please like the slide if you found it helpful I would be grateful. <p style="text-align: center;"></p> Now I have one homework for you. Share this article with your classmates or friends through Facebook. Also if you have developed any software using Waterfall model please let us know in comment section.
About Rahul Tilloo

Hi I am Rahul.
I am Computer Science Engineering Student.
Being a computer science student I am into Technology & I know C,C++ & Java.
You can get in touch with me on Google + || Facebook || Twitter

TechnoTriceSolutions To Your UNIX & Software Engineering Problems2014
%d bloggers like this:
Read previous post:
Setup A Sun Solaris Jumpstart Server
How To Setup A Sun Solaris Jumpstart Server

Close