Java programming fundamentals problem solving through object oriented analysis and design - Nair, Premchand S. 1956- (CRC Press, 2009)