I have a question from Vincent and he asked me which UML software I use to make my diagrams. Well, I tried a few UML editors and want to give you some notes on them.
The UML editors I have tried can be grouped by whether they are created with Java or not. What I can say is that all Java-created editors I have installed and worked with are quite uncomfortable. Understand me correctly, I'm not some sort of anti-Java rebel and Eclipse is my favorite IDE, especially PDT, but drawing and moving a lot of GUI object is not an easy task for Java, as I have seen. Although, some of Java powered UML editors are very feature-rich and look very good.
Among other UML editors I reviewed, I can select two: StarUML and Enterprise Architect. StarUML is an open source, free, commercially supported application, written in Delphi 7. But is it a very strange "open source" project, because participating in its development requires purchasing commercial components and project's sourceforge tracker has no closed issues. It looks like nobody is really watching them. Anyway, StarUML is really powerful and will be a good choose if some of its bugs do not annoy you.
And what I use now is Enterprise Architect from Sparx Systems. It is fast, stable, frequently updated and company's site is very impressive. You can read summary about it at http://en.wikipedia.org/wiki/Sparx_Enterprise_Architect or http://uml-directory.omg.org/vendor/Sparx_Systems.html. It is shareware so you can try the time limited 30-days trial. Model files can be viewed by read-only version of Enterprise Architect. So you can choose it if you plan to use UML a lot.
Sparx Systems Enterprise Architect product page
Note: This post contains affiliate links