UML is the de facto industry standard modeling language for specifying, visualising, constructing and documenting aspects of the design of software systems. This book is a practical discussion of a wide range of UML based techniques, introduced within the context of real-life examples and solutions.