The main formal description of the waterfall model is frequently referred to as a 1970 article by Winston W. Royce. Royce presented this model as an example of a flawed, non-working model.
Waterfall methodology was the first SDLC Model to be utilized generally as a part of Software Engineering to guarantee the achievement of the Project. In “The Waterfall” approach, the entire procedure of Software Development is partitioned into discrete stages.
It is also known as the linear-sequential life cycle model. This means that any phase in the development process begins only if the previous phase is complete. In the waterfall model phases do not overlap.
- A Water Fall Model is easy to flow.
- It can be implemented for any size of the project.
- Every stage has to be done separately at the right time so you cannot jump stages.
- Documentation is produced at every stage of a waterfall model allowing people to understand what has been done.
- Testing is done at every stage.
The sequential phases in the Waterfall model are:
Requirement and Analysis: This is the first phase of the waterfall model which includes a meeting with the customer to understand his requirements. All the requirements can be captured in this phase and documented in a requirement specification DOC.
System Design: It helps in determining hardware and systems necessities furthermore helps in characterizing general system architecture. In short, this phase lays a fundamental for actual programming and implementation.
Implementation: With inputs from system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing.
Integration and Testing: In this stage, both individual segments and the integrated entire are systematically checked to guarantee that they are without mistake and completely meet the requirements laid out in the first step. Post integration of the entire system is tested for any faults and failures.
Deployment of the system: Once the functional and nonfunctional testing is done, the product is sent in the customer environment or released into the business sector.
Maintenance: This is the final phase of the waterfall model, the whole product has been delivered to the client once the completion of software development. If any issues raise from customers’ environment, software process has to be followed all over again right from the first phase i.e requirement analysis. Maintenance is done to deliver these changes in the customer environment.