Object-Oriented modeling an design with UML - Blaha, Michael (Pearson Prentice Hall, 2005)