什么是系统架构图呢?当你需要设计一个系统时,你就会明白,系统架构图其实就当于是一个框架,用来展示你的系统,以及流程、流向、流转等标注,让懂或不懂开发的人员通过图例可以明白系统的整个架构。当然,如果要正确的、合理的画系统架构图需要全面的理解用户需求以及业务流程。
而系统架构只是一个统称,它实际上包括逻辑架构图、部署架构图、运行架构图、网络架构图,再加上一个数据架构图,称为架构5视图或4+1视图5视图法可以帮助软件架构师以不同的视角对软件的各个方面的属性:功能需求,约束,运行期质量属性,开发期质量属性。
1、 逻辑架构:逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”——。
2、 开发架构:开发架构关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现场框架、类库,以及开发的系统将运行于其上的系统软件或中间件。关注编译时刻的静态依赖关系。
3、 运行架构:运行架构关注进程、线程、对象等运行时概念,以及相关的并发,同步,通信等问题。运行架构关注运行期间各个单元的交互。
4、 物理架构:物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求。
5、 数据架构:数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的存储格式、还包括数据传递,数据复制,数据同步等策略。
对于系统架构图的绘画,通常我们采用微软office套装中的visio工具来进行绘制。
Popular science knowledge-system architecture diagram
What is a system architecture diagram? When you need to design a system, you will understand that the system architecture diagram is actually a framework to show your system, as well as the process, flow, circulation and other annotations, so that people who understand or don’t understand development can use the legend. Understand the entire architecture of the system. Of course, if you want to draw the system architecture diagram correctly and reasonably, you need a comprehensive understanding of user needs and business processes.
The system architecture is just a general term. It actually includes logical architecture diagrams, deployment architecture diagrams, operating architecture diagrams, network architecture diagrams, plus a data architecture diagram, which is called architecture 5 views or 4+1 views. 5 views can help Software architects have different perspectives on the attributes of all aspects of the software: functional requirements, constraints, runtime quality attributes, and development quality attributes.
1. Logical architecture: The logical architecture focuses on functions, not only the functions visible to users, but also the "auxiliary function modules" that must be provided to realize user functions.
2. Development architecture: The development architecture focuses on the package, including not only the source program to be written, but also the third-party SDK and field frameworks, class libraries that can be used directly, and the system software or middleware on which the developed system will run . Pay attention to the static dependencies at compile time.
3. Runtime architecture: Runtime architecture focuses on runtime concepts such as processes, threads, and objects, as well as related concurrency, synchronization, and communication issues. The operation architecture focuses on the interaction of each unit during operation.
4. Physical architecture: The physical architecture focuses on how the "target program and its dependent runtime library and system software" are ultimately installed or deployed to physical machines, and how to deploy machines and networks to meet the reliability and scalability requirements of the software system.
5. Data architecture: Data architecture focuses on storage solutions for persistent data, including not only the storage format of entities and entity relationships, but also strategies such as data transfer, data replication, and data synchronization.
For the drawing of the system architecture diagram, we usually use the visio tool in the Microsoft office suite to draw.