views:

23983

answers:

44

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?

+24  A: 

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

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

Great free software for UML drawing.

popopome
is staruml still under active development?
fawce
Unfortunately looks like it is Windows-only. Being cross-platform is one of my first requirements when it comes to choosing a tool for my team.
Adam Byrtek
Piotr Czapla
StarUML doesn't recognize the new syntax of java1.6. It's dead.
solotim
yes it is...but i think it doesnt have Sequence Diagram...
Vizay Soni
+5  A: 

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.

James D
+1  A: 

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.

Kibbee
I would say nay on that, I butted my head against that wall for a month and there's got to be something better. Far too clunky and an un-intuitive UI.
George Mauer
Argo is still primative but is the only truely open source UML tool available.
Martin Spamer
it's not slow because it's written in Java, it's slow because it's a work in progress and I believe the developers have had any time to work on performance issues.
Ubersoldat
@Martin: refresh your research on actual OS UML tools, there are new tools, especially BoUML, which is great.
ArgoUML cannot copy-paste objects and even undo!
Török Gábor
+5  A: 

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

Doug
+6  A: 

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.

André Casteliano
I really enjoy using Enterprise Architect. I don't consider it all that expensive, especially for professional use. And when you compare it in price and features to rational rose it wins hands down.
Ajaxx
having just done an eval for a client, I agree - $199 is superb value considering it includes code import and codegen! Nothing came close in cost-effectiveness.
Andy Dent
btw, professional Visio costs MUCH more
Boris Treukhov
+1  A: 

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.

Martin Klinke
+3  A: 

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.

John
+28  A: 

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!

Sean Kearon
After trying a dozen or two UML tools, I've also settled for EA by Sparx. I'm using only 5-10% of its capabilities, though... :-)
Yarik
+12  A: 

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.

Henrik Gustafsson
The stencils for Visio worked for me. Thanks!
grigy
+1 for the Visio stencils.
Martin R-L
+7  A: 

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.

Eric Scrivner
Screenshot: http://img516.imageshack.us/img516/2069/violeti.jpg .It's by far the best free uml tool in my view
Chris S
Very good tool! Thanks.
John
Wow, just tried that out and it is awesome. Only thing on my wishlist is some way to redirect arrows. Ie give them a draggable mid point.
sixtyfootersdude
+4  A: 
Prakash
+9  A: 
Huppie
one up for Visual Paradigm :)
m3rLinEz
I love it too. Very nice interface.
Wernight
I've used most of the major UML Tools (most of which extensively)(Rational Rose, Tau, Rhapsody, Enterprise Architect, Visio, and several others) and accidentally stumbled upon Visual Paradigm, which I had never heard of. It blows all the others out of the water. It has its' quirks but it is not that annoying to work with (compared to the others which are very annoying) and is very powerful.
Dunk
A: 

+1 for StarUML, I've used for several years & it is very useful.

horace
A: 

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

hishadow
+10  A: 

Take a look at BOUML: free, 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.

A: 

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

+1  A: 

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.

+68  A: 

For sequence diagrams, try websequencediagrams.com. It's free, 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

Steve Hanov
How very handy! +1
Dynite
Steve, that's great, thanks.
SquareCog
Thanks Steve. This was useful.
Vivek Kodira
It's interesting but I'm not sure I see the value of it being web based - surely it would be better to have it on your PC and you can save files etc - and a GUI, drag and drop is surely easier than scripting you have to know.
Vidar
Really great site! However, for real usage I'm with Simon: can't see me using it on a live project.
Sean Kearon
@Sean/Simon: It has PDF export andpermalinks
aleemb
@Simon - it's hardly scripting. You type in a simple text description of the interaction. And you can easily copy and paste the text description to your PC, export PDFs and/or save the images by right-clicking in the browser. I use it on work projects.
MarkJ
Why is this voted so high why it does not answer the question? Oh well, I agree it is a nifty website. The first line in the question says "creating UML diagrams of all flavours.". I would vote it down, but I am weak, so I will just comment.
Ted Johnson
+1. I came in to share this one as well, realizing that it doesn't answer the question in full. Sequence diagrams have always seemed a little awkward / out-of-place when juxtaposed with the rest of UML, but they're UML nonetheless. In my opinion, sequence diagrams are the most immediately valuable part of UML.
Justin Searls
This is an excellent one
Dan
+1  A: 

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.

Andrei Savu
+4  A: 

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

Marcin
+51  A: 

