The waterfall model was the first process model, presented by Winston Royce in 1970. It can also be called a linear-sequential life cycle model.
The waterfall model is basic to understand and use. Every stage has to be completed before the next stage can start and there is no overlap in the phases.
The waterfall model consists of the following steps, which are carried out in a sequence:
This phase deals with the:
This stage specifies the following:
In this phase, the software is coded, and then unit testing is performed. Unit testing can be defined as testing the functionality of each
All units are combined to test the overall software. Testing a software verifies and ensures that it meets the client’s requirements. In this phase, flaws and errors are also identified.
Software is released into the market or deployed to the customer after the functional and non-functional testing.
Once installation is done, modifications and improvements are made from time to time, according to the client’s requirements. New versions of the software could be released too.
The waterfall model should only be used when:
The benefits of cascading development are that it allows for division and control. A plan with deadlines can be fixed for each stage of development and a product can go through the stages of the development process model in sequence. Development ranges from concept to maintenance. Each phase of development is in strict order and flow:
The downside to this model is that it does not have much space for thought or correction. Once an application is in testing, it becomes very tough to go back and change something that has not been well documented or thought out in the conceptual phase.