UML 2 and the unified process practical object-oriented analysis and design - Arlow, Jim (Addison Wesley, 2005)