Tool for modeling program logic

Hi all,

I'm looking for a good graphical tool to model program logic. I usually hand write the stuff but senior devs need to check off on some of it (and writing neater hasn't worked). So Im just looking for any recommendations as to a good tool, preferably free and open source. BTW working in .net

Thanks for the recommendations. I went ahead with draw.io and it was easy enough to use.

Recently I was participating in a team meeting when i think we tried two of online solutions.
The meeting was a little bit messy. so I cannot recommend one over the other. And we used it for data diagrams, so your experience might be different.

Also I'm not sure what kind of integration with platform/language you are looking for. Some tools allows generation of code (stabs/data models) from diagrams (but unlikely to find free in such category).

Anyway, we needed just something to draw and eventually share:

  1. https://www.draw.io/
  2. https://www.lucidchart.com/

Here is something that I remember from long ago:

1 Like

i would recommend allfusion software suite it goes pretty detail in modeling software processes as well as data models but if you need only the charts then draw.io is clear winner also i forgot to mention that allfusion is NOT free but hey you know what they say right tools for the job aren't cheap

Online, collaborative:

Lucidchart (already mentioned by @jak_ub) did it for me for a while. I liked how everything looks good easily. We ended subscription because it wasn't valuable enough for the 10 sketches I do each year. I ended up being the only guy using it in the end, because nothing beats the efficiency of hand-drawing and a whiteboard, and taking a picture of it with a smartphone when you're done. I would recommend it as it makes a good looking drawing to show to other people.

Since we use google docs a lot at work, I found Google Drawings: https://docs.google.com/drawings to be "good enough" for sketching out things to replace my uses of Lucidchart. I quite frankly think it is "shit", but it makes things a bit more official and can be embedded in other google documents. Sometimes "shit" is "good enough". Not bad looking, takes a little more time to manually layout and connect things so they don't look just too "shit".

Offline, non-collaborative:

There is one non-collaborative I truly and perversely enjoyed, but never used professionally:
Eve: http://barryk.org/goosee/ .

And there is one non-collaborative I didn't find a single reason to strongly dislike:
Libre Office Draw: https://www.libreoffice.org/discover/draw/ .

I know you asked for open source, but some time around 2008 I found Visio: https://products.office.com/en-us/visio/flowchart-software to be perfect for all my needs ever. Best thing I've ever tried (we're talking late 200x). Once out of MSDNAA license, I quit using it and can't vouch for it. Haven't tested the online version. Another cool thing from the same company is https://www.onenote.com/ . Again, same thing - it was amazing, can't vouch for it today.


I would suggest looking at a possibility to automate transfer from code to diagram instead, if you can model in code. Sometimes you can even just write a bunch of interfaces in code and pull a class model from it. Or write a single function (not pseudo-code, actual code) with all conditions in it and converting it to a flowchart graph.

THE BEST EXPERIENCE I've had with any visual modeling tool hands down is MySQL Workbench. Technically, you can even use it as a class diagramming tool, and parse out the table-definitions you create as a class definition to an OO language auto-generation/templated code. Writing custom methods on those classes can be done using abstract base-classes. Also, it randomly crashes on Mac OS due to a bug in Cairo version it uses (at least it used to last time I tried it). And sadly, no flowcharts / program logic. I anyway thought to mention it because it is one you don't see coming.

You mention .NET, there should be plugins and tools for creating diagrams from code if not vice versa? Haven't touched Microsoft stuff in a while now (and no, the grass isn't greener on the other side).


A rant

What would be perfect for most uses at work (speaking for myself, at my work) is a collaborative whiteboard we can save and continue editing later on. We have so far found none that is as intuitive as a real whiteboard to support a conversation about an implementation.

I use two applications for drawing diagrams
Mind mup for simple diagrams


Draw.io for more custom diagrams
https://www.draw.io/

Both have Google drive integration, or if you are trying to degoogle yourself use their web version.