hacknot.info
Home Archive About RSS 2.0

Book Review: The Elements of UML Style

15 Dec 2003

This pocketbook is a companion to The Elements of Java Style, co-authored by Ambler. It is intended to serve as a concise and easily accessible style guide to those drawing UML diagrams. It serves this role well, but readers should be prepared for Ambler's persistent self-promotion throughout.', 'The Elements of UML Style, Scott Ambler, Cambridge University Press, 2003. pp 146

This pocketbook is a companion to The Elements of Java Style, co-authored by Ambler. It is intended to serve as a concise and easily accessible style guide to those drawing UML diagrams.

I have used The Elements of Java Style in a number of work places as an alternative to developing an in-house coding standard. It also saves going through the excruciating bickering about placement of curly braces and other religious issues which always seem to come to the fore any time you try and develop a coding standard. In future, I will probably recommend The Elements of UML Style as a ready-made UML standard, should I actually find myself working somewhere that bothers to do design. The 236 guidelines it contains cover stylistic issues encountered when drawing use case, class, package, sequence, collaboration, state chart, activity, component and deployment diagrams.

Below is a randomly chosen subset of the guidelines for constructing class diagrams will give you an idea of what to expect from the book. Of course, in the original, each guideline has paragraphs of explanatory text accompanying it, along with illustrations where necessary.

As you can see, none of this is rocket science, but the purpose is not to invent but to pin down those stylistic options that are available when drawing UML diagrams and lend some consistency to the artifacts produced.

The main criticism I have of the book is Ambler's persistent cross-selling of his Agile Modeling (AM) methodology and related books. The following is typical of the self-endorsement that is littered throughout:

Show only relevant interfaces. AM's practice Depict Models Simply advises that you keep your [class] diagrams as simple as possible, and one way to do that is to depict only the interfaces that are applicable to the goals of your diagram.

The numerous gratuitous references to AM are as unnecessary as this example would suggest. The entire 12th chapter of the book is dedicated to AM, without even a tangential reference to UML. I would've thought that the AM values of "simplicity" and "humility" would have been best served by omitting all of this self-promotion.

Aside from the stealth marketing, The Elements of UML Style is a cheap and efficient way to get a ready-to-go UML style standard for your organization or project, and makes a good bookend to The Elements of Java Style.