优秀程序员画好软件系统架构图的三步法(二)

本文接着上篇,继续讲解架构图的映射,同时还从业务角度,领域角度对常用架构图做了分类,并给出不同架构图的绘制技巧。

1. 架构图绘制技巧

根据工作职责及使用场景的不同,我们需要选择合适的架构图。比如产品更多关注的是产品架构,前端更多考虑的是前端技术体系和模块的架构,后端关注系统架构。架构图可从业务及领域两个角度进行划分,具体划分如下图:
架图分类图

1.1 业务架构

定义:
描述系统对用户提供什么业务功能,类似于4+1视图的场景视图,对应4R架构中的Rank,也就是顶层结构。核心点就是对产品(项目)所涉及到的业务进行边界划分,把业务边界通过不同颜色模块标识出来,并做分组,同时不需要去考虑具体技术点。

使用场景:

  • 产品人员规划业务;
  • 给高P汇报业务;
  • 给新员工培训业务;

画图技巧:

  • 通过不同颜色来标识业务状态;
  • 业务分组管理。

示例:微信业务架构图
微信业务架构图

1.2 客户端架构,前端架构

定义:
客户端和前端的领域逻辑架构,类似于4+1视图的逻辑视图。

使用场景:

  • 客户端和前端的整体架构设计;
  • 架构培训;

画图技巧:

  • 通过不同颜色来标识不同角色;
  • 通过连接线来表示关系;
  • 自顶向下分层。

示例:微信客户端架构图
微信客户端架构图

1.3 系统架构

定义:
又叫”后端架构“,“技术架构”,对应4R架构中的 Relation,也就是角色关系。
应用架构本身只关心需要哪些应用系统,哪些平台来满足业务目标的需求,而不会关心在整个构建过程中你需要使用哪些技术。技术架构则是应接应用架构的技术需求,并根据识别的技术需求进行技术选型,把各个关键技术和技术之间的关系描述清楚。技术架构解决的问题包括:纯技术层面的分层、开发框架的选择、开发语言的选择、涉及非功能性需求的技术选择。

使用场景:

  • 整体架构设计;
  • 架构培训;

画图技巧:

  • 通过不同颜色来标识不同角色;
  • 通过连接线来表示关系;

示例:美团技术架构图
美团技术架构图

1.4 应用架构

定义:
描述后端系统由哪些应用组成,对应我们4R中的Role,也就是组成角色。应用架构是对整个系统实现的总体上的架构,需要指出系统的层次、系统开发的原则、系统各个层次的应用服务,通过不同的颜色来标识角色,自顶向下分层设计。

使用场景:

  • 整体架构规划设计;
  • 架构培训;
  • 自顶向下分层;

画图技巧:

  • 通过不同颜色来标识不同角色;
  • 通过连接线来表示关系;

示例:应用架构图
应用架构图

1.5 部署架构

定义:
描述后端系统具体如何部署的,对应4+1视图的物理视图。

使用场景:

  • 总体架构设计;
  • 运维规划,优化;

画图技巧:

  • 用图标代替区块
1.6 系统序列图

定义:描述逻辑处理流程,对应4R中的Rule,也就是运作规则。通过描述具体场景中,对象之间发送消息的时间顺序显示多个对象之间的动态协作。系统序列图用UML序列图画,用于描述核心功能的实现规则。

示例:用户登录序列图
用户登陆序列图

2 总结

本文主要讲解什么是软件架构设计,4+1架构视图,软件架构的4R架构及具体架构图的映射,同时还从业务角度,领域角度对常用架构图做了分类,并给出绘制技巧。希望能给大家架构图绘制能力的提升带来帮助!

我是齐戈,一个10余年大厂工作经验的老程序员,关注我,带你成长。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值