The Elements of UML Style
By Scott Ambler
|Value for money
|Did it do what it said on the box?
An excellent little "bible" for modellers
Like Strunk & White’s "The Elements of Style" for writers (which it flatters by imitation), or Edward Tufte’s "The Visual Display of Quantitative Information" for statisticians, this book is destined to become a "bible" for those using the Unified Modelling Language.
Like those other books, it combines a sound set of standards for the experienced user with good guidance for those with less advanced skills. The focus is clearly on how to get the message across most efficiently and effectively, by understanding what you should leave out just as much as what you should include.
In just over 120 bite-sized pages Scott takes you through each of the main techniques in UML, identifying why you might want to use each one, how to draw the diagrams, how to construct names and descriptive text, with a number of clear "dos" and "don’ts" for each technique. It’s bang up to date, covering most of the new diagram types in UML 2.0 as well as the latest conventions for the more established diagram types. The writing and examples are concise, so that you can read much of the book at a single sitting, but always complete enough that you fully understand.
The book also teaches by example the tenets of Agile Modeling, the idea that models should be just good enough, no more than necessary, and that the set of models held and maintained by a project should be the minimum sufficient, so that the project can "travel light" and adapt easily to change.
This is not a book for the novice. It assumes you know the rudiments of UML, how and why you should be using it, although Scott does provide an extensive set of useful references to introductory and more detailed sources as required. Similarly although the Agile Modeling approach is introduced and demonstrated in some of the examples, you are going to have to read Scott’s more detailed books and articles to fully understand it.
Inevitably, by focusing on the example of "The Elements of Style" and what is absolutely necessary, some things have to be omitted. The book covers only the graphical elements of UML, not the textual elements which support them. I would like to have seen at least a standard Use Case template, but overall the decisions are very sound.
I suspect this book will become one of my main reference sources, since it covers much of what I need in daily modelling activities, in a format which makes it easy to carry around. You may decide the same.