Have just been putting UMLet2 through its paces by trying to consolidate my ideas on WhaTBI? before doing any more actual coding, so as promised, I'm reporting back on my experience.

I tend to use UmlAsSketch, and as such found UMLet2 very handy. It's not the most user-friendly tool I've used, and the Java-ness rather than Windows-ness takes a bit of getting used to (though JEdit has given me a bit of exposure recently). However, as a "sketcher" I tend to find that Visio's power and flexibility actually get in my way a lot, and I often end up resorting to pencil and paper (and eraser :). In this respect I suspect that UMLet2 makes me the most productive of the three. YMMV, as they say, of course.

If you'd like to check out the result of my efforts (from a UMLet or a WhaTBI? perspective), take a look here. For those of you whose interest is in the content rather than the quality of the output, you might like to know the following:

  • Once I've reworked the source to match the UML, and regenerated the documentation, I'll release that and the diagram on the GDN workspace (BTW, I know Doxygen allows allows "hand-crafted" content to be merged into the final documentation - does anyone know how to do the same with NDoc?) .
  • The two least developed areas are DataSource.GetMatching(), as I want to take a look at OPath before making any decisions in this area, and Session. The latter I see as some aggregate of Fowler-ian registry, unit of work and identity map concepts, with offline locking (optimistic or pessimistic) thrown in for good measure.
  • There is little that is truly innovative, as is to be expected when making heavy use of patterns. In fact, the observant amongst you might notice the influence of COM monikers and IDispatch.

Any comments, opinions, advice, suggestions, etc., etc. are welcome, as ever...