25

I spend a fair amount of time drawing diagrams of software architecture which usually consist of variations on boxes connected with arrows. Whilst these diagrams convey the relevant information, they often leave much to be desired from the perspective of aesthetics.

Some examples of software architecture diagrams which demonstrate this:

I've trawled through hundreds of infographics to find inspiration but most tend to consist of discrete visual elements related only by the overall concept and gestalt principles. The few that contain arrows to depict some kind of flow tend to be much simpler than my needs.

The one (non-software) example I have found (http://visual.ly/house-democrats-health-plan-flow-chart) suffers (perhaps deliberately to demonstrate complexity) from a lot of the same problems as the above...

Are there any examples out there of aesthetically pleasing software architecture diagrams, or at least infographics which show complex process flows which would be useful inspiration?

enter image description here

4
  • 3
    Yeah, that health care diagram you link to (and many others like it) is pretty infamous and much-criticised ( similar example ) for deliberately being as complex and inaccessible as possible to make a political point. The fact it includes things as unrelated to its supposed message as "Defence department" and "Web design" rather gives it away. Commented Feb 8, 2013 at 14:54
  • @user568458 it looks like the 'pretty good infographic-specialist company...' link opens the diagram shown in the question (rather than the resource described)... Commented Feb 8, 2013 at 15:58
  • Oops, I've rewritten those comments as an answer anyway after remembering some good examples, that link is about half way down. Commented Feb 8, 2013 at 16:25
  • This question on UX.SE might be helpful. Commented Feb 8, 2013 at 17:16

4 Answers 4

25

I can't think of any especially good software architecture diagrams that haven't had the data they show heavily simplified and cut down, but we can find some relevant stuff by first breaking down what a software architecture diagram is.

Then, we'll look at some examples of designs that deal with similar challenges.


It's a type of flow chart / process diagram with a focus on categories of element / node. That in turn is a type of node-link network diagram, with added directionality: essentially, nodes, which can have categories, and connections, which can have direction.

Anything based on node links can turn into a messy 'hairball' when the complexity of what it's trying to represent increases. If nothing suggested below based on node links works - if the thing in question is just too complex - here's an article by a respected data visualisation academic on some alternatives to the "node-link" concept as a base for network maps that data visualisation researchers have come up with. If you can figure out how to adapt some of these into something user-friendly and directional, you could be on to a winner. But that's the really hard way to go, only try that if you have to.


So, complex flow diagrams and network diagrams with an emphasis on direction/flow and categories of node/element. First basic principles:

  • Keep every node/element simple
  • Make the differences between types of element clear and simple with a clear hierarchy between them
  • Make the flow and connectivity as much of a background element as possible

Think of the signal-to-noise ratio (sometimes called the data-ink ratio in the context of information graphics): the connections are visual guides, not data, so make them as subtle as possible without making them less easy to follow. Also think of figure-ground: the data should be the thing that is attended to in the foreground, the visual cues showing flow and category should be the background that people are aware of but not distracted by.

First example, a typography decision flowchart poster (I'm sure some people will disagree with the content...). Using only black and white, it makes a complex diagram usable with a clear hierarchy between elements:

enter image description here enter image description here

It's very clear what each element is, using clear-but-subtle hightlighting and variation that adds minimal noise. The whole is complex but each part is clear.

Possible improvements - there's no overall direction, with it going from the middle out - the lines could have directional information without adding noise by being very small subtle dotted chevrons (like >>>>>) instead of dots, so you could start anywhere and see where to go next without those direction cues distracting.

Here's another similar example where the flow is moving through a hierarchy (most general > most specific). It turns a lot of categories into two types of node: products, and types, and the size of the node tells you the specificity of the type. (the circle outlines and connecting lines could be much much more subtle, but they seem to have been weighted to complement the type and give everything except the central pint glass a more even texture). The circle size also doubles as an indication of position and flow - you go from larger to smaller circles, so they don't need any other complexity-adding visual cues like arrowheads.

The very many types of beer

enter image description here

A lot of the work done by PopChartLab is relevant. They specialise in big posters showing lots of interconnected things, and they sometimes write up their process. Here's their writeup of a project where they really struggled with the amount of things they wanted to show. I personally don't much like the end result (they worked hard to tame the hairball, but the end result is still a hairball), but reading what they tried and what worked and what didn't could help.

enter image description here

Here's an example that makes neat use of placement on the page to show categories and order in flow. It doesn't need the blaring garish colour scheme (which is a reference to the subject matter, Apple's old rainbow coloured logo). Using the page x and y axis like this means it can save the connecting lines for other types of information.

enter image description here

Finally, as I mentioned at the start, software architecture diagrams are an example of network maps, which are a type of map. So, you can get ideas from regular (cartographic) maps, which also have a similar problem of lots of categories of dense, complex information which often has connections and direction - constantly trying to stop your many signals turning into noise.

Axis Maps produce amazing typographic maps that have some of the best signal-noise ratios of any information graphics I've seen, by simply using their labels as the things the labels label - then colour and a few subtle twists of typograohy and spacing to indicate category.

If you don't mind some extreme typography, this could probably be used to tame a flow chart that was getting out of control. Looks like painstaking work, but the results are awesome.

enter image description here enter image description here

1

Want pretty software architecture diagrams? Look into high profile open source projects like Eclipse, Aptana, Magento, Android, Fedora, etc.

These are functional documents, not marketing materials, but these projects are often run or contributed to by organizations that are brand-conscious enough to still put some effort into designing their technical documentation.

Companies like Apple (e.g. developer documentation for iOS and OS X), Google (documentation for App Engine and Android), IBM, Oracle, and even hardware manufacturers like Intel and Nvidia should have good software or system architecture diagrams that you can draw inspiration from.

Web platforms, especially PaaS providers, like Heroku, AWS, EngineYard, OpenShift (Redhat), Cloudbees, etc. would also be good sources for genuinely good-looking architecture diagrams, since theirs actually do partly serve a marketing function.

-1

An interesting article on the usage of diagrams for software architecture is Simple Sketches for Diagramming your Software Architecture from Simon Brown.

1
  • 2
    Hi Franck, welcome to GD.SE and thanks for your input! Could you please write a small summary of the content of the article? That way, your answer still has value in case the link breaks at a later time. Thanks! If you have any questions about the site, have a look at the help center or feel free to join us in Graphic Design Chat once your reputation allows you to (20). Keep contributing and enjoy the site!
    – Vincent
    Commented Jun 20, 2016 at 14:44
-2

There are more examples of great diagrams by Lucid Chart at https://www.lucidchart.com/pages/examples/network_diagram_software

1
  • 1
    Welcome to GD! Do you mind going into detail or explaining your link? I request that because new users posting link only answers are sometimes flagged for spam and receive downvotes. Also, link only answers, if the site were to go down in the future, do help answer the OP's question so any quality you can add to your answer will help.
    – user9447
    Commented Jun 6, 2014 at 20:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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