Principles of object-oriented analysis and design - Martin, James (PTR Prentice-Hall, 1993)