39

I just can't find a decent (and free) one. What can I use?

  • 1
    Unified Modelling Language. It is designed to model a system prior to coding so all involved are aware of the relationships between entities. It's also useful as part of software documentation. en.wikipedia.org/wiki/Unified_Modeling_Language – Jonathon Oct 25 '10 at 16:20

10 Answers 10

17

Did you ever try Umbrello? Given it is based on KDE, however is the best tool I have encountered if you do not want to go the java route. Umbrello is in the Ubuntu repository.

If you are ok with java, ArgoUML is a quite good tool, or you can see what plugins are available for eclipse.

ArgoUML

  • 2
    Sequence diagrams are not fully developed yet in ArgoUML. Many aspects are not fully implemented, or may not behave as expected. – Lucas Pottersky Oct 25 '10 at 19:58
  • On the other hand, Umbrello looks promising. I don't remember having tried this one. – Lucas Pottersky Oct 25 '10 at 20:17
  • Umbrello should be the tool for UML diagramming. However, it has so many shortcomings in practice... One example: activity labels can't be on multiple lines. – gertvdijk Jun 10 '13 at 9:36
  • 1
    Umbrello does not save in Linux Mint Cinnamin 18, there is a bug I believe related to not having KDE dependencies – flyingdrifter Sep 28 '16 at 17:00
  • Umbrello is not able to save projects on Ubuntu 16.04. – Luís de Sousa Jan 11 '18 at 14:59
14

Tried Dia?

 sudo apt-get install dia

Dia

  • AFAIK, dia can only create diagrams, but does not do any automatic code generation from the diagrams, hence it is not really a UML tool. – txwikinger Oct 25 '10 at 16:09
  • 1
    i couldn't find a way to create sequence diagrams with Dia. is it possible at all? – Lucas Pottersky Oct 25 '10 at 19:51
  • 3
    @txwikinger: there is dia2code ( Install dia2code ), but I have never used it, so no idea how useful it is... – JanC Oct 30 '10 at 8:02
  • @JanC Nice! ` ` – Oli Oct 30 '10 at 9:33
  • @LucasPottersky I think the "Lifeline" and "Message" can create a sequence of messages. – yaobin Dec 4 '18 at 16:38
11

Umlet Install umlet is a great, free, open-source UML tool with a simple user interface:

  • you can draw UML diagrams fast,
  • produce sequence and activity diagrams
  • export diagrams to eps, pdf, jpg, svg, and clipboard
  • share diagrams using Eclipse
  • create new, custom UML elements

and UMLet runs stand-alone or as Eclipse plug-in on Windows, OS X and Linux.

(Also, check out its sister tool PLOTlet to create chart grids.)

Umlet

Its among the best and my personal favorite !

8

Dia Install dia can generate code into Java, PHP, C++ and many more, but you should install Dia2code Install dia2code for generating code. I use it for creating UML and then generate the code of the classes.

  • 1
    Dia is nothing more than a sketch toy. No at all advisable to anyone willing to work in modelling. – Luís de Sousa Dec 9 '14 at 7:20
  • Additionally the diagrams it creates look so ugly, every time I use Dia, makes me want to delete those exports on the spot. It is very cumbersome to work with it when you want as few junctions/direction changes in your associations in a model as well. Changing anything while keeping lines where they should be is cumbersome to the point, where you cannot seriously recommend Dia for ANY type of UML diagram. – Zelphir Kaltstahl Jul 1 '17 at 21:37
3

I use Papyrus, a suite developed by the Commissariat à l'Énergie Atomique in France that is today available as a plug-in to Eclipse. It is the most advanced open source modelling tool I am aware of and supports UML2 almost entirely. Broad description:

Papyrus is aiming at providing an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE. Papyrus provides diagram editors for EMF-based modeling languages amongst them UML 2 and SysML and the glue required for integrating these editors (GMF-based or not) with other MBD and MDSD tools.

Most importantly, Papyrus supports Model-Driven Development (MDD), being a pretty able tool to develop Domain Specific Languages. On this regard, Papyrus seems to be the only open source tool supporting the Model-Driven Architecture (MDA) pattern issued by the OMG. With a code generator such as Acceleo you end up with a full MDD stack - from which you may even create your own DSL plug-ins.

enter image description here

2

After a longe search in desktop apps I decided to go web, now I'm using Cacoo, which allow not only uml drawing but a lot of different drawing (like network topography, general stuff, etc). It's free and allow to share with friends and concurrently editing.

Schablonen in Cacoo

2

I like yEd. It is not open-source but it is freeware and cross-platform, handling many types of diagrams and also UML.

enter image description here

1

Gaphor Install gaphor is decent. It has some limitations and bugs, but it is the least annoying of UML editors out there. However, as Dia, it cannot generate code, I am just listing it in case you ever need a straight UML diagram creation tool.

0

Visual Paradigm is a powerful commercial tool for UML. But you can use the community edition which is free (for not commercial use). The only restriction is that every hour close the program.

enter image description here

0

So far Astah* is the best UML tool I've ever used. In my opinion, the drawing experience is better because it can automatically align or anchor the graphical elements in a smart enough way.

They used to provide a free community version but unfortunately they have stopped that support since 2018/09/26.

However, its UML Editor provides a free version if you are a student.

protected by Tim Post May 23 '14 at 6:35

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.