Applying UML and Patterns - Larman, Craig (New Delhi Pearson, 2011)