Further to my previous post introducing the Waterfall Model, this post will now discuss the various stages of the Waterfall Model in detail.
As stated before, the stages of the Waterfall Model are in a predefined order and include the following, according to Royce’s origional model,
1. Requirement Analysis and Definition
This involves identifying all requirements of the system. These are the functions and constraints that the end user (who will be using the system) expects from the system. The requirements are analysed in terms of their validity and practicality. At the end of this stage, a requirement specification document is released which guides the next phase of the model – System Software and Design.
2. System and Software Design
Further to stage one, requirements are studied and a design for the system is drawn up. System design is of upmost importance as it specifies specific hardware and system requirements and also determines the overall shape and structure of the system.
3. Implementation and Unit Testing
This is where actual coding of the system takes place The system is first developed in small programs called units, which are integrated in the next phase. Unit testing also occcurs here, whereby each unit is developed and tested for its functionality.
4. Integration and System Testing
The units which have completed unit testing are then integrated into a complete system during integration phase. This is to see if all the units coordinate correctly with one another and whether or not the system meets requirements. After successfully testing the software, it is delivered to the customer.
5. Operations & Maintenance
This final stage is continuous. Any problems which arise upon completion of the system (that had not been previously identified) are rectified here. Focus is placed on proper maintenance and support of the system.