后端的技术设计文档

一、 背景

1.简介

2.业务规划(非必需)

3.工作项拆解

拆解成多个工作项,每个工作项,需要多少人力。

4.资源评估(非必需)

有没有新的服务

二、架构设计

1.架构图(非必需,新服务比较需要)

2.技术选型

SpringCloud、Redis、Mysql、Mybatis

3.幂等设计(非必需)

4.数据迁移方案(历史数据的处理)

业务涉及数据迁移,数据批量变更等场景需要填写此项。

5.性能评估(非必需)

对于并发量和数据量较大的业务场景,需要考虑性能瓶颈。

三、时序流程图

**1.时序图 **

可以是系统维度,也可以是后台服务维度。

2.业务流程图(如果有时序图,也可以不用业务流程图)

业务流程图,偏向展示整体业务走向;设计时需要标明相较于上个版本的改动点,方便测试同学进行回归测试,避免遗漏。

3.状态机

展示状态机的流转。设计时需要标明相较于上个版本的改动点。

四、接口设计

1.接口清单及描述

五、数据存储设计

1.数据库表关联图

ER关系图,实体对象关系图。

2.表设计(存在变更时必填)

Mysql表结构设计,索引设计,SQL语句等;

如果预期表数据会超过2000w以上的要考虑分表方案。

3.缓存设计

对复杂的缓存设计,或者涉及内存缓存的,需要标明。

六、配置信息

当程序配置有新增点或者改动点时需要填写。

1.程序配置(存在配置变更时必填)

2.动态配置(存在配置变更时必填)

3.监控告警(核心业务最好有监控告警)

通过监控街区,先于用户发现问题,减少线上故障。

七、关联方信息

1.第三方设计文档

填写第三方设计文档地址,方便后续回溯。

八、灰度方案(非必需)

1.灰度方案

灰度方案和进行灰度测试时需要的数据

2.灰度配置

进行灰度测试时需要做哪些配置,配置流程

九、检查项(必填)

判断是否存在以下检查项

检查项 检查内容
方案评审 是否需要进行方案评审,大版本需要进行方案评审
敏感数据 检查是否涉及用户敏感数据
SQL注入 检查是否存在SQL注入漏洞
越权漏洞 检查是否有越权安全漏洞
依赖检查 发布前是否依赖第三方发布顺序,若有需在检查项表下标明依赖方
服务配置 是否有生产环境配置项需要配置,如有请在配置信息一项标明
环境配置 是否有新接入redis、mongodb、mysql、es等环境配置项
定时任务 检查是否需要新建定时任务
数据库 检查是否需要创建库和表,是否需要执行SQL语句
灰度 是否需要进行灰度测试
接口压测 是否有接口需要压测
白名单配置 是否有第三方IP需要开白
编码检查 是否需要进行codereview、编码规约

十、其它文档

1.产品需求文档

2.测试用例

填写自测文档、贴测试用例链接。

3.开发压测方案(非必需)

开发提供压测方案,方便测试压测使用。

你可能感兴趣的:(A1-系统设计与架构,java)