fujian_water_biz_doc/templates/301-概要设计说明书(V1.1).md

330 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**项目名称**
**详细设计说明书**
| 文件状态: | 文档密级: | 公开 |
|---------------|------------|------------------------------|
| 【 】草稿 | | |
| 【 】修改稿 | | |
| 【√】正式发布 | | |
| | 当前版本: | 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、有哪些日常维护需求并且如何处理。