Using UML, Patterns, and Java - Bruegge, Bernd; Dutoit, Allen H. (Noida, 2014)