架构设计模板

1、项目背景 1 1、背景描述为什么要做说清楚现状是什么样子(建议使用5w1h的方法描述) 1 2、困境描述问题是什么现状有什么样的问题?(最好能够定性描述)

1、项目背景

1.1、背景描述

为什么要做

说清楚现状是什么样子(建议使用5w1h的方法描述)

 

1.2、困境描述

问题是什么

现状有什么样的问题?(最好能够定性描述)

不做行不行?(趋势是什么样子?比如未来不维护了,或者需求很少很少,还需要做这个事么?)

 

2、问题分析(可选)

问题的根因是什么

引起上面的问题的原因是什么?里面有没有一些难点?

 

3、项目目标

3.1 业务目标

系统要建设到什么样的目标

业务目标要建设成为了什么样子?包含那些功能集?实现什么样场景?

3.2 系统目标

系统要建设到什么样的目标

系统上有什么样的要求,比如验收质量指标(如常见的TP,RT,SLA,故障数等等),业务上需要考虑如何可扩展,基础需要考虑高可用性

4、方案调研

4.1、内部方案调研

这个问题内部有没有解法

有没有其它团队或者研发已经解决了这个问题?公司内部是不是有通用的解法?

如果有,那么这个方案能否复用?如果不能,为什么?有没有和方案提出部门沟通?

4.2、外部方案调研

这个问题外部有没有解法

业内有没有标准的解法?其它的大厂是如何解决这个问题?他们的解法做个概括的介绍

5、方案设计

5.1、架构设计图

逻辑架构图

服务上下游是谁?业务边界是什么?注重组成的组件有哪些?组件的各自职责是什么样的?

5.2、架构流程/顺序图/状态机

逻辑架构图

服务特点对应的架构图,如订单需要说明状态机;网关需要说明数据流向图;

 

5.3、核心关注点

4.4.1 关注点描述

技术核心关注点是什么

要评审的服务核心关注点是什么?比如基础服务,可用性可能是一个重点,如何保证降级失效转移?业务架构,可演进,可扩展可能是一个重点

 

4.4.2 技术实现

技术点是如何实现的

技术实现的技术方案是什么?如何实现的?比如关键算法,关键设计

 

4.4.3 技术栈选型对比

核心技术选型

核心技术中如果涉及到了一些关键技术点的技术栈,多技术栈的情况需要给出技术栈选型的依据(如果以前的设计中论证过不需要说明),尤其是新引入技术栈,需要对比清楚,严禁经验决策!

6、数据存储方案

6.1 ER实体关系图

实体之间的关系是什么

实体之间的关系是什么样子?谁是核心域?谁是通用域?

 

6.2 表结构说明

表结构长什么样子

表字段有哪些?约束是什么样的?字段类型如何?

 

 

7、接口文档描述(可选)

这个方案有什么风险

按照按照此设计方案可能存在什么样的风险?这些风险如何应对?

 

8、风险与应对

这个方案有什么风险

按照按照此设计方案可能存在什么样的风险?这些风险如何应对?

 

9、工期预估

工期的一个粗估

按照WBS模型,对工程进行拆分后,给出一个粗估的时间(注意是工期,不是排期!工期算出需要大约花费多少时间)

 

10、改进意见记录

参与评审人的意见

记录大家的反馈,那些还需要todo

反馈内容
反馈人