2- An outline development process
3- Use Cases
4- Class Diagrams: The essentials
5- Interaction Diagrams
6- Class Diagrams: Advanced Concepts
7- Packages and collaborations
8- State Diagrams
9- Activity Diagrams
10- Physical Diagrams
11- UML and Programming
Appendix A: Techniques and their uses
Appendix B: Changes between UML versions
I would class this as a very pragmatic book and a very good introduction into the way in which UML is used for development in a project. The book highlights the flexible ways in which the UML is used and consequently the tester reading the book can easily see the ambiguities that they will be presented with when attempting to test from these models. The UML is often used as a thinking language and a means of refining thinking throughout the project. To my mind this book emphasises the need for the construction of independent test models that are influenced by, and cross-referenced to, these development models.
Reading the book should familiarise anyone with the important aspects of the UML and the book does this very well. The topics are short and heavily peppered with examples of the use of the models, very practical and all the advice is very sensible and borne out by experience.
There is almost no padding in this book, everything is important. Even the inside front and back covers provide useful information - a concise summary of UML version 1.3 notation.
The introduction presents a short and informative history of the UML, the ultimate aim of design (communication), sensible hints on how to learn OO, and sources for where to learn more. The book stresses a number of these themes throughout the book: extra sources of information, and communication. The book stresses communication, not just to other team members, but also communicating the designs to yourself in order to think more clearly about the product you are designing. Modelling for a purpose and not just for protocol.