Classical and object oriented software engineering with UML and JAVA - Schach, Stephen R . (Mc-Graw Hill, 1999)