3 Main Categories of UML Tools
- Generic Drawing tools like Visio offer the most flexibility and least help, they do not include any server side repository are only really suitable to one-man projects, fine for producing diagrams for presentations, or for keeping notes on ideas, and low on ceremony.
- Stand-alone UML design tools like ArgoUML & Poseidon, EclipseUML, medium flexibility and fair amount of help, but no or limited work-group functionality.
- Enterprise/Repository/Work-Group tools like Select Enterprise, Rational Rose, Embarcadero.
- Visio - Generic drawing tool, single user, limited help and guidance but maximum flexibility.
- ArgoUML - UML, Free/OSS, BSD licence, 'Cognitive support' (aka a UML style wizard) , basic code generation, reverse engineering and importing allows _very_ basic work-group support.
- Poseidon - UML, forked proprietary version of ArgoUML, cheap (~200 Euros), more complete, polished and robust version of ArgoUML from
- EclipseUML, UML plugin for Eclipse IDE, Good Diagram support, basic work-grouping, code-generation and limited reverse engineering.
- Enterprise Architect - Enterprise UML tool with work-group support, code generation and excellent reverse engineering (~225 USD per seat)
- Select Enterprise, Enterprise OMT/UML tool with excellent work-group support, code generation and reverse engineering (~2500+ UK pounds per seat).
- Embarcadero, Enterprise UML tool, clumsy work-group support, code generation, limited reverse engineering (~2000+ UK pounds per seat).
- Rational Rose, Enterprise UML tool, widely regarded as the benchmark product which I've only seen demos and never actually used it. Similar functionality to Select, Embarcadero & Enterprise Architect, but at 4-6K per seat it is very expensive by comparison.
If money is no object then Rational Rose in the US or Select Enterprise in UK offer the best value added service.
The best value/ price performance is probably Enterprise Architect at 225USD it provides the same gross functionality as the Enterprise products aka central work-group repository and its reverse engineering and code generation are excellent.
If you decide to use ArgoUML then you can also download my pattern catalogue from the UML Resources directory under the project. I'm currently working on a version for EclipseUML.