Classical and object-oriented software engineering with UML and C++ - Stephen R Schach (WCB/McGraw-Hill, Boston, 1999)