Object-oriented modeling and design with UML - Blaha, Michael. (Pearson Education, 2005)