From Text to simple UML diagram - Tools
Background
I want to make some diagrams about my small project etss
. Simple class
diagrams and sequence diagrams would be enough.
I started by drawing by hand, which soon strikes me that most of my fiddling with the representations is repetitive&tedious. So I started to search for tools that translate high-level textual representation into decent looking graphic diagrams.
I try to find some JavaScript libraries first as recently my main focus is on
Web tech. However, as the search goes on, I've found there are not many
JavaScript projects on UML actually. Tools like jointjs
, draw2d
are too much
for my purpose. In the end, I settle down on PlantUML
, a Java solution.
The following is what IMHO that's worth noting.
PlantUML
So far the most complete tool for generating UML from text.
Pros
- The DSL is very intuitive, actually
bramp/js-sequence-diagrams
's DSL is roughly based on it. - Very complete, the documentation and examples are amble.
Cons
- Written in Java (Do I still remember how to code Java?)
- Web integration requires a 3rd party server to render UML image….
- Styles are not very modern, but acceptable any way.
Sequence Diagrams
tmtk75/jumly
- Pros
- Very modern, professional-UML looking. Built-in themes looks great.
- Not using SVG, but DOM objects directly, so styling can be done with CSS.
- Cons
coffeescript
andstylus
are used, which to me feels too hackishy.- The DSL feels too hackishy, not as intuitive as
plantUML
.? Maybe I can help improve on this.
Class/State Diagrams
nomnoml
Web-based UML library, looks very promising. Though it doesn't support sequence UML.
Flow Chart
flowchart.js
Useful to draw logic diagram about inner workings of complicated piece of code.
Other interesting diagram tools
- A list of textual UML tools
Someone else keeps a list of textual tools.
- Railroad Diagram Generator
A tool for creating syntax diagrams. Together with
Jison
, very handy when you design some DSLs. - Timeline JS
In case you need to make a timeline about something in the web.
Others
Jison: JavaScript parser generator!
Good for designing DSL with JavaScript, I think, similar to Bison
.
Many tools above utilize this library.
Bustle
A DBus
monitor with sequence diagram, looks very cool. If you ever use the
default dbus-monitor
, you would appreciate the graphical representation ;P
draw.io
A nice in-browser IDE for drawing diagrams manually.
∎