Business Patterns at Work, By Hans-Erik Eriksson and Magnus Penker

Summary

The Review

A very good guide to business-level modelling with UML

One of the weaknesses of the Unified Modelling Language is its relatively limited support for modelling at the Enterprise level, especially to accurately model business processes. The UML purists believe that everything should be reduced to Use Cases, while these authors recognise that much more is necessary.

The book covers five quite distinct topics:

An introduction to business modeling and UML, explaining the problems the authors want to help solve, and describing each of the relevant techniques of UML,

A proposal for a group of extensions to UML (using that language’s own established extensibility mechanisms) so that that it can better model business processes,

A description of the variety of views and models which will be required to establish a comprehensive understanding of the business, or at least part of it,

A repository of "business patterns", which you can use to model the business,

A comprehensive worked example.

Each of these is quite detailed. In particular, the book contains probably the best introduction to the Object Constraint Language (OCL), and its use to model business rules, that I have read anywhere. The sections on how to do business modelling are also very good, as are the introductions to the relevant UML techniques.

The "Eriksson-Penker extensions for business modelling" are important because several UML-based case tools have now implemented them as an emerging standard for business process modelling with UML. If you want to fully understand how these work, this is the book to read.

The business patterns are more of a "curates egg". Some are extremely useful, and others innovative which could easily solve your problems where there is an accurate match. That said, some are less good and seem to state the obvious, although with patterns it is always difficult to know if you are judging some harshly simply because you are so familiar with them and other readers will get more value. Some of the pattern explanations are a bit repetitive, and the "examples" often sound very artificial, but overall they are useful, and a single one which solves a real business modelling problem for you will justify the rest.

At over 400 pages, some of which is occasionally slightly slow and ponderous this is not an ideal book to read from cover to cover. But it is definitely one to study, focusing on whichever topic is most relevant to you at any time, and I can happily recommend it.