I would recommend the book for people who would need to design their software using UML
The material for this book is largely drawn from the object-oriented analysis and design course the author teaches. This exactly defines the target audience: people who want to understand UML in the object oriented analysis and design background. The book could perfectly be used for UML courses or for self-study. It explains all UML diagramming notations and tries to tie them together with good design principles. The book does not proscribe a development process to follow, but gives hints about what to do when, together with reasons, advantages and disadvantages.
In a first chapter the more general UML notation is discussed, in the following chapter flexibility guidelines are given for software development. Cohesion and coupling, abstraction, generalisation, specialisation and aggregation are discussed. After the use cases, activity diagrams, class diagrams, dynamic diagrams, two chapters describe architectural models and reuse. The book contains a lot of small examples and diagrams, which is useful for a beginner, but sometimes a bit simplistic for a more experienced reader who encounters for the tenth time a description of an order system. Overall I would recommend the book for people who would need to design their software using UML diagrams. Not only UML notation or a development process is discussed, but also the reader is encouraged to immediately use good design principles.