What is the Waterfall model?
Waterfall Model is a sequential model that divides software development into different phases. It is In the waterfall model, progress is as flowing steadily downwards (like a waterfall) through the phases of the feasibility study, analysis, design, coding, testing, implementation, and maintenance.
The different phases of the waterfall model are
1. Feasibility study
- This phase is used to check whether the new proposed system is economically, technically, and operationally feasible or not.
- In this phase, information is gathered about what outputs to be produced, what input is required, and what process can be used and then different solution strategies are formulated.
- The output of this phase is a feasibility report.
2. Requirement analysis and specification
- This phase analyzes and specifies the requirement of users/customers and documents them properly.
- Finally, the requirements organized systematically in the form of a document called a software requirement specification (SRS) document.
- The output of this phase is a software requirement specification (SRS) document.
3. System and software designing phase
- In the design phase, the overall structure or architecture is developes which is the transformation of the requirement specified in software requirement specification (SRS).
4. Coding and module testing
- In this phase, system design is translating into source code also called program code.
- The output of this phase is a programmed module.
5. Integration and system testing
- The individually tested module is integrating here according to the planned system to develop the system.
- There are two main testings: Alpha testing – Which is done at the developer end and Beta testing – Which is done at the user end.
- The output of this phase is the testing and integration report.
6. Implementation / Installation and maintenance
- In this phase, the system is installed at the user end and it is checked if there is any up-gradation required in hardware or software element at the user end.
- There is a need of maintaining the software once the software installation is complete. This ensures at the software is working properly on a user site.
Advantages and disadvantages of waterfall model
Advantages of waterfall model :
- It is easy to use and understand.
- No overlapping between the phases.
- This model is suitable for small projects.
- It is a linear sequence model. It works in a flow step by step.
- Each phase generates output for the next phase that’s why its visibility is high.
- It provides more flexibility.
- This model provides better documentation for the employees.
- Low cost.
- It is easy to maintain.
Disadvantages of waterfall model:
- This model does not work well for large projects.
- We cannot go back to the previous phase to change anything or any requirement.
- It can take a long time to complete the project.
- It is a very hard task to make any changes in the project if the customer not satisfies.
- High risk to make a project.