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