Object-oriented and classical software engineering - Stephen R. Schach (MC GRAW-HILL, 2007)