Recently, I’ve been fortunate enough to participate in some very interesting training sessions relating to business process re-engineering, and UML modeling. Now, I have long understood the value of use cases, but have never fully leveraged them or taken advantage of some of the added features inherent in tools designed specifically for UML modeling. In my experience, for the fully-dressed use case, I typically just use a MS Word template with tables. For the diagrams, I just use the UML functionality inherent in Visio.

Now that I’ve sat through some of the training, and gotten a quick peek at some of the tools available, I wanted to appeal to my audience here for some guidance regarding modeling tools.

I’ve dabbled a bit with Enterprise Architect (I’ve downloaded the trial). It seems pretty complete and it very reasonably priced. I downloaded StarUML a couple days back and began playing with it a bit. The best thing about StarUML is that it is open source (free!). It doesn’t seem quite as user-friendly as EA, but you can’t argue with the price. There also seem to be some add-on features for it that might make it more appealing. I’ve also looked at ArgoUML in the past, and it is ok. It doesn’t appear to be up to UML 2 standards yet, though.

Other than that, there are, of course, the Rational and Borland tools which are great, but are probably overkill – especially in terms of price – for what we’re doing.

Honestly, I’d be fine with what MS Visio offers if I could just figure out a way to print use case diagrams with the accompanying text attributes. I haven’t been able to figure out for the life of me how to get that to work, though.

I’m not asking for much, either. Basically, all I need is a tool that allows you to:

  • Output to Word or PDF
  • Output the diagrams AND accompanying text (i.e., main success path, preconditions, postconditions, goal, etc.) in a usable/readable form.
  • Create links and relationships between use cases across an entire system.
  • Cost efficient – we’re not hardcore. We just want something that meets the basic requirements above.
  • This is gravy, but it would be great if version control were built into the tool.

So, can you help a fella out? What UML modeling tool(s) do you prefer? I’ll be glad to hear your comments and words of experience/advice.