Skip to content
#Architecture

Creating Software with Modern Diagramming Techniques - Ashley Peacock & Stefan Hofer - GOTO Club (Category Architecture)

#Architecture #Vosualisation #Software #SystemDesign

While walking with the dog, I decided to listen. podcasting GOTO conference and chose to discuss a book about drawing chartsCreating Software with Modern Diagramming Techniques" Ironically, this is an audio release in which there is not a single image not only of the charts, but also of the participants of the release:) But I didn't mind, because I drew a lot of diagrams and used all the tools I mentioned. Ashley wrote a book.Creating Software with Modern Diagramming Techniques"to tell a new generation of developers what was a hype order" 20 Years ago, when visual CASE modeling tools were prophesied the same laurels that Copilot is now prophesying in code writing:) The idea was to draw diagrams, and they would make working code. Of course, this did not happen, but on the way to this, the simulation tools became more complicated to the point that they were no longer used by the developers themselves. But they began to use architects of all kinds:)

But back to the interview with the author and the main points. Ashley wrote a book not just about diagrams as a Code, but about using this approach with a tool. Mermaid Ashley mostly uses. 3 type of diagram: sequence diagram Directly from UML, C4 Model by Simon Brown (more my analysis speeches), subject area model Sequence diagram is used to simulate the interaction of systems or people C4 Model is used to model architecture at different levels of abstraction: context, container, component, code The domain model is just a variation on the old-fashioned theme. ER charts It is used to describe the problem area in which the software works.

  • Actually, there are other tools for building diagrams from code. — Plantuml A good charting tool that is written in Java rather than javascript like Mermaid — Structurizr A good modeling tool in the notation C4 Model from the author of the concept. This tool does not allow drawing conditionally arbitrary diagrams. According to the author of the book, Mermaid wins against Plantuml, since Mermaid is made in js, which means it can be performed on a kettle, and it is also built into GitHub and Gitlab. Structurizr Mermaid wins breadth of support for different charts
  • And a little Mermaid stuff.
  • Supports a wide range of diagram types, from formally defined modeling languages to free-form modeling
  • It defines a markup language to describe diagrams as code and has tools to create real visual diagrams.
  • It has good documentation and a live editor for creating charts.
  • Provides backward compatibility and constantly adds new types of charts. The common advantages of diagram as a code is that the diagram is described in plain text, which means it is easy to put into the version control system, as well as see changes between versions. The author notes that it is now possible to use LLM to create diagrams based on a simple description - the LLM simply generates code in the Mermaid notation to build a diagram. And at the end of the conversation, the author says that perhaps we will see a revival of model-based architecture or model-based development with new tools and artificial intelligence.

#Architecture #Vosualisation #Software #SystemDesign