谈谈如何画好架构图

Posted 帷幄庸者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谈谈如何画好架构图相关的知识,希望对你有一定的参考价值。

参考文章:https://mp.weixin.qq.com/s/2HjvNnfP7bLNQF5xh8PxIQ

读如何画好架构图有感

架构图是技术传播的经典媒介,画好架构图才可以充分发挥技术传播的价值,具体体现在加速业务的上线速率,提升优秀工程师的工作效率、有助于产品性能优化和用户体验改善等。
什么是架构图:架构图是系统结构的表达,表达系统的组成元素以及元素的关联关系所形成的结构。系统架构图通过抽象表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,表达软件系统的物理和逻辑视图。
架构图的本质是架构信息的表达,更多的是设计思路的表达,通过良好形象的图作为双方沟通的媒介,促进解决沟通障碍、达成共识、减少歧义。并且能够在事后复盘清晰了解系统结构。——个人理解架构图是工具,为思路表达服务;画好架构图要想清楚这个点,酌情细化,但是前提条件是思路的明确。

架构图的分类:
场景视图:场景视图用于描述系统的参与者与功能用例间的关系,反映系统的最终需求和交互设计,通常由用例图表示。
逻辑视图:逻辑视图用于描述系统软件功能拆解后的组件关系,组件约束和边界,反映系统整体组成与系统如何构建的过程,通常由 UML 的组件图和类图来表示。
物理视图:物理视图用于描述系统软件到物理硬件的映射关系,反映出系统的组件是如何部署到一组可计算机器节点上,用于指导软件系统的部署实施过程。
流程视图:处理流程视图用于描述系统软件组件之间的通信时序,数据的输入输出,反映系统的功能流程与数据流程,通常由时序图和流程图表示。
开发视图:开发视图用于描述系统的模块划分和组成,以及细化到内部包的组成设计,服务于开发人员,反映系统开发实施过程。

再读如何画好架构图:

以与文章的共鸣来展开
1.技术人,能做技术建设之余还要重视技术传播,良好的技术传播可以使系统被更多人理解,提高团队的工作效率,有利于改善产品性能和用户体验,而架构图就是技术传播的经典媒介。
2.架构图的本质目的服务技术传播,重点在于跟各种角色的人,能够把系统结构讲清楚,而不同的人角色分工不同,关注点不同,引出架构图的最难点即是如何给不同的人讲明白,解决沟通障碍,达成共识,减少歧义
3.架构是对系统中的实体以及实体之间的关系所进行的抽象描述,架构图是抽象表示系统的整体轮廓,讲清楚各组件的职责范围,轮廓边界;同时我们可以用三视图的方式理解架构,从不同的角度、不同的精确度,可以看到不同的样子,面向非技术人员,粗粒度看要屏蔽技术细节;面向运维看,讲功能结构,部署位置,可用性需求;面向研发看,讲实现细节,重点功能使用UML图(类图是一种)呈现。
4.C4 模型是一种很好的按场景给出不同图形画法的框架
5.总结:架构图是为了更好的交流,十分赞同画的过程中不必被条条框框所限制,补充要解释清楚自己用的条条框框。架构图为特定场景,特定群体服务,让受众听明白,真实准备反应系统的结构和技术实现,便是最好的架构图。最后简而言之,画之前想好:画图给谁看,看什么,怎么样不解释就看懂。

以上是关于谈谈如何画好架构图的主要内容,如果未能解决你的问题,请参考以下文章

如何画好一张架构图?(内含知识图谱)

如何画好一张架构图?

架构师必备 -- 如何画好架构图

程序员必备技能:如何画好架构图?

阿里巴巴技术专家三画:如何画好架构图

系统架构业务架构图