Describe the Waterfall Software Process Model with Advantages and Disadvantages

Waterfall Software Process Model:

Waterfall model software process model was derived from general system engineering process and it is so called as the stages go top to bottom and while one stage of the process is complete it moves to the next stage and not supposed to come back to any previous stage. That is one stage is supposed to be started if and only if the previous stage is finished and approved to move on to the next stage. However, in practice, things doesn't happen this way.

Following is an illustration of the involved stages of Waterfall model.

Stages of Waterfall Software Process Model:

Requirements Analysis & Definition:

The complete service documentation will be prepared in this stage by the developers who will be consulting with the client. The clients will provide their necessities along with constraints and flow of work. The developers will analyze the given information to create the documentation both for developers and for the clients. The next stage starts with this approved document.

System & Software Design:

The system design process then, based on the approved project documentation, defines the software and hardware requirements for the project. The software architecture will be built which will include modules and their relations, databases and their relations At the end of the system, the developers will exactly know what they are going to develop, what are the problems to be solved, how the parts will be integrated etc.

Implementation & Unit Testing:

At this stage all the parts of the systems will be developed and those will be tested separately to find out if each part is working as expected. If bugs were found, those will be solved to. At the end of this stage, all parts of the system are supposed to working accurately as desired.

Integration & System Testing:

At this stage, the approved system parts will be integrated into one complete system. The complete system will then be tested again to see if it meets the requirements approved in the first stage, If any bug were found, those will be solved.

Operation & Maintenance:

At this stage, the fully functional system will be put to real life use. Errors or bugs which will now be discovered will be solved too. The maintenance part continues with system enhancement and along with changes in requirements which might cause new development or changes in system.

Advantages (Pros) of Waterfall Model:

  1. Each stage produces a document thus the whole development process remain documented.
  2. Waterfall model fits with other engineering process models which is an advantage as software engineering is different from other types engineering.

Disadvantages (Cons) of Waterfall Model:

  1. It is hard to implement changes at any stage as each stage documented in earlier stage.
  2. In practical, gaps or bugs or errors can of any stage like design, requirements etc can be discovered at a time while another stage has already been started. Thus it is obviously required to pause the current stage and make changes to documents and rework current stage to suit the changes.
  3. It is costly if the project requirements has chances of frequent changes.
Waterfall model is generally used for developing parts of larger systems where requirements are fixed.

Software Process Models



Contact Us