ABSTRACT

This chapter discusses the basic principles that underlie structured program design and functional decomposition. A well-designed structured program consists of a set of independent, single function modules linked by a control structure that resembles a military chain of command or an organization chart. One approach to designing a control structure is to divide the functions into three groups. A program’s high-level control structure should reference those tasks that are performed in direct response to its trigger event. Another technique for designing a high-level control structure is to analyze the data structures. One way to evaluate a control structure’s design is to examine its morphology. A well-designed control structure balances two conflicting objectives: depth and breadth. Structure clash occurs when corresponding elements of two related data structures are incompatible. The program designer should carefully evaluate both the logical and physical data structures and change the program design, the data structures, or both to eliminate structure clash and border clash.