Graphical linear programming flowcharts, pseudocode, and the rules of a high-level language enable a programmer to design and write software that leads to predictable results that solve a problem. However, for a long time many computer scientists felt that more structure and control were needed to standardize graphical linear programming and make it more exact-to change it from an art to a science.
Thus, in the mid-1960s, the concept of structured programming was developed. Structured programming uses top-down design to “decompose” main processing functions, called modules, into smaller ones for coding purposes.
Top-down design starts with the highest level of the program and works its way down to the lowest level of detail. The modules at the top of the structure are general and the ones identified at the bottom are very specific. Programming, on the other hand, always starts at the bottom of the structure; that is, the modules below a particular point must be completed before programming begins at that level. If possible, each module should have only a single function, it should have a single, complete thought; this forces a limit to a module’s size and complexity.