Principles of Programme Design by M.A. Jackson
The original program design text. This book is about programming for data processing applications, and its purpose is to present a coherent method and procedure for designing systems, programs, and components that are transparently simple and self-evidently correct. The main emphasis is on the structure: on the dissection of a problem into parts and the arrangement of those parts to form a solution.