3. Hierarchy Charts
Hierarchy charts are a useful tool for keeping track of the overall program flow of a structured program. They look something like this:

The overall goal of the program is in the topmost box. The boxes below represent the smaller tasks that have to be carried out to achieve the overall goal. These in turn have smaller subtasks connected to them, such that anyone can follow the lines from the bottom of the 'tree' (the smallest tasks) and see how they feed into the larger tasks above.
The charts don't have to be symmetrical; some tasks can't be broken down any further than one step, while others can be have multiple subtasks, like so:

