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

  • 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. – Thomas Weller Nov 16 '15 at 14:27
  • +1 for the happy stick figure – Jan Doggen Nov 17 '15 at 9:29
  • 1
    Here is a site which lists tools: modeling-languages.com/uml-tools/#textual – guettli Dec 7 '15 at 10:42
  • 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 Jun 16 '17 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 Jun 16 '17 at 9:16
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

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 ;-)

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

  • both of your answers look great, but do you know of a Windows version, rather than web-based? – Mawg Jul 31 '18 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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