Object-oriented software engineering : practical software development using UML and Java - Lethbridge, Timothy Christian (McGraw-Hill, 2005)