APPLYING UML AND PATTERNS - CARMAN CRAIG (NOIDA PEARSON, 2016)