Object-Oriented Software Engineering: - Lethbridge, Timothy C. (McGraw-Hill Education, 2005)