6

In our company we use an Wiki to document our projects.

I am missing a way to sketch simple overview diagrams.

Now I search a tool to create such diagrams.

Requirements:

  • read ASCII/UTF (not SVG)
  • re-usable entities: Figures for database, actor (person), internet (cloud), ... should be easy to re-use
  • output format: SVG or PNG
  • Relations between the entities

Main focus is on easy of use. I don't need all things which are possible in UML.

Use case: I want to draw images like this:

enter image description here

5
  • 2
    If you're looking for a single solution that covers many UML diagram types, look at PlantUML, licensed under GPL and you can run it yourself (needs Java+Graphviz). I don't really like the old-school style graphics. There could be a few issues in SVG output - they had some SVG bugs recently, but I think they'll be fixed, since SVG becomes more and more popular. Commented Nov 16, 2015 at 14:27
  • 1
    Here is a site which lists tools: modeling-languages.com/uml-tools/#textual
    – guettli
    Commented Dec 7, 2015 at 10:42
  • Thomas, did you ever choose a tool? Will you tell us which? That would help others in future, just as we have tried to help you
    – Mawg
    Commented Jun 16, 2017 at 7:48
  • 1
    @Mawg Yes I choose a tool for sequence diagrams: Enumerated lists in wiki markup. The result is boring (like SQL): "1. first step, 2. second step, 3. third step ..." The sequence diagram is like computer "think". I have not found a way to paint the way humans think. I found no simple way to sketch the three things (Browser, Internet, DB) of above example in ascii. ... Still searching. Nevertheless thank you very much for your answer. I am sure that I will come here again sooner or later.
    – guettli
    Commented Jun 16, 2017 at 9:15
  • 1
    @Mawg I sketch with paper and pen daily. Sometimes I take a photo with a mobile phone at the end. That's my current solution if I want to sketch something like Browser, Internet, DB.
    – guettli
    Commented Jun 16, 2017 at 9:16

4 Answers 4

4

If it's mainly about sequence diagrams, I use JS Sequence Diagrams.

The input is plain text which is nice for version control. The output can have different styles. I love the "hand-drawn" (like xkcd) style, to indicate that this is a sort of draft diagram.

For final versions which go into official documentation, I switch to "simple" style. The result can be downloaded as SVG.

Disadvantage: it supports sequences only, no other UML diagrams.

Your diagram could look like this:

DB->Browser: data
Browser->Queue: push
User->Queue: change data
Queue->Browser: finish item
Browser->DB: save

Result image

1
4

I have upvoted both of Thomas answers & will be looking into them.

I have done a lot of searching for MSC drawing tools, especially those which take plain text as input. In addition to scripts easy to store in version control, it allows me to code tools (normally as Python scripts), for instance to automatically generate an MSC from a test log to quickly give me a visual overview of a test run's result.

Much as I like the XKCD effect, I have yet to find anything which offers as much control of output possibilities as MSC Generator, which allows diagrams even more complex than this: enter image description here

Take a look at the examples, to see things like this enter image description here

There are also powerful nested notations, plus alternatives and option events. Here's a slightly more expressive example: enter image description here

The program is stable and well supported and has been around for many years. I have found the author to be helpful and open to suggestions. He usually replies to emails within an hour or two.

In addition to the web site and in-built help, I strongly recommend reading the PDF documentation, which seems to be the most complete.

For Windows a full installer is provided, for Linux and MacOS a source tarball is available.

The program is free, and satisfaction is guaranteed, or you get your money refunded in full ;-)

0
3

In order to sketch class diagrams and use case diagrams, I use yUML. I don't like the activity diagrams of the same site.

The input is plain text which is nice for version control. The output can have different styles. I love the "scruffy" (xkcd-like) style, to indicate that this is a sort of draft diagram.

For final versions which go into official documentation, I switch to "plain" style. The result can be downloaded as SVG.

Disadvantage: it's in beta stadium, not sure what consequences that could have. Potentially the service might be down without further notice or be converted into a commercial one.

A class diagram could look like this:

[MyClass|-private:string;+public:string|doSomething()]<>-*>[OtherClass]
[OtherClass]++-0..*>[JustAnotherClass]
[OtherClass]-[note:This is a note{bg:wheat}]

yUML class diagram

3
  • both of your answers look great, but do you know of a Windows version, rather than web-based?
    – Mawg
    Commented Jul 31, 2018 at 20:03
  • 1
    @MawgsaysreinstateMonica: I'm totally a fan of offline tools, but that's still missing in my arsenal. Commented Oct 15, 2023 at 10:28
  • Then look at my answer, Thomas. It's offline, and the most powerful MSC drawer that I have ever found, and I have been searching for a loooong time
    – Mawg
    Commented Oct 16, 2023 at 19:34
1

Mermaid

Mermaid lets you create diagrams and visualizations using text and code.

It is a Javascript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.

It supports.

  • Flow Chart
  • Sequence Diagram
  • Gantt Diagram
  • Class Diagram
  • Entity Relationship Diagram
  • User Journey Diagram

See: Diagram Types

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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