APPLYING UML AND PATTERNS - CRAIG LARMAN (DELHI PEARSON, 2014)