OBJECT ORIENTED SOFTWARE ENGINEERING USING UML PATTERNS AND JAVA - BRUEGGE, BERND (Noida PEARSON, 2014)