APPLYING UML AND PATTERNS - CRAIG LARMAN (PEARSON PUBLICATION PVT LTD)