Waterfall Lifecycle (OCR A-Level Computer Science): Revision Notes
📚 Revision Notes
Waterfall Lifecycle
Overview
The Waterfall Lifecycle is a linear and sequential approach to software development, with each stage flowing logically into the next. This model is best suited for projects with clearly defined requirements and little expected change.
Key Stages
- Requirements Analysis: All requirements are gathered and documented at the start. This stage is critical as it determines the project scope.
- System Design: A detailed design of the software architecture is created, outlining each system component.
- Implementation: Coding is done based on the design documentation.
- Testing: The software undergoes thorough testing to identify and resolve any issues.
- Deployment: The completed software is delivered to the client and deployed.
- Maintenance: Any issues post-deployment are addressed, with potential updates and fixes.
Benefits
- Clear Structure: Each stage has a defined start and end, making it easy to manage and track.
- Documentation: Extensive documentation in each stage aids future maintenance.
- Good for Stable Requirements: Ideal when requirements are well-defined and unlikely to change.
Drawbacks
- Inflexible: Any change in requirements requires revisiting previous stages, which is costly.
- Late Testing: Errors are often found late, increasing the cost and time to fix them.
- Long Development Time: This model does not deliver functional software until the end of the cycle.
Suitable Use Cases
Best suited for large, well-defined projects with stable requirements, such as governmental or financial software systems.