Object-oriented software engineering : practical software development using UML and Java - Lethbridge,C. Timothy; Lagani, Robert (The McGraw-Hill Companies, 2005)