UML Distilled: A Brief Guide to the Standard Object Modeling Language

Martin Fowler (2003)
Review date: May, 2010

This is a book on UML. Period. As such, it concentrates on the topic. The first chapter talks briefly about the history and origins of UML. In the second, UML is fit into a larger picture along with brief descriptions of development methodologies. It is also here that the three flavors of UML are described.

Then come the chapters on diagrams: chapters 3 and 5 on class diagrams, chapter 4 on sequence diagrams, and then follow object diagrams, package diagrams, deployment diagrams use cases, state machine diagrams, activity diagrams, and come more exotic diagrams in order of decreasing relevance.

All in all, fifteen chapters on diagrams.

Not all of the chapters are very rich on content. The author kept some chapters as short as two pages, where he felt that the particular diagram type wasn't very important.


When I read this book I took the stance that I would either confirm my knowledge of UML, or learn pretty much everything that this book's mere 150 pages have to offer. This did not happen!

The book is very dense on information. It sure distills UML down. I don't think my knowledge of UML is worse that that of an average developer, but after having read this book I realize I know nothing, and still, it's repeatedly stated that only the surface of UML is scratched. What I'm trying to say is that if you know everything that this book spans, you know a lot of UML, in my opinion at least.

Given this entropy, I didn't always find the examples and explanations very easy to follow. Yes, I do speed reading, and it usually works very well. However, in this case it didn't. There are some passages on exotic diagrams illustrating exotic things, that are really not easy to follow. Be warned.

Apart from that, I think this book is as well written as a 150 page book on UML can get. Martin Fowler passes judgment on different aspects of the diagrams, and where he doesn't find the notation adequate, he adjusts it to his own purpose. Not many people in the industry can do that and get away with it.

As this is a book on UML, the amount of insights and embedded wisdom is limited, but as always, there are some gems.

For instance: among all examples of constraint rules one could choose, the author chooses "disallow incest: husband and wife must not be siblings". Comment not necessary.

In the middle of the second class diagram chapter, there is a very good and brief discussion about inheritance, classification and generalization to be precise. I really liked this part. Very concise and to the point. Some pages later, a similar discussion on use cases is found. Good and concise stuff.

Then again... This is a book about UML notation, as such it's not very pleasant to read, even though it's written by a very good author. I recommend using it for reference. My takeaways were: UML is big and complex. Use UML for sketching, sometimes for doing blueprints, and never ever for anything more.

Who should read this book

If you want a quick overview of UML, including some non-everyday features, this book is for you.


  • 2015-09-29

    It's been almost one and a half year since I reviwed a book! I've been too absorbed by Writing my own. Anyway, I'm back with Jeff Patton's relatively...
  • 2014-01-04

    New category! Performance! Reviewed The Every Computer Performance Book. Check it out!
  • 2013-09-10

    Reviewed a book that' slightly less technical, but much more fun to read. It's I.T. Confidential.
  • 2013-08-13

    Reviewed yet another book on Visual Studio 2012 and TFS. I also created a "Microsoft" category and moved the other TFS book there from the "Tools"...
  • 2013-08-05

    Updated the FAQ. Included information about getting a book reviewed.