Developing Java Software - Winder, Russel; Roberts, Graham (Wiley, 1998)