Domesticated Brain

The waterfall model


The waterfall model is a software development process model widely used over the past few decades. It’s a sequential and linear software development process model that includes a set of specified phases.

The next thing that should be mentioned about the waterfall model is that the single phase must be completed to commence the next phase of the sequential process and the output of the present phase will pass into the next phase as an input.



Following are the principle stages of the waterfall model


Requirements analysis and definition

The system’s services, constraints and goals must be clearly identified and documented with participation of the system users. The system’s requirement specification would be the ultimate output of the requirement analysis and definition process.


System and software design

During this phase the system would be design according to the requirement specification of the requirement analysis and definition phase. The overall system architecture and the software design would be determined and fundamental software system abstraction and their relationships are also described.


Implementation and unit testing                

During implementation and unit testing phase the system is programmed and developed as a set of programs or program unit and test individually.


Integration and unit testing

The developed program units would be integrated into a complete software application and test using system testing to ensure that the software full fill the requirements. After completing the integration and unit testing of the software it will be delivered to the customer.


Operation and maintenance

Operation and maintenance is the longest phase in the waterfall model. The software system will install in the client end for practical use and the errors that are not discovered during the earlier stages of the life cycle also reported to the developer and corrected.


For More detailed reference please read the book ‘’Software Engineering Seventh Edition’’ by Sommerville


Advantages of the waterfall model


The waterfall model is really easy to understand and could be use to develop a software system if the requirements are very well understood.


Each phase of the model and work load can clearly identify as the waterfall model has well defined phases and milestones. Phases are also completed one by one in a sequential order without overlapping each other.


The waterfall model is more suitable for small projects with the well defined requirements and also when compared to the methodologies like agile it’s rather simple and easy to use.


At the end of the each phase the waterfall model has specific deliverables and a review process too.