An object-oriented approach to programming logic and design - Farrell, Joice