These tools don't really understand that two boxes on two diagrams represent the same thing from a conceptual point of view. Again, we're limited by the domain specific language of diagramming tools being "boxes and lines". You can't easily share items between diagrams. This happens because there's no concept of a "model" in general purpose diagramming tools. Once you have the same item on multiple diagrams, you need to manually make sure that you keep all copies in sync when you change the content or presentation of that item. You violate the DRY principle every time that you copy-paste an element or relationship to use on another diagram.
What is lucidchart diagrams software#
Modelling software architecture with PlantUML covers this problem.
The only way to do this with a general purpose diagramming tool is to copy-paste the original diagram multiple times, and make edits to those copies.
For software architecture diagrams though, my recommendation is no, for a few reasons. It's "diagrams as text".īut you might be wondering, what about general purpose diagramming tools such as Visio, draw.io/, LucidChart, Gliffy, OmniGraffle, etc? Should they be used for creating software architecture diagrams? For the record, I want to say that these are all great tools and, like many other people, I do use them myself.
What is lucidchart diagrams how to#
Software architecture diagrams - which tool should we use? looks at how to generate software architecture diagrams with PlantUML, Mermaid, WebSequenceDiagrams, and Structurizr, all via the tooling agnostic, and open source, Structurizr DSL. "Which diagramming tool should we use?" is a question I'm asked frequently.