I've been going back to UML to try to tame some of my design/notes for my projects. Is there something that generates some more modern looking UML diagrams out there?
- It uses a human readable text-based file format renderable via the PlantUML jar. Friendly to CLI and git.
- The diagrams are stylable, should you wish to style them.
- There's a PlantUML Integration IntelliJ plugin that's easy to use for preview/rendering[2]
- Overall simple to use, but I imagine it can as robust as you want it to be. For example, the IntelliJ plugin Sketch.it automatically generates PlantUML diagrams from Java source code[3], and the source code for how it works is available on BitBucket if you want to know how it works[4]
I've seen other people suggest Mermaid.JS[5] before, but I haven't used it so I can't say how it is. [1]: http://plantuml.com
[2]: https://plugins.jetbrains.com/plugin/7017-plantuml-integration/
[3]: https://plugins.jetbrains.com/plugin/10387-sketch-it-
[4]: https://bitbucket.org/pmesmeur/sketch.it/src/develop/
[5]: https://mermaidjs.github.io
However, Lucidcharts has a better UI in that I can build diagrams after in LC than Draw.io. https://www.lucidchart.com/pages/
LC is paid if you need more than 1 chart (who doesn't?). But Draw.io is free. LC is also web-based and is cross-platform.
I've heard OmniGraffle is also excellent (never used it myself) but it only works on OSX/iOS: https://www.omnigroup.com/omnigraffle/
It does not support all the diagrams yet, but it's completely themable and you can code away your diagrams like you would with dot/graphviz.
It integrates well into any Markdown tool, Gitlab integrated it about a year ago so it's natively available in Gitlab flavored Markdow.
https://www.yworks.com/products/yed
Favorite feature: automatically reorganize the chart according to your preferences/constraints (e.g. fewer line intersections, hub-spoke, hierarchical, etc)
For shareable web editing, LucidChart or Draw.io.
For quick easy text markup, PlantUML or Mermaid.
I have not found any UML tool that's pretty, shareable, round-trippable, and has easy text markup.
Demo of PlantUML: https://github.com/joelparkerhenderson/demo_plantuml.
You know, there are lots of people selling snake-oil, drawing boxes and arrows that make you feel good, but ultimately have no real meaning. If something is really meaningful you should be able to express it in mathematics. - Leslie Lamport
... via https://github.com/globalcitizen/taoup
If you need to visualize, take more precise states as a basis and take a look at graphviz[0]. If you need to model multi-agent systems, use mscgen[1] to draw Message Sequence Charts.
From the UMLet web page:
> UMLet is a free, open-source UML tool with a simple user interface: draw UML diagrams fast, build sequence and activity diagrams from plain text, export diagrams to eps, pdf, jpg, svg, and clipboard, share diagrams using Eclipse, and create new, custom UML elements. UMLet runs stand-alone or as Eclipse plug-in on Windows, OS X and Linux.
UMLetino runs UMLet in a web browser. Refer to the UMLet FAQ and sample diagrams for help. http://www.umletino.com/umletino.html
Also draw.io templates and a set of Visio templates ( https://github.com/pihalve/c4model-visio-stencil ) that can be imported into Lucidcharts as well. There is also some web based tools (see bottom of C4 website).
It doesn't support standard UML diagrams but between sketch mode [1] [2] and icons [3] you may be pleasantly surprised. I personally use it to map out Kumu's own internal application structure and flows.
Full disclosure: I am the lead developer and cofounder of Kumu.
[1]: https://www.youtube.com/watch?v=wX3kbCyOamQ (Gene Bellinger's intro to Kumu's sketch mode)
[2]: https://www.youtube.com/watch?v=AFOz67co0yA (Benjamin Mosior sketching wardley maps in Kumu)
[3]: https://docs.kumu.io/guides/icons.html (Kumu docs on Font Awesome support)
UML Diagramming Software for Windows: https://www.ilovefreesoftware.com/29/featured/free-uml-desig...
Online UML Digaramming Tools: https://www.ilovefreesoftware.com/22/webware/free-websites-t...
If you don't mind paying for something and want something that looks great visually, I would recommend Lucid Chart [2]
[1]: https://draw.io
[1] https://avdi.codes/tools-for-turning-descriptions-into-diagr...
(I make GoJS, a diagramming library, but it presumes nothing about "looks", which can be modified arbitrarily)
For more advanced diagrams I use Enterprise Architect (https://www.sparxsystems.eu/).
And what for do you need UML (and what type diagrams)?
For example, IDEA products for Java has some tools for class diagrams
MS visio is nice too as tool for just painting UML
But main problem with UML - synchronization with code base
draw.io is a free tool both available online at https://www.draw.io/ or you can download a desktop version from https://github.com/jgraph/drawio-desktop/releases. Quite fast and good.