关于架构、如何画好架构图

272 阅读4分钟

架构图思路

架构来源于建筑行业。

架构描述的是顶层设计。(对于大型的系统,也可以分层,自顶向下,宏观到微观,多画一些图)。

架构图包含角色、角色之间的关系;

通过使用系统时序图、组件时序图,体现运行规则。

如下是一个架构图的例子,描述汽车的主要部件

架构图分类

静态架构图分类如下

业务架构图

定义

业务架构图描述系统给与用户提供了什么功能,内容一定是与用户相关的,用户能看懂的。系统做了什么业务,实现了哪些业务场景。

使用场景

产品人员规划业务;给高级领导汇报;给新员工培训业务;面试晋升。

画图技巧

通过不同颜色(建议不超过3种)来标识业务状态,例如是否成熟,质量,已上线/规划中;

业务分组管理,分组的标准是“相似性”。

例子

如下是阿里云钱包的业务架构图例子

客户端/前端架构

定义

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

使用场景

整体架构设计;

架构培训。

面试、晋升

画图技巧

1. 通过不同颜色来标识不同角色;

2. 通过连接线来表示关系;

3. 按照依赖关系自顶向下分层。

例子

钱包为例

系统架构图(又叫后端架构图、技术架构图)

定义

一般系统架构和后端架构是等价的,但说到技术架构,容易混淆。

系统架构之所以重要,是因为核心业务流程,都在系统架构里面了。

使用场景

整体的架构设计

架构培训

面试、晋升

画图技巧

通过不同的颜色,标识不同的角色;

通过连接线来表示关系。

简单的例子

复杂的例子,可以画2个图

左侧叫做功能示意图,其实是业务架构图的进一步细化说明,重点是体现系统的功能点,不是侧重用户角度的业务。

右侧是系统架构图,这个系统架构图是粗粒度的,属于顶层的。比如支付中心,可以细化为应用架构图,包含xx个应用。

应用架构图

定义

描述后端由哪些应用组成的。

使用场景

1. 项目开发、测试; 这里要设计2个应用之间的涉及的接口。

2. 部署发布;部署的最小单位就是应用。 

3. 子域架构设计。 

4. 面试、晋升

画图技巧

1. 通过不同颜色来标识不同角色;

2. 通过连接线来表示关系; 

3. 按照典型业务处理逻辑排列

例子

例子

下面这2个图,既是应用架构,也是系统架构,是因为这些系统,应用的划分和系统角色的划分是一样的,一个角色就是一个应用。

有些(如上面的支付中台)的比较复杂,那么在系统架构层面是不需要体现出来应用的(比如交易中心,会有多个应用;支付中心,也有多个应用),应用还在更低的层级。

部署架构图(也叫物理视图、物理架构图)

定义

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

使用场景

1. 总体架构设计;

2. 运维规划和优化。

3. 面试、晋升

画图技巧

用图标代替区块。

例子

系统序列图

定义

描述系统之间的动作关系,运行规则。

例子

可以增加系统序列图,对系统架构图的描述

来源 www.bilibili.com/video/BV176…