Object-Oriented Design Using Java - Skrien, Dale (McGraw-Hill, 2009)