29
Functional decomposition
•Divide-and-conquer based on functions
•input;
•compute;
•output
•Then proceed to decompose compute
•This is stepwise refinement (Wirth, 1971)
•There is an enormous body of work in this area, including many formal calculi to support the approach
–Closely related to proving programs correct
•More effective in the face of stable requirements