Topics / Algorithm Design and Problem-Solving / Top-Down Design
Top-Down Design
Most systems consist of increasingly smaller and smaller sub-systems.
Top down design is the name given to breaking a problem down into increasingly smaller and smaller manageable parts (also known as decomposition).
We see this all around us in our everyday lives:
- Global organisations and companies are broken down into regional divisions
- Large firms are broken down into smaller departments, and sub-teams
- Computer systems are made up of smaller sub-systems
In programming, these smaller tasks/parts are sometimes referred to as:
- Modules
- Sub-routines
- Procedures
Once finished, these modules (‘chunks’) of code are all put together to form the main program.
Benefits of Top-Down Design
- Breaking a problem down into smaller parts/tasks makes it far easier to understand, solve and manage
- Top down design allows several programmers or teams to work on the same project, without getting in each other’s way
- Each module of code to be tested separately
Note: Once all the modules are linked, the whole program is tested again to make sure there are no clashes.
Our Structure Diagram page shows how sub-systems can be represented graphically