UML 2 and the Unified Process, Second Edition : Practical Object-Oriented Analysis and Design - Niels Provos (Addison-Wesley)