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