Information Technology has undergone tremendous changes in the last two decades and improved a lot. Technology never stands still but keeps on improving and many changes have happened with the improvement of the technology.
The processes and methods of software development also changed a lot during the last two decades. Software Development Life Cycle (SDLC) has been introduced to ease the process of software development and in SDLC, Waterfall model is the first model that was introduced. It is also known as linear-sequential life cycle model and in this model, each phase should be completed before taking up the next one. There should not be any overlapping of phases.
Waterfall Model design
As mentioned in the beginning of the article, waterfall model was the first SDLC model that is accepted worldwide. In this model outcome of each phase will be the input for the next phase. Waterfall model design includes the following phases.
- Requirement Gathering and Analysis: – This is the first phase in the SDLC-Waterfall model in which all necessary and available information and possible requirements will be gathered and analyzed thoroughly.
- System Design: – System design will be prepared in this phase. System design will help in clarifying the hardware and system requirements and also the overall system architecture.
- Implementation: – Based on the inputs from the previous phase, the system will be developed in small programs called as units. Each unit will be tested for its functionality and it is called as a unit test.
- Integration and Testing: – In this stage, various units will be integrated based on the requirements and system design and will be tested for their overall functionalities.
- Deployment: – Once the system is tested and proved to be right, it will be deployed in the customer’s place or will be released to the market.
- Maintenance: – After release, the system may develop some issues at client’s environment or the system may need some upgradations. This phase is meant for taking care of such things.
All these phases are continuous and in the order as they are mentioned above. Each phase should be completed before going to the next one as you cannot return to the previous stage at any given point of time.
Waterfall Model Application
There are different SDLC models and the right model should be selected based on the actual requirements, available resources etc. Waterfall model is the best option in the following cases.
- When the requirements are clear, fixed and well documented.
- When there is a stable product definition.
- When the technology is not dynamic
- Where there are no ambiguous requirements
- When you have sufficient resources and expertise to continue with the project
- When the project is small and short
Waterfall Model Pros and Cons
Waterfall model has its own advantages and disadvantages. The major advantage is that the entire project can be divided into several parts with fixed schedules and this will help to finish the project within the stipulated time. The major disadvantage is that no revision is possible and once it is in the testing phase, it is difficult to incorporate any changes.