Waterfall Development Model
The waterfall model is one of the earliest models to be designed. It is a sequential software development process. In the waterfall model, tasks are executed sequentially. The progress of software development is seen as a sequence of phases like Requirements->Design->Implementation->Testing->Deployment->Maintenance.
The basic waterfall model is shown below:
Phases of Waterfall development model.
Requirements
The first phase of the waterfall model is requirements elicitation, where end user requirements are captured and a feasibility study is conducted. A software requirements document (SRS) is then created.
Design
In this phase, the high- level and low-level software design is carried out.
Implementation
Developers start coding and finish software development in this phase.
Testing
After the developers have completed the coding and provided the testers with a final build, testing begins in this phase.
Deployment
After the software has been tested and released, it is used in the customer environment.
Maintenance
In maintenance phase the maintenance activities are done for the deployed software.
Disadvantages of Waterfall Model
- As you can see in waterfall model testing tends to happen towards the end of the project life cycle so defects are detected close to the live deployment date which makes it very difficult to find and fix those defects.
- The cost of defects is very high in this model as they are found in the end of the project life cycle.
- Requirements need to frozen before any other phase can start.