•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