Using structured design how to make programs simple, changeable, flexible, and reusable - Stevens, Wayne P. (Wiley, 1981)