Been putting together some UML for developer docs and I’ve gotta say that UML For Java Programmers is one very cool book. I’ve never really grokked UML, so it’s been pretty hard work going at any of the more hardcore texts.

The neat thing about this book is that it lets you reverse engineer. It gives you some simple sample Java code using some common coding idiom, like classes which contain a Collection of some other class, and gives you the diagram that matches the code.

The other thing I really like about this book is its “real worldliness”. Plenty of solid advice on when NOT to diagram (eg. cause you feel guilty for not using UML is NOT a good reason! If the pic doesn’t add value to anyone, why are you doing it?)

It remains the only UML book that I continue to open. Great stuff.

Can I add one more plug for Aussie company Sparx Systems who put out one kickin UML tool for very sane dollars. Enterprise Architect is my tool of choice for UML these days, and it’s the only tool I’ve used that I don’t have to spend hours with getting the lines to layout properly. Great stuff, guys!