⚡ Tl;dr

  • Software architecture tools can be categorized into three groups, modelling tools, diagrams as code and diagramming tools.
  • Modelling tools are suited for long-term documentation as they store reusable objects and relationships in the model, which keeps all your diagrams up to date.

🚀 Let's kick-off

Diagramming software architecture provides several benefits to how we communicate complexity. Clear system designs give engineering teams an enhanced understanding of the architecture and plan for future development whilst identifying potential issues.

Modelling tools work best for long-term system design docs. Reusable objects and relationships are stored in the model, which keeps all your diagrams up to date.

1️⃣ IcePanel

IcePanel is a web-based SaaS tool for collaboratively modelling software architectures using the C4 model.

Free and paid.

Best for agile development teams looking for a lightweight collaborative tool to model and document their software architectures.

It includes features such as:

  • Interactive diagrams that are zoomable into increasing levels of technical detail.
  • Agile modelling for drawing diagrams and creating models at the same time.
  • View different perspectives by overlaying additional metadata onto existing diagrams.
  • Flows for overlaying and communicating sequences of messages onto existing diagrams.
  • Link objects to resources in reality, such as source control or cloud resources and be notified when your diagrams are drifting from reality.
IcePanel screenshot
IcePanel

2️⃣ Enterprise Architect

Enterprise Architect by Sparx Systems is a desktop application for modelling business, IT and software systems.

Paid.

Best for large enterprises that need to create models for a wide range of industry standards.

It includes features such as:

  • Analysis, design, implementation, test and maintenance models.
  • UML, SysML and BPMN standards.
  • High performance to load extremely large models in seconds.
  • Dynamic model simulations are written in Javascript.
  • Source code roundtrip for many popular languages, including C, C++, Java, PHP, Python and Visual Basic.
  • Complete traceability from requirements, analysis and design models to implementation and deployment.
Enterprise Architect screenshot
Enterprise Architect

3️⃣ Visual Paradigm

Visual Paradigm is a desktop application with modelling and diagramming capabilities. It also has a collaborative online version.

Paid.

Best for Enterprise architects who need to produce a wide range of models and diagram types with lots of flexibility.

It includes features such as:

  • Project management and agile development tracking.
  • User story and customer journey mapping.
  • Database and entity relationship diagrams.
  • UML, SysML, ERD and DFD diagrams.
  • TOGAF ADM / DoDAF / NAF / MODAF, all the acronyms.
Visual Paradigm screenshot
Visual Paradigm

4️⃣ Archi

Archi is a desktop application for modelling for creating ArchiMate models and sketches.

Free and open source.

Best for individuals looking to create models using the ArchiMate language without spending a budget on expensive tooling.

It includes features such as:

  • The latest version of the ArchiMate 3.1 language.
  • Create ArchiMate elements, relationships, views and viewpoints.
  • Hints view to help you understand the ArchiMate language.
  • Visualizer for showing relationships, sketch view and canvas modelling.
Archi screenshot
Archi

5️⃣ Gaphor

Gaphor is a desktop application for modelling and diagramming for beginners or professionals.

Free and open source.

Best for individuals looking for open-source tools that support a few of the most popular standards in software architecture modelling.

It includes features such as:

  • Supports UML, SysML, RAAML and C4 model standards.
  • Cross-platform Windows, macOS and Linux support.
  • Build class, interaction and state machine diagrams.
  • Open source Apache 2 license.
  • Create custom extensions and plugins.
Gaphor screenshot
Gaphor

6️⃣ StarUML

StarUML is a desktop application for agile and concise modelling.

Free for evaluation and paid.

Best for individuals in an organization who want to create validated models and generate code/HTML from them.

It includes features such as:

  • UML 2.x, SysML, ERD, DFD and Flowchart diagrams.
  • Cross-platform Windows, macOS and Linux support.
  • Model-driven development via JSON format.
  • Code generation in Java, C# and C++.
  • Publish HTML and PDF exports.
  • Markdown documentation support.
StarUML screenshot
StarUML

7️⃣ Archipeg

Archipeg is a cloud-based modelling and diagramming tool for cross-functional teams.

Free and paid.

Best for teams looking to create and visualize a shared knowledgebase or catalog of their enterprise architecture.

It includes features such as:

  • App portfolio management, C4 modelling and domain-driven design.
  • Object catalog designer and object graph explorer.
  • Knowledge collection and sharing.
Archipeg screenshot
Archipeg

8️⃣ GenMyModel

GenMyModel is an online collaborative modelling, documentation and diagramming tool.

Free and paid.

Best for enterprise teams who want a real-time collaborative view of their architecture and documentation.

It includes features such as:

  • ArchiMate, BPMN and UML modelling.
  • Journey mapping, data modelling and flowcharts.
  • Search across your architecture and documentation.
  • Google drive style collaboration and communication.
  • UML code generation.
  • Versioning and time machine.
GenMyModel screenshot
GenMyModel

9️⃣ Aplas

Aplas is a web-based tool for modelling your software landscape and visualizing it in 3D.

Free and paid.

Best for enterprises who want to catalog and visualize their complex landscapes for presenting to stakeholders.

It includes features such as:

  • Create model index from CSV or API.
  • Text search across your model.
  • Visualize the model as a 3D map with multiple styles.
  • Publish and share with your team in one place.
Aplas screenshot
Aplas

🏁 To wrap up

There are many software architecture modelling tools to choose from, and it's important to consider which is best suited for your organization.

Some key things to consider:

  • Support for standards and diagram types you wish to use.
  • Easy access and learning curve for those who need to use the tool.
  • Cost for the number of people in your organization who need a license.

Stay chill 🧊