从零学架构(二)


架构描述

4+1架构视图

逻辑视图

系统提供给用户的功能,对应UML的类图和状态图

类图

状态图

处理视图

系统处理的过程,对应UML的时序图和活动图

时序图

活动图

开发视图

程序员角度看系统的逻辑组成,对应UML的包图

物理视图

系统工程师角度看系统的物理组成,对应UML的部署图

场景视图

用户角度看系统需要实现的需求,对应UML的用例图

4+1架构视图的缺点

  1. 4+1架构视图提出的时候是1995年,那时候大部分的系统还是单体系统,而现在大部分是分布式系统。随着架构复杂度的提升,UML的表达能力不够
  2. 4+1架构视图绑定UML图,灵活性不够,也不美观
  3. 4+1架构视图的逻辑视图、开发视图、处理视图比较容易混淆,难理解

目前国内流行的架构图

业务架构

定义

描述系统对用户提供了什么业务功能,类似4+1的场景视图

使用场景
  1. 产品人员规划业务
  2. 给上层汇报业务
  3. 给新员工培训业务
  4. 整体架构设计
画图技巧
  1. 通过不同的颜色来识别业务状态
  2. 业务分组管理
样例

前端架构/客户端架构

定义

前端/客户端的领域逻辑架构,类似4+1视图里的逻辑视图

使用场景
  1. 整体架构设计
  2. 架构培训
画图技巧
  1. 用不同的颜色来标识不同的角色

  2. 用连线标识关联关系

样例

系统架构

定义

后端的逻辑架构,又称“后端架构”、“技术架构”

使用场景
  1. 整体架构设计
  2. 架构培训
画图技巧
  1. 通过不同的颜色来标识不同的角色
  2. 用连线标识关联关系
样例

如果系统简单,画一张

如果系统复杂,画两张(功能示意图、交互示意图)

应用架构

定义

描述后端系统由哪些应用组成

使用场景
  1. 项目开发测试
  2. 部署发布
  3. 子域架构设计
画图技巧
  1. 通过不同颜色来标识不同角色
  2. 通过连接线来表示关系
样例

相对简单的系统架构和应用架构是等价的。一般中间件都相对比较简单,所以一般情况下它们的系统架构和应用架构等价,比如Redis

部署架构

定义

描述后端系统具体如何部署,对应4+1视图里面的物理视图

使用场景
  1. 总体架构设计
  2. 运维规划和优化
画图技巧
  1. 用图标代替区块
样例

系统序列图

定义

描述系统运作规则,属于动态架构图

样例

小结


文章作者: maybe
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 maybe !