Object-oriented design using java - Skrien (McGraw Hill Higher Education, 2009)