The unified modeling language user guide - Booch (Addison-Wesley, 2005)