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