架构图思路
架构来源于建筑行业。
架构描述的是顶层设计。(对于大型的系统,也可以分层,自顶向下,宏观到微观,多画一些图)。
架构图包含角色、角色之间的关系;
通过使用系统时序图、组件时序图,体现运行规则。
如下是一个架构图的例子,描述汽车的主要部件
架构图分类
静态架构图分类如下
业务架构图
定义
业务架构图描述系统给与用户提供了什么功能,内容一定是与用户相关的,用户能看懂的。系统做了什么业务,实现了哪些业务场景。
使用场景
产品人员规划业务;给高级领导汇报;给新员工培训业务;面试晋升。
画图技巧
通过不同颜色(建议不超过3种)来标识业务状态,例如是否成熟,质量,已上线/规划中;
业务分组管理,分组的标准是“相似性”。
例子
如下是阿里云钱包的业务架构图例子
客户端/前端架构
定义
客户端和前端的领域逻辑架构,类似于4+1视图的逻辑视图
使用场景
整体架构设计;
架构培训。
面试、晋升
画图技巧
1. 通过不同颜色来标识不同角色;
2. 通过连接线来表示关系;
3. 按照依赖关系自顶向下分层。
例子
钱包为例
系统架构图(又叫后端架构图、技术架构图)
定义
一般系统架构和后端架构是等价的,但说到技术架构,容易混淆。
系统架构之所以重要,是因为核心业务流程,都在系统架构里面了。
使用场景
整体的架构设计
架构培训
面试、晋升
画图技巧
通过不同的颜色,标识不同的角色;
通过连接线来表示关系。
简单的例子
复杂的例子,可以画2个图
左侧叫做功能示意图,其实是业务架构图的进一步细化说明,重点是体现系统的功能点,不是侧重用户角度的业务。
右侧是系统架构图,这个系统架构图是粗粒度的,属于顶层的。比如支付中心,可以细化为应用架构图,包含xx个应用。
应用架构图
定义
描述后端由哪些应用组成的。
使用场景
1. 项目开发、测试; 这里要设计2个应用之间的涉及的接口。
2. 部署发布;部署的最小单位就是应用。
3. 子域架构设计。
4. 面试、晋升
画图技巧
1. 通过不同颜色来标识不同角色;
2. 通过连接线来表示关系;
3. 按照典型业务处理逻辑排列
例子
例子
下面这2个图,既是应用架构,也是系统架构,是因为这些系统,应用的划分和系统角色的划分是一样的,一个角色就是一个应用。
有些(如上面的支付中台)的比较复杂,那么在系统架构层面是不需要体现出来应用的(比如交易中心,会有多个应用;支付中心,也有多个应用),应用还在更低的层级。
部署架构图(也叫物理视图、物理架构图)
定义
描述后端系统具体如何部署的,对应4+1 视图的物理视图。
使用场景
1. 总体架构设计;
2. 运维规划和优化。
3. 面试、晋升
画图技巧
用图标代替区块。
例子
系统序列图
定义
描述系统之间的动作关系,运行规则。
例子
可以增加系统序列图,对系统架构图的描述