Object Oriented and Classical Software Engineering - Stephen R. Schach (McGraw Hill)