Principles of object oriented analysis and design - Martin, James (Singapore Singapore Prentice - Hall, 1994)