Practical object oriented design - Unhelkar, Bhuvan (Thomson Social Science Press, 2005)