Object-oriented and classical software engineering - SCHACH, Stephen R. (McGraw-Hill, 2011)