Object-Oriented and Classical Software Engineering - SCHACH, Stephen R. (Mc Graw Hill, 2005)