Object-Oriented Design with UML and Java - Barclay, K. (Elsevier Butterworth Heinemann, 2004)