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