REVIEW - The Unified Modeling Language User Guide

Title:

The Unified Modeling Language User Guide

Author:

Grady Booch, James Rumbaugh, Ivar Jacobson

ISBN:

Publisher:

Addison-Wesley Professional (1999)

Pages:

482pp

Reviewer:

Richard Blundell

Reviewed:

June 1999

Rating:

★★★☆☆

This is a book that many people will find very useful (and rightly so) and I am sure I shall consult my copy frequently.

This is the brand new hardback book from the authors of the UML discussing the latest version of the standard (it is supposed to be based on UML 1.3, due out in a few weeks time in January 1999). The material is therefore pretty authoritative and up-to-date and the typo count is quite low for a first edition (although I did find one or two slips in the text and figures) The book is in seven sections with three short appendices. The first section is a brief introduction to modelling, the UML and an application of the various UML diagrams to a Java 'Hello World' program. Sections two and three cover basic and advanced structural modelling (classes, objects, interfaces, packages, etc.). Sections four and five are on basic and advanced behavioural modelling (use cases, interactions, state machines, threads). Section six covers architectural issues such as components, deployment, patterns and frameworks and the last section is just a short 'where to go from here' chapter.

There is a good level of coverage, including explanations of most of the standard stereotypes and tagged values defined in UML 1.3 and examples of many idioms of usage. Most of the main chapters are broken down into standard sections - Getting Started, Terms and Concepts, Common Modelling Techniques, and Hints and Tips. Each chapter begins with a parable about house-design, doghouse construction or office blocks and ties it in to software engineering. There is some good advice scattered amongst the last three sections of each chapter, although this is definitely a UML guide rather than a general design guide.

I did not always find the grouping of information within chapters completely consistent - the four sections of each chapter did not seem to have so much focus that you could always tell which section you were reading. Also, the downside of having these standard chapter sections is that the contents pages are fairly useless - each chapter and chapter-section are listed with page numbers, but the table of contents does not give much detail (other than the chapter title) to show what material each chapter contains. This makes it impossible to browse the book via the contents pages and it would have been nice if the 'concepts covered' boxes at the start of each chapter could have been listed in the TOC well. Also, in one or two places the advice seemed to be a little strained (for an example, the labouring of the advice on pp 100-101 concerning the hiding of each type of modelling element if not relevant to the current diagram).

My only criticisms are fairly trivial, however. This is a book that many people will find very useful (and rightly so) and I am sure I shall consult my copy frequently.


Book cover image courtesy of Open Library.