Waterfall Model Phases

Waterfall model is one of the most preferred and widely implemented software design principles. The ease of implementation and the systematic approach at various phases in waterfall model make it the most sought after model among software professionals. Read on to know more on waterfall model phases.
Software development life cycle is an extensive process which is often divided into phases or stages to reduce the implementation complexity. There are different design principles of software development life cycle, which aim at developing a software model as per customer's requirements. Although, the ultimate aim of these principles is same, they greatly differ in their basic implementation approach. One such software design principle, that is widely used, is waterfall model. This model was introduced by Winston W. Royce in 1970 and from thereon it has become the fundamental model for software development in many software companies. Before exploring the various waterfall model phases, let us understand in brief what exactly is waterfall model.

What is the Waterfall Model

Waterfall model in software engineering is basically a development approach which follows a 'top down' mechanism. The development process goes through several phases to meet the customer's specifications and requirements. One distinguishing feature of waterfall model that sets it apart from other software development models is that, in this method there is no simultaneous execution of two phases. The second phase begins only when the preceding phase has been completely implemented. This approach is very simple to implement and there is transparency at every stage. Review meetings are conducted at the end of every stage to verify whether the development process is on track and meets the customer requirements. Systematic documentation is done at every phase of waterfall model.

Waterfall Model Phases

Given below are the various phases of waterfall model. Although, the phase name may differ for every software organization, the basic implementation steps remain the same.

Requirement Analysis and Software Definition
This is the first phase of waterfall model which includes a meeting with the customer to understand his requirements. This is the most crucial phase as any misinterpretation at this stage may give rise to validation issues later. The software definition must be detailed and accurate with no ambiguities. It is very important to understand the customer requirements and expectations so that the end product meets his specifications.

System Design
The customer requirements are broken down into logical modules for the ease of implementation. Hardware and software requirements for every module are identified and designed accordingly. Also the inter relation between the various logical modules is established at this stage. Algorithms and diagrams defining the scope and objective of each logical model are developed. In short, this phase lays a fundamental for actual programming and implementation.

System Implementation
This is the software process in which actual coding takes place. A software program is written based upon the algorithm designed in the system design phase. A piece of code is written for every module and checked for the output.

System Testing
The programmatically implemented software module is tested for the correct output. Bugs, errors are removed at this stage. In the process of software testing, a series of tests and test cases are performed to check the module for bugs, faults and other errors. Erroneous codes are rewritten and tested again until desired output is achieved.

System Deployment and Maintenance
This is the final phase of the waterfall model, in which the completed software product is handed over to the client after alpha, beta testing. After the software has been deployed on the client site, it is the duty of the software development team to undertake routine maintenance activities by visiting the client site. If the customer suggests changes or enhancements the software process has to be followed all over again right from the first phase i.e requirement analysis. This is the biggest shortcoming of the waterfall model.

Thus, waterfall model is easy to implement and more often than not produces desired results. The inter-dependence of waterfall model phases may lead to developmental issues, if a systematic approach is not followed at each step. However, in spite of these shortcomings, waterfall model is adopted all across the world.
By
Last Updated: 10/10/2011
Like This Article?
Follow:
Post Comment | View Comments
Your Comments:
Your Name: