In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly introduces how to draw a qualified technical architecture map in big data, which has a certain reference value. Interested friends can refer to it. I hope you will gain a lot after reading this article. Let the editor take you to know it.
1. What is architecture?
Architecture is an abstract description of the entities in the system and the relationship between them, and it is a series of decisions.
Architecture is structure and vision.
The system architecture is the embodiment of the concept, the distribution of the correspondence between the function of the object / information and the formal elements, the definition of the relationship between the elements and the relationship between the elements and the surrounding environment.
Doing a good job of architecture is not only a complex task, but also a big topic, so I won't go any further in this article. Once the architecture is in place, stakeholders need to understand and follow the relevant decisions.
2. What is the architecture diagram?
The system architecture diagram is to abstractly represent the overall outline of the software system and the relationship and constraint boundaries among the components, as well as the overall view of the physical deployment and evolution direction of the software system.
3. The function of architecture diagram
A picture is worth a thousand words. In order for stakeholders to understand and follow architectural decisions, it is necessary to convey architectural information. The architecture diagram is a good carrier. So, the easel composition is to:
Solve the communication barrier
Reach a consensus
Reduce ambiguity
4. Classification of architecture diagram
A lot of data have been collected and there are many classifications. one of the more popular views are scene view, logical view, physical view, process view and development view.
★ scene View
The scenario view is used to describe the relationship between the participants of the system and the functional use cases, reflecting the final requirements and interaction design of the system, which is usually represented by the use case diagram.
★ logical View
Logical view is used to describe the component relationship, component constraints and boundaries after the disassembly of system software functions, and to reflect the overall composition of the system and the process of how the system is constructed, which is usually represented by the component diagram and class diagram of UML.
★ physical View
The physical view is used to describe the mapping relationship between system software and physical hardware, reflecting how the components of the system are deployed on a group of computable machine nodes to guide the deployment and implementation process of the software system.
View of ★ process flow
The processing flow view is used to describe the communication timing between the software components of the system, the input and output of data, and to reflect the functional flow and data flow of the system, which is usually represented by timing diagram and flow chart.
★ Development View
The development view is used to describe the module partition and composition of the system, as well as the composition design of the internal package, which serves the developers and reflects the system development and implementation process.
The above five architecture views represent the different characteristics of a software system from different angles and are combined as an architecture blueprint to describe the system architecture.
What kind of architecture diagram is a good architecture diagram
The above classification is a summary of the experience of our predecessors, and the pictures are also picked from the Internet, so are these pictures good? Are we going to draw some pictures like this?
Regardless of whether these pictures are good or not, we think about them through the classification and function of these diagrams, and to sum up, we think that before we draw a good architectural diagram, we should first clarify its audience. and then figure out what message to convey to them, so don't draw a physical view in order to draw a physical view, draw a logical view in order to draw a logical view, but should be based on different audiences. The difference of the information transmitted is accurately expressed in the diagram, and the final picture may be in such a classification. So, a direct criterion of whether the drawing is good or not is whether the audience has accurately received the message they want to convey.
After clarifying these two points, from the audience's point of view, a good architecture diagram does not need to be explained, it should be self-describing, and it should be consistent and accurate enough to echo the code.
Common problems encountered in easel composition
1. What does the box represent?
Why does it apply to a box instead of a circle? does it have any special meaning? Random use of boxes or other shapes can cause confusion.
2. What do dotted lines and solid lines mean? What does an arrowhead mean? What does color mean?
Random use of lines or arrows may cause misunderstandings.
3. Conflict between runtime and compile time? Hierarchical conflict?
Architecture is a complex task, and using only a single chart to represent the architecture can easily lead to inexplicable semantic confusion.
The drawing method recommended in this paper
The C4 model uses containers (applications, data stores, microservices, etc.), components, and code to describe the static structure of a software system. These pictures are relatively easy to draw and give the main points of drawing, but most crucially, we think, it clearly points out the possible audience and meaning of each kind of picture.
The following example comes from the C4 official website, and then adds some of our understanding to see how to better express the software architecture.
1. Context map (System Context Diagram)
This is an imaginary Internet banking system to be built, which uses an external mainframe banking system to access customer accounts and transaction information and send emails to customers through an external e-mail system. As you can see, it is very simple and clear. I believe it does not need to be explained. It contains the system itself, the customers of the system, and the surrounding system that interacts with the system.
Use of ★
Such a simple diagram can tell us what the system is to build, who its users are, who will use it, and how it fits into the existing IT environment. The audience of this diagram can be internal, external technical or non-technical personnel of the development team. That is:
What is the system built?
Who would use it?
How to integrate into the existing IT environment
How does ★ draw?
In the middle is your own system, surrounded by users and other systems that interact with it. The key to this diagram is to sort out the users and high-level dependencies of the system to be built, and it only takes a few minutes to draw it.
2. Container diagram (Container Diagram)
The container diagram is an expansion of the system to be built in the context diagram.
In the figure above, in addition to users and peripheral systems, the system to be built includes a functional entrance to the Web application providing system based on Java / Spring MVC, a mobile app based on xamarin architecture to provide functional entry on the mobile side, a Java-based API application to provide services, and a MySQL database for storage, and the interactions between various applications are written on the arrow line.
When you look at this picture, you don't pay attention to whether it is a right-angled box or a rounded box, whether it is a solid arrow or a dotted arrow, and even the direction of the arrow does not attract much attention.
We have many ways of drawing, all of which define the meaning of frames and lines, which requires people who draw pictures and people who look at them to clearly understand these definitions in order to read the information in the whole picture, but the reality is that this is often a very high requirement, so, many pictures can only look at the general meaning.
Use of ★
The audience of this diagram can be developers within or outside the team, as well as operators. The uses can be listed as follows:
It shows the overall shape of the software system.
It reflects the high-level technical decision-making.
How the responsibilities in the system are distributed and how the containers interact
Tell developers where to write code
How does ★ draw?
Represented by a block diagram, the interior may include names, technology choices, responsibilities, and interactions between these block diagrams, preferably with clear boundaries if external systems are involved.
3. Component diagram (Component Diagram)
A component diagram is an expansion of a container to describe its internal modules.
Use of ★
This diagram is mainly for internal developers to see how to organize and build the code. Its uses are:
Describes what components / services the system consists of
Clarify the relationships and dependencies between components
It provides a framework for software development to decompose delivery.
4. Class diagram (Code/Class Diagram)
This picture is obviously for technicians, but it is more common, so it will not be introduced in detail.
Case sharing
The following is an architectural diagram of a real-time data tool. As an architecture diagram that should be self-described, there are no more explanations here. If there is something you don't understand, it must be that the painting is not good enough.
There may be many methodologies for drawing a good architecture diagram. This article mainly introduces the method of C4, and the theory of C4 is constantly evolving. But no matter what kind of drawing methodology, we return to the original intention of drawing, better communication, we do not have to be limited by rules in the process of painting. In short, think about it before painting: to whom and what to see, and how to understand it without explanation.
Thank you for reading this article carefully. I hope the article "how to draw a qualified Technical Framework Map in big data" shared by the editor will be helpful to everyone. At the same time, I also hope that you will support and pay attention to the industry information channel. More related knowledge is waiting for you to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.