Using UML : software engineering with objects and components - Stevens, Perdita (Addison-Wesley ; Pearson Education, 2006)