Waterfall model is oldest paradigm proposed by Winston Royce in 1970 for software engineering used software development process, in which sequentially developed through series of phases. The series of phases includes requirement gathering and analysis, planning, designing, coding, testing, deployment and maintenance.
All requirements are well understood, when work flows from requirement gathering through deployment in linear approach.
It is also called as “classic life cycle” or “linear sequential life cycle” that begins with customer specification of requirement and progresses through series of phases in ongoing support (feedback) to complete software.
All phases are progresses steadily downwards like waterfall and each phase must be completed before moving to the next phase. The phases are as -:
A] Requirement Gathering and Analysis-:
All possible requirements should be gathered and analyse about customer needs, define and clearly state terms and documented in Software Requirement Specification.
B] Planning -:
It includes estimating, scheduling and tracking process based on analysed requirement.
C] Designing -:
Detailed system architecture or design can be produced on the basis of collected requirement.
It is done by the designer.
D] Coding -:
Construct the code as per the design or system architecture pre-defined coding standard.
It is done by the programmer or development team.
E] Testing -:
Test and validate constructed code with the help of compiler, debugger, interpreter and media editor.
It is tested by tester and test to find out defect and mismatch requirement (functional and non functional).
F] Deployment -:
Once functional and non functional requirement test, the product is deployed into the market for customer uses.
G] Maintenance -:
If some issues raised after customer uses, delivery support feedback should be provide to development team to enhance product in better software version.
It is done to deliver modified version to the customer.
When it is to be used -:
It is used only, when all requirements well understood, clearly stated, defined and fixed.
Advantages of Waterfall Model -:
1. It is simple, easy to understand and use.
2. It is processed systematically one by one after successfully completed of first.
3. Requirement should be very well understood and review each process.
Disadvantages of Waterfall Model -:
1. It is very difficult to go back and change something after reviewed each phase.
2. High amount of risk and uncertainty.
3. It is poor model and long time ongoing project.