Waterfall Model : Introduction
- The Waterfall Model was the first model used to build a fully functional software product using the concept of Software Development Life Cycle(SDLC) in Software Engineering. This model was named as waterfall model because of its structure like a “Waterfall”.
- Waterfall Model is the simplest model among-st the all Software Development Models present out.
- The whole software development process is divided into certain multiple phases which are capable of performing specific functions.
- These divisions of phases are done according to the document made before developing the software called as software requirement specification document. It enables the project management to closely manage and plan all the phases even before developing the software product.
- The phases of waterfall model are arranged an linked in such a way that, output from previous stage acts as input for next state.
- Also, the order of sequence of these phases are fixed and cannot act in reverse direction. One stage needs to follow the next stage in order to generate quality software.
The Waterfall Model : Phases
- Specification and Requirement Analysis : In this phase, requirement gathering is done for the software product. It means, a detailed document is made which contains all the information about the product, its feature and functionalities.
- Product Design : Once Requirement and Specification are gathered, flowcharts and blueprint of the software product is made accordingly to the given specification. The flow charts depicts the whole flow of working of software product whereas the blue print depicts the overall structure of the software product.
- Product Implementation : The software product is coded. It means, whole software is divided into smaller modules and these modules are individually developed by the help of various programming languages.
- Product Testing : In this phase after implementation is done, all the modules are first individually tested using concept of unit and then all the modules are connected together and system testing is performed on it. This testing phase reveals the possible bugs, errors and crashes in the software product.
- Product deployment : This software product being successfully tested and implemented, it is deployed as per clients/customer requirement. This process is called product deployment.
- Product Maintenance : After regular interval of time, the software product is checked further for bugs, errors and crashes. Also, if any feature needs to added, up-gradation on the software can be done to. This support is provided by the maintenance team of the software development company.
The Waterfall Model : Advantages
- Highly structured model.
- Simple and easy.
- Individual stages defines the development process clearly.
- Waterfall model can be used for small to mid-size software product.
The Waterfall Model : Disadvantages
- Changes are difficult to make once product is developed.
- Waterfall model is Not preferred for large and complex software products.
- Calculation of Cost, Time and Effort individually for each phase is quiet difficult.
- If the requirement changes later in the development stage, then waterfall model fails in this aspect.