In This Chapter
Top-Down Design Principles
Example of Stepwise Refinement
The function of good software is to make the complex appear to be simple.
Top-down design is a technique that professional programmers use when they have to go beyond simply identifying tasks and instead need to define the task within tasks. Small-scale problems are usually composed of tasks at the same level. This means that there are few opportunities for a task to contain several other tasks that turn into functions. As the complexity of your problems grows to medium-scale problems, you will notice that the first list of tasks usually breaks down even further into more tasks that can be as complex as a single function in C++.