
什麼是系統架構圖呢?當你需要設計一個系統時,你就會明白,系統架構圖其實就當于是一個架構,用來展示你的系統,以及流程、流向、流轉等标注,讓懂或不懂開發的人員通過圖例可以明白系統的整個架構。當然,如果要正确的、合理的畫系統架構圖需要全面的了解使用者需求以及業務流程。
而系統架構隻是一個統稱,它實際上包括邏輯架構圖、部署架構圖、運作架構圖、網絡架構圖,再加上一個資料架構圖,稱為架構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.