It is a classical software development life cycle model and the phases are sequential. The different types of phases are;
- Requirement
- The requirements of the clients are gathered to implement. The functional requirements document that has been signed by all the stake holders to provide the developer with requirements that has to be fulfilled.
- Design
- This phase transforms the requirements into structures. There are two types of designs, high level and low level.
- Coding
- Here the programmers translate the structure into codes.
- Testing
- This phase ensures that each code is working properly.
- Deployment
- After each module has been coded and tested it is deployed to the client’s environment.
- Maintenance
- The software is again checked for errors and the functions are enhanced as per the requirements.
The drawback of this model however is, it takes a lot of time to process as it involves various phases.