Object-Oriented & Classical Software Engineering (New York McGraw-Hill, Inc, 2005)