[uml] What's the best UML diagramming tool?

I'm trying to choose a tool for creating UML diagrams of all flavours. Usability is a major criteria for me, but I'd still take more power with a steeper learning curve and be happy. Free (as in beer) would be nice, but I'd be willing to pay if the tool's worth it. What should I be using?

This question is related to uml diagram modeling

The answer is


Visual Paradigm for UML http://content.usa.visual-paradigm.com/websiteimages/images/products/vpuml60/vpumltitle.gif

I'm very fond of Visual Paradigm for UML It's very powerful and has a free Community Edition and cheap Personal Edition as well.

Agilian http://content.usa.visual-paradigm.com/websiteimages/images/products/ag10/agtitle.gif

For Agile modeling there's also Agilian which is a bit more flexible, adds extra features to support smartboards and knows mind-mapping as well.

The thing I like most about their products is the flexibility. I'm using Enterprise Architect at work nowadays but I think it's not smart enough. I want to be able to quick-brainstorm some sequence diagrams and have the application keep my model up-to-date in the background, something VPUML does a very good job at.

In my opinion it's way better than Enterprise Architect, though that is a great tool as well :)


For sequence diagrams you can also try Trace Modeler. It's not free but it has a great interface, very friendly and productive. You can use it on any platform.


You might want to check out ArgoUML. It's not the best tool I've ever used, but it's one of the better free ones I've seen. It's a little slow because it's written in Java, but it let's you do some basic UML diagrams with relative ease.


Visual Paradigm for UML or Dia are good options


You should try Modelio Free Edition. It support UML2, BPMN, SOA and XMI. It is simple to use and their forum is very active.



ArgoUML.

I used this for my thesis and it is well-designed: maybe it has too much feature not very important but I prefer have some uselee feature than don't have some useful feature.


For sequence diagrams, only, try websequencediagrams.com. It's a freemium (free for the basic tasks, paid for advanced features) product, and lets you quickly bang out a diagram without any fussing around with lines and stencils.

Alice->Bob: Authentication Request
note left of Bob: Bob thinks about it
Bob->Alice: Authentication Response


Don't forget yuml.me, I love it.


Obviously if you are serious about UML in the long run you need to use a software UML tool like the ones suggested in the other answers, but I've found that a whiteboard is one of the best tools for UML diagramming, especially during the design phase, or when you are exploring different alternatives. Nothing beats a whiteboard for speed/flexibility in my mind. They are also great for collaboration assuming you are collocated physically.


I have been working on UML standards since 1999 and may tell you that Sparx Enterprise Architect should not be considered as a UML tool as it does not follow UML 2 specification. Its diagrams look as UML but names of the properties and the way as they specified are not following UML standard. MagicDraw and IBM RSA are the true UML tool on the market so far.



PlantUML is an open-source markup-language-to-UML-diagram tool in Java that deserves to be mentioned here. It ranks high on the usability scale because of its intuitive syntax for the various diagrams and diagram components.


I will add UMLet which I haven't tried yet, but have been selected at my office to start doing diagrams.
Looks simple, diagrams aren't sexy, but it seems quite complete with regard to the kind of diagrams you can do. Seems to have good export capabilities too (important!), is flexible can support custom components) and can be used as Eclipse plugin.


I recommend Software Ideas Modeler. It has a lot of features and an intuitive GUI.


I haven't been able to find a top-notch free UML diagramming tool, but if you're interested in pure diagramming, as opposed to round-trip-engineering, I'd go with Microsoft Visio. If you want full round-trip engineering, Rational Rose.

This list of UML tools on Wikipedia might also come in handy.


Astah UML (ex-JUDE) is pretty good.


Violet

Free, and very easy to use.


In my opinion StarUML is the best.


As mentioned, ArgoUML is a decent tool for UML 1.4 and has recently (Autumn 2008) been receiving some much needed maintainance updates.


