Object Oriented Sofware Engineering: Practical sofware development using UML and Java - LETHBRIDGE, Timothy C. (McGraw-Hill, 2002)