principles of program design - "jackson, m. " (uk : academic press, 1975)