Some context: Recently for graduate school I researched UML tools for usability and UML comprehension in general for an independent project. I also model/architect for a living.

The previous posts have too many answers and not enough questions. A common misunderstanding is that UML is about creating diagrams. Sure, diagrams are important, but really you are creating a model. Here are the questions that should be answered as each vendor product/solution does some things better than others. Note: The listed answers are my view as the best even if other products support a given feature or need.

  • Are you modeling or drawing? (Drawing - ArgoUML, free implementations, and Visio)
  • Will you modeling in the future? (For basic modeling - Community editions of pay products)
  • Do you want to formalize your modeling through profiles or meta-models? OCL? (Sparx, RSM, Visual Paradigm)
  • Are you concerned about model portability, XMI support? (Sparx, Visual Paradigm, Altova)
  • Do you have an existing set of documents that you need to work with? (Depends on the documents)
  • Would you want to generate code stubs or full functioning code?(Visual Paradigm, Sparx, Altova)
  • Do you need more mature processes such as use case management, pattern creation, asset creation, RUP integration, etc? (RSA/RSM/IBM Rational Products)

Detailed Examples: IBM Rational Software Architect did not implement UML 2.0 all the way when it comes to realizes type relationships when creating a UML profile, but Visual Paradigm and Sparx got it right.
Ok, that was way to detailed so a simpler example would be ArgoUML has no code generation features and focuses on drawing more than the modeling aspect of UML.
Sparx and Visual Paradigm do UML really well and generate code well, however, hooking into project lifecycles and other process is where RSM/RSA is strong.
Watch out for closed or product specific code generation processes or frameworks as you could end up stuck with that product.

This is a straight brain dump so a couple details may not be perfect, however, this should provide a general map to the questions and solutions to looking into.

NEW - Found a good list of many UML tools with descriptions. Wiki UML Tool List

Ted Johnson
could you please include a link to your evaluation if it is able to be published. I recently did a simpler evaluation for a client and picked Sparx EA (for models, codegen, code import, drawing, extensible) which is lean enough it still runs very nicely on low-spec Macs under Virtual PC.
Andy Dent
Sorry for the delay. I actually did research informally around the tools. For my main research I did not even use a UML tool, just paper and a pencil. I have continued looking a these tools. Each have their strengths. RSM/RSA in my opinion would not run very well on low spec macs for example.
Ted Johnson
ArgoUML == NO SUPPORT to Sequence Diagrams
Lucas -luky- N.
solotim
+2  A: 

In my opinion StarUML is the best.

Veera
+3  A: 

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.

PhiLho
A: 

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.

alepuzio
A: 

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.

Maxim Veksler
+1  A: 

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.

A: 

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.

indyK1ng
+1  A: 

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.

James
+1  A: 

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

Chands
+2  A: 

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.

Esther Fan - MSFT
+1  A: 

astah* UML (ex-JUDE) is pretty good.

Henry
Missing features: naming of initial and final state, nesting of hierarchical statemachine diagrams in the same diagram (w.o. linking diagrams). Whats good: Continuous improvements, author commited to UML spec, more than just a drawing tool. Runs on UNIX. Has a long way to go, to bring it to the "Enterprise Architect" level of functionality.
+1  A: 

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.

andreas buykx
A: 

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 !!

A: 

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!

Dr Casper Black
A: 

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

Seth
A: 

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.

andrej
A: 

You might want to try PlantUmlEditor. You can draw diagrams at the speed of writing emails. If you want quick diagrams emailed/brainstormed together, then this is the fastest tool out there. Saves you from stencils and visual designer issues. As fast as writing text and doing search replace.

Omar AL Zabir
A: 

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

If you need something simple, quick and easy (and free) there is a great tool called UMLet - I hihgly 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:)

Lukasz Dziedzia
A: 

maybe Visual Paradigm for UML or Dia for openErp jobs...

sebastiano.dimartina
A: 

Violet

Free, and very easy to use.

Pieces
+1  A: 

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

Sean Gough
+1  A: 

I'd suggest Red Koda Community. Check the sequence diagram video, you can see how easy and fast you can use this.

Red Koda Software
A: 

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

Michaelus
A: 

See EasyUML Editor. It is a nice Web based UML Editor which converts Text to all types of UML diagram. As EasyUML is web based, it can be accesed over the network and hence it is a nice tool to share your Designs. You can also export UML diagrams as PDF, PNG and SVG format.

Rajesh Jadhav