Understanding Waterfall Model
SDLC – Waterfall Model, is one of the earliest models of the software development cycle. The different phases in the waterfall model progress sequentially downwards, thereby, resembling a waterfall. In this model, each phase requires completion to begin the next phase. This is because the outcome of the previous phase will act as the input for the current phase.
Following phases occurs in this model-
- Firstly, Requirement Gathering & Analysis
- Secondly, System Design
- After that, Implementation
- Moreover, Testing
- Further, Deployment
- Lastly, Maintenance
Requirement Gathering & Analysis
All the possible requirements of the system to be developed are captured in this phase. Here, the requirement feasibility analysis is done to ensure whether the requirements are feasible or not. In this phase, a Software Requirement Specification (SRS) document is created, containing both functional and non-functional requirements of the software to be developed.
System Design
In this phase, we gradually move forward to answer ‘How’ of the system after answering the ‘What’ of the system in the previous phase. Here, we create design documents specifying the different modules/components of the system, there interfacing, data flow, etc.
Implementation
The implementation phase or coding phase involves the development of a software product, keeping previous phase design documents as the base.
Testing
This phase involves the validation of the software product developed in the previous phase as per the functional and non-functional requirements set out during the requirement gathering and analysis phase.
Deployment
The deployment phase involves making the software live in the production/real environment after it tested for its tested thoroughly in the previous phase.
Maintenance
Over a period of time, a software product may require some updations in order to remain functional in the real-world environment. The maintenance phase takes care of this activity by timely tuning of the software as per the requirement.
Advantages
- It is easy to understand and implement.
- There are specific deliverables in each phase of the life cycle.
Disadvantages
- As this model requires freezing of requirements, hence, it not suitable for projects in which changes in requirements are possible/inevitable.
- Working model is only visible in the later phases of the life cycle – after the implementation phase.
Get certified and unlock more opportunities. Practice and Validate your skills to become a Certified Manual Tester Now!