An introduction to object-oriented systems analysis and design with UML and the unified process - Schach, Stephen R (McGraw-Hill/Irwin, 2004)