Fog Creek Software
Discussion Board

Book recommendations

I have been asked for recommendations for books on two topics which I can't say I've ever come across a worthwhile tome. If you were asked to give the best-of-the-best book recommendation covering UML and ER modelling, for a group of seasoned professionals (in object oriented advanced programmed) who just haven't had the inclination or time to use the given technologies and would like an "executive summary" without wasting time explaining inheritence and object oriented philosophies, what would you recommend?

Executive summary: What are the best books covering UML and ER modelling for advanced developers.


Jimmy Chonga
Thursday, March 6, 2003

The book I'd recommend isn't specifically about UML or ER.  Instead it's about an alternative to ER modeling, "Object Role Modeling", or "ORM".  The book is called, "Information Modeling and Relational Databases" and it's by Terry Halpin, the main guru on ORM.

The book isn't a quick read.  It's written in an academic style, but is really a beautiful piece of work.  First 300 pages or so deal with ORM specifically.  Then there are chapters dealing with ORM and UML and how ORM compares to ER.

The free VisioModeler tool that you can find on the Microsoft website somewhere is an ORM tool, as are the data modeling tools in Visio Enterprise.  The documentation provided in the free download of VisioModeler is also an excellent place to start with ORM.

Might not be quite what you're looking for.  But I thought I'd throw this out there anyway, in case you were interested in looking at it.  ORM is really wonderful.  And the Halpin book is really an impressive piece of work.

Herbert Sitz
Thursday, March 6, 2003

If you are looking for a short, concise book on UML, my hands down choice would be: UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition) by Martin Fowler 

Thursday, March 6, 2003

I second the recomendation on ORM instead of UML or ER. 

It should be the software architect/business expert tool to database modeling from a conceptual point of view, leaving UML and ER for technical specification at later stages.

The book is a bit thick though. I recomend reading Halpin's papers from his website first:

sergio acosta
Thursday, March 6, 2003

'... instead of UML ...' for database design, I meant.

By the way, UML Distilled is also the one I like the most as an intro to UML. It focuses not only in the tool (UML) but describes the transition between conceptual->specification->implementation desing process.

sergio acosta
Thursday, March 6, 2003

I'll third both the ORM recommendation and the Fowler UML book.  The conceptual modeling approach Halpin uses is just incredible.  Like the others said, though, getting through the material is sometimes daunting.

ORM fan
Thursday, March 6, 2003

I agree with recommendations above.

...and have an anti-recommendation. Don't buy "UML in a Nutshell" by O'Reilly. Usually, O'Reilly books are my first stop when researching new things. I have about 20 of them, and they are all excellent... except this one, on UML.  It's poorly written, and looks more like a review of UML specification than like a book. If you need a basic book on UML, buy the "UML Distilled" instead.

Thursday, March 6, 2003

I'd really recommend Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, and the Unified Process. It might be a little too much for people who aren't motivated to learn, but its a great book.

More info:
Cheaper price:

Friday, March 7, 2003

I'll fourth the ORM recommendation.  Terry Halpin's Information Modeling book has great coverage on ER and UML, including the shortcomings of both.

If you want to read some of his UML analysis without buying the book, he has plenty of coverage on his website:

Saturday, March 8, 2003

Another interesting book covering ER, UML, and ORM is Requirements Analysis: From Business Views to Architecture by David C. Hay.  He seems to feel that although ORM offers advantages that you don't get anywhere else, ER modeling is preferable for its visual conciseness.  I'm not sure that's really so much of an issue since the current ORM tool has round-trip ORM-to-ER modeling, allowing you to have the expressiveness of ORM when you need it, and the conciseness of ER, all in the same "model".

Saturday, March 8, 2003

*  Recent Topics

*  Fog Creek Home