Object-oriented software engineering - practical software development using UML and Java. - Timothy C. Lethbridge; Robert Lagamiere (MacGraw-Hill, 2001)