软件产品研发过程 - 三、详细设计
详细设计是在软件开发过程中,基于概要设计(将功能按子功能进行拆分,画面跳转关系、UI原型、画面上所有功能点及每个功能点对应的业务流程),以程序开发的角度来设计概要设计中每个功能点的代码实现;
详细设计的内容包含:
1、接口设计 - 定义第个功能点前后端交互的接口;
2、数据库设计 - 相关数据表结构定义;
3、类图 - 定义代码的结构;
4、时序图 - 每个功能在类、方法的调有过程
相关系列文章
软件产品研发管理经验总结-管理细分
软件研发管理经验总结 - 事务管理
软件研发管理经验总结 - 技术管理
软件产品研发过程 - 二、概要设计
软件产品研发过程 - 三、详细设计
目录
- 软件产品研发过程 - 三、详细设计
- 一、接口设计
- 1、接口概述
- 2、请求方式
- 3、请求地址
- 4、参数说明
- 5、返回值说明
- 5.1) 、成功返回结果
- 5.2) 、失败返回结果
- 二、DB表结构设计
- 三、类图
- 4、时序图
一、接口设计
1、接口概述
用文字的形式将接口实现的功能描述清楚,需要对接口调用的必备条件需要进行特别重点罗列。
2、请求方式
序号 | 请求方式 | 说明 |
---|---|---|
1 | GET | Http请求,问号传参 |
2 | POST | Http请求,Form传参 |
3 | PUT | Http请求,Form传参 |
3 | DELETE | Http请求,问号传参/路径传参数 |
3、请求地址
定义接口请求的URL地址,Http://IP:端口/一级模块/二级模块/接口方法
- 例如:系统管理模块 - > 用户管理 -> 查询接口为Http://IP:端口/system/user/list
4、参数说明
序号 | 参数名 | 必填 | 说明 |
---|---|---|---|
1 | 参数1 | 是 | 参数1说明 |
2 | 参数2 | 是 | 参数2说明 |
5、返回值说明
5.1) 、成功返回结果
{
"code": 200,
"msg": "操作成功",
"data": {
"key-1": "值",
"key-2": "值"
}
}
序号 | 返回值 | 说明 |
---|---|---|
1 | code | 返回值说明 |
2 | msg | 返回值说明 |
3 | data | 返回值说明 |
4 | key-1 | 返回值说明 |
5 | key-2 | 返回值说明 |
5.2) 、失败返回结果
{
"code": 500,
"msg": "操作失败,原因:xxx"
}
序号 | 返回值 | 说明 |
---|---|---|
1 | code | 返回值说明 |
2 | msg | 返回值说明 |
二、DB表结构设计
1)、数据表定义
项目 | 内容 |
---|---|
表名 | xxx表 |
作者 | 张三 |
概要 | 1、子功能xxx在执行什么业务时,向该表新增记录; 2、子功能xxx在执行什么业务时,向该表删除记录; 3、子功能xxx在执行什么业务时,将该表 xxx字段值更新为 xxx…; |
2)、数据表结构定义
序号 | 字段名 | 中文名 | 类型 | 长度 | PK | FK | NOT NULL | DEFAULT | 备注 |
---|---|---|---|---|---|---|---|---|---|
1 | id | 主键ID | varchar | 36 | ● | ● | 主键 | ||
2 | xxx | xxxxxx | xxxxxxx | xx | ● | xxxx |
说明:
1、PK:主键,当果某字段为主键,则DEFAULT就不用设置了;
2、FK:引用外键
3、NOT NULL:非空
4、DEFAULT:当字段为short、int、long、日期类型时,要设置一个默认值,否则字段为空时程序中容易出错
三、类图
采用UML设计工具,将当前模块的功能从代码实现角度来设计类与类的关系,例如下图所示:
4、时序图
每个功能点一个时序图,基于类图设计,该功能在上面类设计基础上的对象之间的方法调用关系,也需要体现出代码中的分支、循环程序处理逻辑。