Developing Java software - Winder, Russel (Wiley, 2006)