In this lesson, you will explore staged design, also known as the waterfall model, which is a structured approach to software development. You will learn how this linear process works through its distinct phases and consider its advantages and disadvantages.
By the end of this lesson, you will:
This will help you grasp why staged design is useful for projects with clear requirements, while recognising its limitations.
Staged design, often called the waterfall model, is a linear approach to software development. It progresses through distinct phases one after another, like water flowing down a waterfall, where each phase must be completed before the next begins.
Key stages include:
In this model, you complete each stage fully before moving to the next. It's structured and easy to manage for projects with clear, unchanging requirements, such as those with strict regulations or fixed scopes.
Advantages:
Disadvantages:
In the staged design process, requirements gathering is the crucial first stage. This is where you define exactly what the software needs to do, who it is for, and what problems it will solve. It's like laying the foundation for a building – get this wrong, and everything else could collapse.
Key activities in requirements gathering include:
This stage is completed fully before moving on, ensuring everyone agrees on the goals upfront. However, if requirements change later, it can be hard to go back.
In the staged design process, the design phase follows requirements gathering. This is where you translate the collected requirements into a detailed blueprint for the software. You plan the system's architecture, user interface, database structure, and technical specifications, ensuring everything aligns with the defined needs.
Key activities in the design phase include:
This phase is completed before coding begins, providing a clear roadmap. However, if changes are needed later, it may require revisiting earlier work.
In the staged design process, the implementation phase follows the design phase. This is where you actually build the software by writing code based on the detailed designs created earlier. Developers translate the blueprints into a working product, focusing on coding, integrating components, and ensuring everything functions as planned.
Key activities in the implementation phase include:
This phase is completed before testing begins, resulting in a fully coded application ready for verification. However, if issues are found later, it might require revisiting earlier phases, which can be costly.