Developing Java software - Winder, Russel. (Wiley, 2000)