当前位置: 首页 > article >正文

后端的技术设计文档

一、 背景

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.开发压测方案(非必需)

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


http://www.kler.cn/a/232521.html

相关文章:

  • Android 单元测试环境配置问题 Execution failed for task ‘:mergeDebugJavaResource‘.
  • 【视觉SLAM】1-概述
  • 通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制
  • Spring——事务
  • 自动化工具 Gulp
  • 微信小程序的主体文件和页面文件介绍
  • 实例分割论文阅读之:FCN:《Fully Convolutional Networks for Semantica Segmentation》
  • impala与kudu进行集成
  • 【linux温故】linux调度机制
  • Ubuntu22.04 gnome-builder gnome C 应用程序习练笔记(二)
  • ArcGISPro中Python相关命令总结
  • 【RPA】智能自动化的未来:AI + RPA
  • 转融通业务是什么?好处和弊端是什么?
  • 全栈笔记_插件篇(用Volar替换Vuter)
  • Redis之基础篇
  • 【算法练习】leetcode算法题合集之其他篇
  • QT基础教程(全系列教程目录)
  • Java学习笔记------API
  • Flink Checkpoint过程
  • 一周学会Django5 Python Web开发-Django5创建项目(用命令方式)
  • Python数据分析 可视化数据Seaborn图表 这篇就够了
  • 【lesson47】进程通信之system V(共享内存)补充知识
  • PgSQL技术内幕 - case when表达式实现机制
  • 【Linux系统学习】3.Linux用户和权限
  • C++2024寒假J312实战班2.6
  • C语言冒泡排序介绍