Waterfall model is one of the initial models introduced in Software Development Life Cycle. So, it is also known as the "Traditional Model". It is called waterfall model because as the water once falls from the mountain cannot be returned back, in the same way once a phase of development cycle is completed we cannot go back to that phase again. The development life cycle traverses different phases and follows a linear sequence. So, this model is also known as Linear Sequential Model.
It is easy to use and simple to understand model which includes the following phases-
In this model, each phase must be completed before the next phase can begin as the outcome of previous phase will act as the input for the next phase.
All the possible requirements of the system to be developed are captured in this phase. Once the requirements for the software are gathered it gets freezed means it cannot be changed. Here the requirement feasibility test is done to ensure whether the requirements are testable. Requirement understanding document is delivered to the next stage which describes all the requirements of the client.
After the completion of requirement gathering phase comes the system Design phase in which all the requirement specifications are studied and a design is created which has both the hardware as well as software requirements. Designs are documented here and high level design document(HLDD) and low level design document(LLDD) are delivered to the next stage which keeps the record of which module should be linked up with which.
The outcome of system design phase becomes input of this phase. In this the system is first developed in small programs called units which are integrated in next phase.
All the units that are developed in the implementation phase are integrated into a system in this phase after the testing of the each unit. After the complete Integration the entire system is tested for any faults or failures.
After the functional and the non-functional testing is performed the product is released in the market.
In this phase, the maintenance of the software product is taken care of like making changes to the software that are required for the intended functionality of the product over a period of time.
The Waterfall model is This model is applicable for following types of projects-