Problem Analysis
Top-down Design

When confronted by a large task........... break it down into a number of smaller tasks. (If you have to move a mountain...... move one boulder at a time!).

Top-down design is the technique of breaking down a problem into a number of smaller problems. Each of these is broken down into even smaller problems and so on..... until each problem is sufficiently simple to be solved easily.

These 'small' problems are referred to as modules and should be as self-contained as possible....this means that each module can be solved on its own without depending on the solution of other modules.

Top-down design is sometimes called stepwise refinement.

Non-programming example:

The problem :
Put on a musical show
Break it down Choose cast
Rehearse
Perform show

The first steps might be broken down again....

Choose cast


Choose singers
Choose speaking parts
Choose dancers
Rehearse


Select times to rehearse
Develop a rehearsal schedule
Arrange use of a hall
Rehearse

Perform show


Hire costumes
Hire lighting and sound
Sell tickets
Performances

and these could be broken down again.....