Suggestions
Whenever you publish a diagram, also include a comment explaining which software/website was used.
If you need to log into a website in order to update the diagram, post the login details… somewhere.
Ideally you would first create an account that is intended to be shared within you team.
If the diagram was generated from source code, publish the source code (or a link to it) along with the diagram.
For bonus points, include this information in the image itself.
These suggestions apply equally to email, chat, wiki, printouts, etc.
Don’t send the source to clients, only to colleagues.
Read The C4 model for visualising software architecture for a good system and suggestions on diagrams (then look at using plantUML with the C4 extentions).
This is a good talk on the topic:
Types of diagram
Database schema diagram
Flowchart
Sequence diagram
Component/Class diagram
Code workflow
…
Desktop software
Flowcharts
VIsual-only
Dia - beware, it's Dia by name and dire by nature
Omnigraffle - Mac only
Source + Visual
VS Code - has nice plantuml integration - live preview
PlantUML (example)
Summary: Full featured language designed for visualising software architecture, build multiple diagrams from a single model, etc.
See also Structurizr
Summary: Simpler, general purpose language for diagrams (dot language)
Database
…
Online software
Flowcharts
Gliffy.com (now paid)
moqups (has a free plan)
PlantUML
Graphviz
Database
- diagrams.net (formerly draw.io)
- Quite heavy
- Like an online omnigraffle
- Doesn't specialise in databases
- No import function for SQL
- Free for up to 10 diagrams :-|
- Fairly good
- Has multiple import/export
- Importing is quite easy (although doesn't support all syntax)
- Diagrams don't look quite as good as dbdesigner.net
- dbdesigner.net
- Free for 2 diagrams? :-/
- Slightly better looking diagrams
- But more buggy (Login & save before starting!)
- Importing is more painful than dbdiagram.io
Hardware
Pencil and paper - consider this for a first draft (scan/photo if necessary)
Comments
Note: PlantUML uses Graphviz to draw some diagrams.
(sorry, the formatting of this post is a complete mess)
There are a number of ways to evaluate these software packages:
Flowchart vs Database
Online vs Desktop
Visual-only vs Generated from source
Source language: General (e.g. Dot) vs Specific (e.g. PlantUML + C4)
Source-generated diagrams have many benefits:
Dot is the easiest to learn, and PlantUML has the most features.