I strongly recommend BOUML. It's a free UML modelling application, which:

  • is extremely fast (fastest UML tool ever created, check out benchmarks),
  • has rock solid C++, Java, PHP and others import support,
  • is multiplatform (Linux, Windows, other OSes),
  • has a great SVG export support, which is important, because viewing large graphs in vector format, which scales fast in e.g. Firefox, is very convenient (you can quickly switch between "birds eye" view and class detail view),
  • is full featured, impressively intensively developed (look at development history, it's hard to believe that such fast progress is possible).
  • supports plugins, has modular architecture (this allows user contributions, looks like BOUML community is forming up)

Believe me, there is no better tool. StarUML is a retarded turtle compared to BOUML. ArgoUML simply doesn't work. Dia is a ergonomy^-1 software.


You can also check out Lucid Chart for uml and other types of diagramming.


Take a look at BOUML: multiplatform (QT), works pretty well and supports colaborative work.

BOUML is a free UML 2 tool box (under development) allowing you to specify and generate code in C++, Java, Idl, Php and Python.

BOUML runs under Unix/Linux/Solaris, MacOS X(Power PC and Intel) and Windows.

From Wikipedia:

The releases prior to version 4.23 are free software licensed under GPL. BOUML 5 and later is proprietary software.


Take a look at the Sybase PowerDesigner

http://www.sybase.com/products/modelingdevelopment/powerdesigner

Description:

http://en.wikipedia.org/wiki/PowerDesigner

It is a vary powerful tool but so is the price!


Pen and paper. If you can get the scan into a vector format, that may be useful when making minor amendments.


You can create UML class, sequence, component, use case, and activity diagrams in Visual Studio 2010 Ultimate. You can link these diagrams to Team Foundation work items so you can plan and track development and test work. You can also create sequence, dependency graphs, and layer diagrams from code and use Architecture Explorer to browse and explore your solution.

I've posted more links on my profile for more info.


In my career I often needed to draw UML diagrams and generate Java code. I found MagicDraw most appealing and I'm a happy user. I think their licensing model is fair because it allows to pay for what you need. I prefer it to other products I used in my (distant) past: ArgoUML, Poseidon, Rational Rose, Dia. Be aware that my experiences on other products are obsolete and have maybe significantly improved or changed their licensing model. Maybe you should start with an open-source tool and decide later whether to spend some bucks.

With MagicDraw you can document your code by generating diagrams from code. You can also model first, then generate the code. It also integrates well with several IDEs.


For sequence diagrams there is free java based Quick Sequence Diagram Editor. The sequence is written in text editor and then rendered by QSDE engine. It exports to variety of vector and bitmap file formats.


I have tried MagicDraw and it is very good, only the community edition though.

Also I have tried omondo, it looks fantastic but it is very expensive for commercial use.


Dia is a possible choice. It's definitely not the best tool, but it is functional.


Just throwing in my two bits here, but I found ArgoUML to be very useful. It takes a little while to get used to it and its a bit buggy (last I checked it was in version .29 or so) but it works pretty well once you get used to it. It handles all types of UML diagrams, which is why I prefer it. Also, its made by tigris, the same people who made subclipse, an SVN repository plug-in for Eclipse.


I advice to use Pacestar UML Diagrammer. It helps you generate UML 2.0 diagrams quickly, easily, flexible AND commonly understood notation.

I used it in many projects and I'm very satisfied. And too it doesn't use much of memory and space just 6 Mo of Hard Disk.

And the most feature that I like it very much is that I can copy diagrams from the editor and paste them in MS Word... so when I need to edit a specific diagram, just I click on and it will be opened in the editor and by closing it, the updates had been done in MS Word document.


As I usually use UML more as a communication tool rather than a modeling tool I sometimes have the need to flex the language a bit, which makes the strict modeling tools quite unwieldy. Also, they tend to have a large overhead for the occasional drawing. This also means I don't give tools that handle round-trip modeling well any bonus points. With this in mind...

When using Visio, I tend to use these stencils for my UMLing needs (the built in kind of suck). It could be that I have grown used to it as it is the primary diagramming tool at my current assignment.

OmniGraffle also has some UML stencils built in and more are available at Graffletopia, but I wouldn't recommend that as a diagramming tool as it has too many quirks (quirks that are good for many things, but not UML). Free trial though, so by all means... :)

I've been trying out MagicDraw a bit, but while functional, I found the user interface distracting.

Otherwise i find the Topcased an interesting project (or group of projects). Last I used it it still had some bugs, but it worked, and seems to have evolved nicely since. Works great on any Eclipse-enabled platform. Free as in speech and beer :)

As for the diagramming tool Dia, it's quite ugly (interface and resulting drawings), but it does get the job done. An interesting modeling tool free alternative is Umbrello, but I haven't really used it much.

I definitely agree with mashi that whiteboards are great (together with a digital camera or cellphone).

Probably some of the nicest tools I've used belong to the Rational family of tools.


