Object-oriented modeling and design with UML - Blaha, Michael; Rumbaugh, James (New Delhi Pearson, 2011)