How to Draw a Technical Architecture Diagram
Omar Ismail
Senior Software Engineer @ Digitinary | Java 8 Certified? | Spring & Spring Boot?????? | AWS? | Microservices ?? | RESTFul Apis & Integrations ?? FinTech ?? | Open Banking ?? | Digital Payments and Transformation??
Thanks to the original writer and article :
https://levelup.gitconnected.com/how-to-draw-a-technical-architecture-diagram-2d2c3b4a1d07
What is an architecture diagram? Why should I draw an architecture diagram? How can I draw an easy-to-understand architecture diagram?
I believe that many readers have read many technical documents, which will be accompanied by some architecture diagrams to help readers understand the author’s intention. In many cases, such a diagram describing the system is far more effective than an enormous paragraph of text, so when I write technical solutions, I like to use architecture diagrams to describe the system I designed. But I found that not everyone is good at drawing architecture diagrams.
Do you often encounter the following situations when you are drawing architecture diagrams:
It is normal to have these puzzles. When I first tried to draw, I was also confused. Today I will try to use my years of experience to discuss with you how to draw a good technical architecture diagram.
What is the architecture diagram?
To draw a good architecture diagram, you must first know what an architecture diagram is. The simple explanation of the architecture diagram is to describe the system architecture. What is architecture? To answer this question, we can actually find inspiration from other industries, such as the organizational structure of a company, which describes how the company is formed, how many departments, how many people are in each department, and what relationships exist between departments. The system architecture can also be understood in this way.
System architecture is to describe how the system is composed, how many modules and components the system has, and the relationship between modules and components.
Modeling
Knowing what the system architecture is, we are one step closer to drawing a technical architecture diagram. But our system is so complex, and any system has thousands of lines of code to build. What elements are we really going to express on the diagram? At this time, I will model the system. Modeling is a method of abstracting objective facts to express the understanding of things themselves. It sounds abstract, just give an example. If we want to model drones, fighter planes, civil aviation aircraft, and rockets, what should we do? First, find an abstract dimension. For example, we can abstract them into weapons from the functional perspective. Second, we need to find something common to them according to this dimension. For example, these things all have the attribute of flight and need fuel to drive. Next, we can naturally build a model of an aircraft with fuel, takeoff, landing, navigation, and other capabilities.
领英推荐
Back to the system architecture, if we want to draw a system architecture diagram, we need to model our system through some dimensions, and then express the model on the canvas. In my experience, there are basically the following dimensions: business, system, and deployment. The models built through these dimensions can be called business architecture diagrams, system architecture diagrams and deployment architecture diagrams. Different people have different views on architecture diagrams. For example, our salesman pays more attention to system functions. When we explain the system to the salesman, we should use the business architecture diagram to help describe it.
Business architecture diagrams
In order to draw a good business architecture diagram, you must fully understand the business process, analyze the relationship between businesses from the perspective of business, identify the business attributes of each process through your understanding of business, and then abstract hierarchically to finally achieve a closed loop of product functions.
Take an example of membership benefits business. First of all, we need to split the business. There should be a point system, a coupon system, and a privilege system for the rights and interests of members. Points, coupons, and privileges have their own life cycles. We need to identify each stage in their life cycles. Then these elements form the core competence of rights and interests. We can also use these core competencies to form a variety of upper-level products. For example, I can combine several coupons into a member’s benefit and send them to members. Then what business scenarios can our capabilities and products support. This is an example of my business architecture diagram.
System architecture diagram
The system architecture diagram is drawn for software developers, so this architecture diagram is completely different from the above business architecture diagram. We need to tell them how to design our system through a diagram. The specific needs are as follows:
Personally, I recommend using C4 model. If you are interested, please refer to the official website of C4 model(https://c4model.com ). Here is a system architecture diagram I drew with C4 model.
Architecture is a very abstract thing. It takes a long time to understand architecture. It is more difficult to draw the system architecture through your own understanding. I hope that through this article, I can sort out some methodologies, which can solve some of your puzzles in easel composition. Thank you for reading.
?Java Backend Developer ? Immediate Joiner ? Java17 ? Java8 ? Spring Boot ? Microservices ? Distributed System ? Exploring new tech Ideas ? Open to onsite opportunities outside India(Asia Pacific, EMEA, Europe)
1 年????