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