330 lines
9.1 KiB
Markdown
330 lines
9.1 KiB
Markdown
**项目名称**
|
||
|
||
**详细设计说明书**
|
||
|
||
| 文件状态: | 文档密级: | 公开 |
|
||
|---------------|------------|------------------------------|
|
||
| 【 】草稿 | | |
|
||
| 【 】修改稿 | | |
|
||
| 【√】正式发布 | | |
|
||
| | 当前版本: | V1.1 |
|
||
| | 作者: | |
|
||
| | 完成日期: | |
|
||
|
||
## 版本历史
|
||
|
||
| 日期 | 版本号 | 作者 | 备注 |
|
||
| --- | --- | --- | --- |
|
||
| | V1.0 | 黄伟 | 起草 |
|
||
| **修改内容** | | | |
|
||
| **增加内容** | | | |
|
||
| **删除内容** | | | |
|
||
| | V1.1 | 曾力 | |
|
||
| **修改内容** | 系统设计章节调整简化,模块设计和中间件设计简化设计说明,详细设计内容在详细设计文档中编制。 | | |
|
||
| **增加内容** | | | |
|
||
| **删除内容** | | | |
|
||
|
||
# 目录
|
||
|
||
- [1 前言](#前言)
|
||
- [1.1 编写目的](#编写目的)
|
||
- [1.2 背景与任务](#背景与任务)
|
||
- [1.3 术语与缩略语](#术语与缩略语)
|
||
- [1.4 参考资料](#参考资料)
|
||
- [2 系统总体设计](#系统总体设计)
|
||
- [2.1 逻辑架构](#逻辑架构)
|
||
- [2.2 物理架构](#物理架构)
|
||
- [2.3 对外接口](#对外接口)
|
||
- [2.4 子系统列表](#子系统列表)
|
||
- [2.5 子系统相互关系与接口](#子系统相互关系与接口)
|
||
- [3 子系统1设计](#子系统1设计)
|
||
- [3.1 功能与界面](#功能与界面)
|
||
- [3.2 工程目录](#工程目录)
|
||
- [3.3 模块列表](#模块列表)
|
||
- [3.4 模块间关系](#模块间关系)
|
||
- [3.4.1 功能关系群1](#功能关系群1)
|
||
- [3.4.2 功能关系群2](#功能关系群2)
|
||
- [3.5 模块设计](#模块设计)
|
||
- [3.5.1 模块1](#模块1)
|
||
- [3.5.2 模块2](#模块2)
|
||
- [3.6 中间件和其他设计](#中间件和其他设计)
|
||
- [3.6.1 缓存](#缓存)
|
||
- [3.6.2 消息队列](#消息队列)
|
||
- [3.6.3 定时任务](#定时任务)
|
||
- [3.7 对外接口](#对外接口-1)
|
||
- [4 非功能性需求的设计](#非功能性需求的设计)
|
||
- [4.1 性能的考虑](#性能的考虑)
|
||
- [4.2 兼容性的考虑](#兼容性的考虑)
|
||
- [4.3 安全的考虑](#安全的考虑)
|
||
- [4.4 可移植性的考虑](#可移植性的考虑)
|
||
- [4.5 集成与测试的考虑](#集成与测试的考虑)
|
||
- [4.6 可扩展性的考虑](#可扩展性的考虑)
|
||
- [4.7 可靠性的考虑](#可靠性的考虑)
|
||
- [4.8 可维护性的考虑](#可维护性的考虑)
|
||
|
||
# 前言
|
||
|
||
文档编写原则:
|
||
|
||
**1、所有修改调整都必须如实记录;**
|
||
|
||
**2、对系统功能的修改,都必须对修改进行说明;**
|
||
|
||
整个文档编写说明:
|
||
|
||
1、文档编写完成后,请删除文档中出现的全部"填写说明";
|
||
|
||
2、提交前,请刷新"目录"、"图表目录", 更新页眉页脚;
|
||
|
||
3、本说明书对整个软件系统按如下结构方式进行划分:"系统"、"子系统"、"模块";
|
||
|
||
4、如果系统相对简单,不需要做"系统"、"子系统"的划分,则可直接按照"系统"、"模块"的层次划分即可\-\--把"子系统"修改为"模块"。
|
||
|
||
## 编写目的
|
||
|
||
## 背景与任务
|
||
|
||
## 术语与缩略语
|
||
|
||
填写说明:在本文当中出现的专业性、缩略、专有和难懂性的词组或短语
|
||
|
||
| **术语、缩写** | **解释** |
|
||
|---|---|
|
||
| | |
|
||
| | |
|
||
|
||
## 参考资料
|
||
|
||
# 系统总体设计
|
||
|
||
## 逻辑架构
|
||
|
||
填写说明:需要有架构图和文字说明,若有必要需要分清层级。
|
||
|
||
## 物理架构
|
||
|
||
填写说明:从物理部署方面说明系统架构,有必要的话需要标明IP,端口,协议,容器,负载均衡设计,防火墙设计等。
|
||
|
||
## 对外接口
|
||
|
||
| 接口编号 | 接口名称(标识) | 功能描述 | 接口协议 | 输入参数 | 输出结果 |
|
||
|---|---|---|---|---|---|
|
||
| | | | | | |
|
||
|
||
## 子系统列表
|
||
|
||
| 子系统编号 | 子系统名称(标识) | 功能描述 | 开发方式 |
|
||
|---|---|---|---|
|
||
| | | | 采购/外包/自行开发/复用 |
|
||
|
||
## 子系统相互关系与接口
|
||
|
||
填写说明:明确子系统之间的调用关系、子系统间的接口(消息、数据结构)以及相关子系统之间的协同工作,可以使用结构图、(交互)事务图、消息序列图、ER
|
||
图描述。
|
||
|
||
# 子系统1设计
|
||
|
||
填写说明:
|
||
|
||
1、标题上加入子系统的编号及名称(标识)
|
||
|
||
2、设计子系统整体框架:子系统的逻辑结构。
|
||
|
||
3、模块的划分与依赖关系定义、模块之间的接口定义、模块功能定义。
|
||
|
||
## 功能与界面
|
||
|
||
填写说明:说明子系统功能、作用范围等,展示子系统界面。
|
||
|
||
## 工程目录
|
||
|
||
填写说明:展示并介绍系统的工程目录结构以及主要模块的作用。
|
||
|
||
## 模块列表
|
||
|
||
| 模块编号 | 模块名称(标识) | 功能描述 | 开发方式 |
|
||
|---|---|---|---|
|
||
| | | | 采购/外包/自行开发/复用 |
|
||
|
||
## 模块间关系
|
||
|
||
### 功能关系群1
|
||
|
||
填写说明:用UML图描述各个模块间的关系,并介绍对应关系群的功能。
|
||
|
||
### 功能关系群2
|
||
|
||
填写说明:用UML图描述各个模块间的关系,并介绍对应关系群的功能。
|
||
|
||
## 模块设计
|
||
|
||
### 模块1
|
||
|
||
填写说明:标题上加入模块的编号及名称(标识)。
|
||
|
||
#### 功能
|
||
|
||
填写说明:说明该模块具备什么样的基本功能,粘贴对应界面。
|
||
|
||
##### 功能1
|
||
|
||
###### 功能描述
|
||
|
||
说明功能用途,以及功能是否有约束,及约束描述等
|
||
|
||
###### 其他说明
|
||
|
||
##### 功能2
|
||
|
||
###### 功能描述
|
||
|
||
说明功能用途,以及功能是否有约束,及约束描述等
|
||
|
||
###### 其他说明
|
||
|
||
#### 接口
|
||
|
||
填写说明:列出与其它模块的接口,与其它系统或硬件的接口。
|
||
|
||
##### 接口1
|
||
|
||
a、**接口名称**
|
||
|
||
| ⽤户注册接口 |
|
||
|---|
|
||
|
||
b、**接口描述**
|
||
|
||
| 1. ⽤户信息注册<br>2. ⽤户可以通过 ⼿机号/邮箱 进⾏注册<br>3. 同⼀个 ⼿机号/邮箱只能注册⼀个账号 |
|
||
|---|
|
||
|
||
##### 接口2
|
||
|
||
a、**接口名称**
|
||
|
||
| ⽤户注册接口 |
|
||
|---|
|
||
|
||
b、**接口描述**
|
||
|
||
| 1. ⽤户信息注册<br>2. ⽤户可以通过 ⼿机号/邮箱 进⾏注册<br>3. 同⼀个 ⼿机号/邮箱只能注册⼀个账号 |
|
||
|---|
|
||
|
||
### 模块2
|
||
|
||
填写说明:标题上加入模块的编号及名称(标识)。
|
||
|
||
#### 功能
|
||
|
||
填写说明:说明该模块具备什么样的基本功能,粘贴对应界面。
|
||
|
||
##### 功能1
|
||
|
||
###### 设计图
|
||
|
||
界面或原型图
|
||
|
||
###### 功能描述
|
||
|
||
说明功能用途,以及功能是否有约束,及约束描述等
|
||
|
||
###### 其他说明
|
||
|
||
##### 功能2
|
||
|
||
#### 接口
|
||
|
||
填写说明:列出与其它模块的接口,与其它系统或硬件的接口。
|
||
|
||
##### 接口1
|
||
|
||
a、**接口名称**
|
||
|
||
| ⽤户注册接口 |
|
||
|---|
|
||
|
||
b、**接口描述**
|
||
|
||
| 1. ⽤户信息注册<br>2. ⽤户可以通过 ⼿机号/邮箱 进⾏注册<br>3. 同⼀个 ⼿机号/邮箱只能注册⼀个账号 |
|
||
|---|
|
||
|
||
##### 接口2
|
||
|
||
a、**接口名称**
|
||
|
||
| ⽤户注册接口 |
|
||
|---|
|
||
|
||
b、**接口描述**
|
||
|
||
| 1. ⽤户信息注册<br>2. ⽤户可以通过 ⼿机号/邮箱 进⾏注册<br>3. 同⼀个 ⼿机号/邮箱只能注册⼀个账号 |
|
||
|---|
|
||
|
||
## 中间件和其他设计
|
||
|
||
### 缓存
|
||
|
||
说明缓存设计技术、架构和用途、规则等;
|
||
|
||
### 消息队列
|
||
|
||
说明消息队列设计技术、架构和用途、规则等;
|
||
|
||
### 定时任务
|
||
|
||
| 使用工具 | 功能描述 | 调用规则 |
|
||
|---|---|---|
|
||
| | | 周期等 |
|
||
|
||
## 对外接口
|
||
|
||
填写说明:描述该软件子系统与外部实体的接口,包括页面、软件接口、硬件接口和通信接口。有提供接口文档的,填写见《接口文档》,附上源文件链接。
|
||
|
||
| 接口类型 | 接口名称(标识) | 功能描述 | 接口协议 | 备注 |
|
||
|---|---|---|---|---|
|
||
| | | | | |
|
||
|
||
# 非功能性需求的设计
|
||
|
||
## 性能的考虑
|
||
|
||
填写说明:为满足延时、吞吐量等性能,在既定硬件环境约束下所采取的设计方案。
|
||
|
||
## 兼容性的考虑
|
||
|
||
填写说明:对以前版本的兼容,以及平滑升级的考虑。
|
||
|
||
## 安全的考虑
|
||
|
||
填写说明:作为应用软件,在安全方面更多的是考虑访问控制,包括使用什么样的权限管理、分配、验证方案。
|
||
|
||
## 可移植性的考虑
|
||
|
||
填写说明:系统如果有跨平台的需求,要考虑操作系统、中间件、应用服务器特性、数据库及第三方服务移植。描述如何在不同的平台移植,是否为可配置的。
|
||
|
||
## 集成与测试的考虑
|
||
|
||
填写说明:各个子系统以及模块以什么先后次序进行开发、集成(组装)和测试,即是采用自底向上法还是自顶向下法。
|
||
|
||
## 可扩展性的考虑
|
||
|
||
填写说明:不仅有对系统功能扩展的设计考虑,还要考虑系统的性能扩展,即可伸缩性。
|
||
|
||
1、如何最低成本地添加新的功能。
|
||
|
||
2、如何最低成本的复制一个新系统,并且新旧系统可以做成统一体。
|
||
|
||
## 可靠性的考虑
|
||
|
||
填写说明:对故障检测、故障隔离、故障恢复、容错、冗余、备份的设计考虑。
|
||
|
||
## 可维护性的考虑
|
||
|
||
填写说明:
|
||
|
||
1、系统模块是否可以装配,功能模块是否可以配置,整个系统是否已经参数化。
|
||
|
||
2、提供什么样的维护方式、接口及界面。
|
||
|
||
3、有哪些日常维护需求,并且如何处理。
|