Classical and object-oriented software engineering with UML and C++ - Schach, Stephen R. (Tata McGraw Hill, 2002)