If you're looking to get out the door and working on UML without having to learn a complex new tool I would check out Violet UML. I've used it to some pretty great success in the past.


Enterprise Architect from Sparx systems is the best tool I've used. A bit expensive at $199 (professional edition), but IMO it's worth it.


You might want to take a look at MagicDraw or Visual Paradigm for UML. Both offer community editions that, of course, don't span the full feature range, but may well be sufficient if you want to create diagrams only and not generate code or do full round-trip engineering.


You may be looking for an automated tool that will automatically generate a lot of stuff for you. But here's a free, generally powerful diagramming tool useful not only for UML but for all kinds of diagramming tasks. It accepts as input and outputs to a wide variety of commonly used file formats. It's called yEd, and it's worth a look


In my practice i use Sequence Diagram Editor. it is really fast and helpful tool. the one thing i don't like about it is that it is commercial product, not free.


I recently conducted a poll "What UML Tools do you use?" in my blog. NetBeans UML was was the top opensource choice and Enterprise Architect was the top commercial choice.


For my simple & short UML working, I've used this tool:

StarUML - http://staruml.sourceforge.net/en/

Great free software for UML drawing.


Although the original Star UML is no longer maintained, there's now a fork called White Star UML, which is actively developed.


For me it's Enterprise Architect from Sparx Systems. A very rounded UML tool for a very reasonable price.

Very strong feature list including: integrated project management, baselining, export/import (including export to html), documentation generation from the model, various templates (Zachman, TOGAF, etc.), IDE plugins, code generation (with IDE plugins available for Visual Studio, Eclipse & others), automation API - the list goes on.

Oh yeah, don't forget support for source control directly from inside the tool (SVN, CVS, TFS & SCC).

I would also stay away from Visio - you only get diagrams, not a model. Rename a class in one place in a UML modelling tool and you rename in all places. This is not the case in Visio!


Rational and Together/J are best-of-breed products, but expensive.

In my experience, I've enjoyed Eclipse Omondo and Sparx Enterprise Architect. Omondo integrates nicely with Eclipse for code generation, and has a very intuitive feel. However, it is strongly tied to Java. Sparx is a good tool for the price point, but lacks the full range of UML 2.0 diagrams.

Do NOT bother with Poseidon. It is buggy, bloated, and unusuable for all intents and purposes.


I use gmodeler.com. It just does class diagrams.

Good things

  • Very simple feature set. Great UI. Very easy to use.
  • Attractive UI.
  • Don't have to login/create an account
  • Can save diagrams
  • Free

Bad things

  • Hard to collaborate -- have to export to xml (I don't care)
  • Can't access diagrams from any machine because it saves to your browser (I don't care)
  • Can't export as image or pdf (I can take a screen shot)
  • Can't generate code for most languages
  • Very simple feature set. (I don't care)
  • Each class has an 'Event' list which I don't need and I can't get rid of.

The TopCoder UML Tool is a very good free UML tool.


If you want to model at diagram level and also have a clean metamodel the new Omondo build allows live synchronization between MOF and UML Diagrams. Just amazing to see my diagram and the xmi live synchronized each time I change something in my diagram and the model is changed. What is most incredible is that the model is also the metamodel and the MOF because everything is lived synchronized. Very powerful new concept for my point of view.

I also like Java code annotation and JPA support in the class diagram and in the model. I don't know any other tool having these 2 incredible features !!


I like VisualParadigm mentioned before in this thread. It's powerful and easy to use I think it gives most power comparing to other tools.

If you need something simple, quick and easy (and free) there is a great tool called UMLet - I highly recommend this. I've tried many of UML diagramming tools and this the simplest one (and it still allows to do great diagrams). This is my choice:)


You should try Creately. Runs in your browser and can do team collaboration.

supports sequence diagrams, class, ER, usecase etc. works great and has a free version available.

Creately.com


+1 for TopCoder UML Tool after I had tried most of other free tools.
My reasons are:

1) The tool can save UML diagrams in the human-readable format XMI, so the file can be fed to the version control system easily.

2) Support of Undo/Redo (this is the reason I've discharged ArgoUML).

3) The diagram is kept in one single file, and not linked tightly with "workspace" or "project".

StarUML is also good, though is old. Unfortunatley it is not developed/maintained any longer.


I can't believe no one has mentioned NetBeans UML Editor, it's great and satisfied all of my Java based UML requirments.

This after I tested JDeveloper UML, ArgoUML and StarUML.