工业自动化
如何画出优秀的软件系统架构图

发布于:2023-09-23 15:33:47  来源:工业自动化  点击量:14次

  系统架构图是为了表达传递想法,如果一个表达方式能表达你的想法,就可以再一次进行选择使用

  很多人们之所以画不好架构图,最大的痛点就是不好把握到底要画哪些内容,画得太少担心没有展现关键信息,画得太多又觉得把握不住重点。

  用不同的方式去划分系统,就会得到不一样的架构,分别对应不一样的架构图。常见的类型整理如下:

  通过不一样的颜色来标识业务状态:比如说哪些业务发展状态好,哪一些问题比较多,哪些较为稳定,哪些竞争比较激烈等。

  业务分组管理:将类似的业务放在一个分组里面展现,用虚线框或者相同背景将其标识出来。

  区块对齐:为了美观,能改变不同区块的长短大小进行对齐,让整体看起来更美观。

  这张业务架构图有三点关键信息:“MTR”区块是浅红色的,“人传人”区块是绿色的,浅红色代表正在进行的,绿色代表明年规划的。

  分了 4 组:钱包业务、第三方业务、商家服务和用户管理。“转账”和“社交红包”等区块比较长,只是为了对齐后更美观,不代表业务本身的量级或者重要程度,如果要表示这样的信息,那就能用颜色来表示。

  注意,绝对不能画得五颜六色,一般一张图的颜色数量控制在 3 种以内是比较好的。

  所以在画图的时候你要想清楚,到底哪些信息是要放在业务架构图中重点展示的关键信息,哪些信息顺带讲一下就可以了。

  描述后端的逻辑架构,又叫“后端架构”或“技术架构”,不管是业务系统、中间件系统,还是基础的操作系统、数据库系统等,系统架构都是软件系统架构的核心。

  如果系统最简单,可以借鉴 MongoDB Sharding 的系统架构图,

  建议首先用一张图来展示系统架构里面的角色(Role)以及每个角色的核心功能;

  然后再用一张图来展示角色之间的关系(Relation),可以借鉴一个支付中台的系统架构图,如下所示:

  应用架构图【定义】描述后端系统由哪些应用组成,一个应用就是一个可部署发布运行的程序,它是项目开发过程中,开发测试运维团队协作的基础。【使用场景】项目开发、测试。运维部署发布。子域架构设计。【画图技巧】通过不一样的颜色来标识不一样的角色。通过连接线来表示关系。复杂系统分域来画。

  【参考案例】如果系统最简单,那么基本上应用架构和系统架构是等价的,可以借鉴 MongoDB Sharding 的应用架构图,如下所示:

  我们能够正常的看到,这张图中的 Router(mongos)、Config Servers 和 Shard(replica set),既包含了系统架构的角色信息(Router、Config Servers 和 Shard),又包含了应用信息(mongos、Config Servers 和 Shard)。如果系统很复杂,按照架构分层的角度来看,应用架构已经到了可执行程序这一层,例如支付中台这一类的系统,包含的应用可能有几百上千个,如果把整个支付中台所有的应用都在一张图里面展示出来,信息太多太密,有几率会使架构图都看不清。这种情况下,应用架构一般都是按照子域来画应用架构图,可以借鉴支付中台的会员域的应用架构图,如下所示:

  部署架构图【定义】描述后端系统具体是如何部署的,主要包含机房信息、网络信息和硬件信息等。【使用场景】总体架构设计。运维规划和优化。【画图技巧】用图标代替区块,这样看起来更美观和容易理解。【参考案例】一个简单的支付系统的部署架构图如下所示:

  系统序列图【定义】描述某个业务场景下,系统各个角色如何配合起来完成业务功能。【使用场景】结合“系统架构、应用架构和部署架构”来使用。【画图技巧】使用 UML 的序列图来画。【参考案例】“扫码支付”这个支付核心场景的系统序列图如下所示:

  补充说明如果你曾经研究过架构图的标准,那么除了 4+1 视图以外,你可能还看到过 TOGAF 的“业务架构(跟这一讲的业务架构名字相同,但是意义不同)、数据架构(不是指大数据平台架构,而是指数据资产的架构)、应用架构和技术架构”这种观点,或者还看到过 C4 架构模型(Context、Container、Component 和 Code)等等。但其实目前业界并没有就架构图标准达成共识,刚才提到的 TOGAF 是企业级的架构,基本上要到 CTO 这个级别才能接触的,而 C4 模型的表达能力又不够。所以,我并没有直接套用这一些内容,而是根据自己经验,将我认为最有效果的架构图整理出来。这些架构图,都是我在不一样不同规模不同业务的公司(华为、UC、阿里和蚂蚁等)里面验证过的,你可以完全放心地使用。

  淘宝双11活动,又称为“光棍节购物狂欢节”,是是中国最大的在线购物平台淘宝举办的一次年度促销活动。这一活动旨在吸引...

  《天生王者》陆渐红安然全文免费阅读【完结小说无弹窗】 主角:陆渐红安然 简介:2002年有三件大事,第一件是上海获...

  在这个快节奏的时代,人类对于信息的需求愈发旺盛,而直播小程序正是这一需求的产物。近年来,随着直播行业的兴起,直播小...

  拼多多和淘宝客都是很流行的电子商务平台,通过推广赚取佣金是很多商家和个人创业者的一种常见方式。下面将为您介绍在拼多多...

  拼多多返利微信机器人,一款颇为引人关注的新型购物辅助工具。随着拼多多平台的兴起,慢慢的变多的用户开始关注如何通过拼团...

  手机赚钱软件每天100元,手机赚钱软件每天100元真的吗?也许,在许多人看来,使用智能手机赚钱是一个非常令人难以置...

  头条搜索极速版是一款新闻资讯阅读类软件,今日头条是北京字节跳动科技有限公司开发的一款基于数据挖掘的推荐引擎产品,为...

  通用算力型云服务器阿里云推出的一款超高的性价比系列云服务器产品,也是目前阿里云官网活动中比较推荐用户购买的云服务器产品...

  大家好我是石子,今天为您分享兼职赚钱的项目。无论你是宝妈、大学生、工作轻松寻找第二职业还是退休在家为了丰富多彩生活...

  大家好,我是广城腕表,一个专注腕表知识的爱好者,不定时更新腕表真假对比,拆解评测以及视频解说,学会用专业相关知识了解腕...

  技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径。加速业务的上线速率,也体现在优秀工程...

  作者:三画简介:阿里巴巴技术专家,梓敬、鹏升和余乐对此文亦有贡献。三画曾多年从事工作流引擎研发工作,现专注于高并发...

  技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径。加速业务的上线速率,也体现在优秀工程...

  技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径。 加速业务的上线速率,也体现在优秀工...

  关键要点 通过创建和维护架构图来提供准确且有价值的内容并非易事。大多数情况下,我们要么创建了太多的文档,要么太少,...