What is Waterfall Model?
Definition: The waterfall model in software engineering is a famous and good version of SDLC (System Development Life Cycle). The waterfall model is a linear and sequential model, which means that a development phase cannot begin until its previous phase is completed. We cannot overlap the phases in this model.
“We can imagine a waterfall in software engineering in the following way: –
Once the water starts flowing from the top of the rock and starts falling towards the bottom of the mountain and this water cannot go back upwards. ”
Similarly the it also works, once a phase of development completed then we go to the next phase but we cannot go back to the previous phase.
Waterfall model Phases
SDLC waterfall model phases has main six-phase. It shows below with details.
- Requirement Analysis
- Designing
- Coding
- Testing
- Deployment
- Maintenance
Waterfall model Diagram
Requirements Gathering and analysis:
In this phase, collects all possible requirements from the customers to develop a software and also prepared SRS(software requirement specification) and BRS(Business Requirements specification) and CRS(Customer requirement specification) documents.
Designing:
Based on all requirements and feasibility studies, it is a process to design and develop system architecture.
Coding:
In this phase, developers build a system in small programs and integrate it into the next phase.
Testing:
After completing the coding phase, testers will test the software and finds faults and failures. Also, maintain the quality of the software.
Deployment:
In this phase, When there is completed functional and non-functional testing and there are no major and critical defects exits, the products will be deployed on the client’s environment or released in the market.
Maintenance:
When customers will face any issues, those will be fixed in this phase and if there is any need for enhancement of the product it will be done in this phase and release in the client’s environment.
We use the this model because It is a standard procedure to develop any new software or application. It is also called the sequential model, the basic model, and the traditional model.
In the waterfall process model, When we complete any stage such as if the Requirement stage is complete and move on next step then the requirement stage will be freeze and can not go back and change the requirements.
Use of waterfall model
- If we have small projects at that time we can choose this model to develop software.
- When we have requirements that are freeze.
Waterfall Model Advantages And Disadvantages
Advantages Of Waterfall Model
- When you choose the this model, the products’ quality will be good.
- Due to requirements changes not allowed, three are fewer chances of bugs.
- It is very simple and easy to use to develop software.
- The investment will be less at the initial stage.
- It is easy to maintain due to the rigidity of the model.
Disadvantages Of Waterfall Model
- If you choose the this model, requirement changes not allowed.
- Time consumption is more due to sequential flow.
- Investment is more compared to other models.
- The requirement and designing phases not tested because the testing phase will be started after the coding phase so there are more chances to bugs into the requirement and design phase.
- It is not suitable for long and ongoing projects.
Conclusion
The waterfall methodology is one of the oldest and widely use in SDLC models. It usually use in small and simple projects. It did not use in complex projects in which product requirements change very fast.
1. RAD Model