A-level Computing/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Problem Solving/Top-down design and Step-wise refinement
A top-down approach (also known as stepwise design) is essentially the breaking down of a system to gain insight into the sub-systems that make it up. In a top-down approach an overview of the system is formulated, specifying but not detailing any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. Once these base elements are recognised then we can build these as computer modules. Once they are built we can put them together, making the entire system from these individual components.
Example: Making Pancakes To show you an example of Top-Down design we'll take the act of making pancakes. Starting from the top we have the task to:
But saying that by itself isn't enough to actually make any pancakes, we need to break the task down:
Each of these tasks can then be broken down further:
And each of these tasks can be broken down further, let us take a look at the Cook:
We can break down some of these tasks even further. So starting at a single point, the creation of a pancake, we have broken down the task into it individual parts |
Exercise: Top-down design
Draw a top-down design tree to three level depth for making a modern First Person Shooter
Answer: Your answer probably won't be the same as this as the question is open to interpretation, but hopefully it'll be similar:
|