文章目录
参考《大学本科计算机专业应用型规划教材——实用软件文档写作》一书。
软件需求说明书
一、引言
1. 编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
2. 背景
说明:
- 待开发软件系统的名称
- 本项目的任务提出者、开发者、用户、以及实现该软件的计算中心或计算机网络
- 该软件系统同其他系统或其他机构的基本的相互往来关系。
3. 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
4. 参考资料
列出用得着的参考资料,如:
- 本项目的经核准的计划任务书或合同、上级机关的批文;
- 属于本项目的其他已发表文件;
- 本文件中各处引用的文件、资料,包括所要用到的软件开发标准;
列出这些文件的标题、文件编号、发表日期、出版单位,说明能够得到这些文件资料的来源。
二、任务概述
1. 目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的、有关该软件开发的背景资料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一个方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
2. 用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。
3. 假定和约束
列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
三、需求规定
1. 对功能的规定
用列表的方式(例如IPO表,即输入-处理-输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并发操作的用户数。
2. 对性能的规定
(1)精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
(2)时间特性要求
说明对于该软件的时间特性要求,如:
- 响应时间;
- 更新处理时间;
- 数据的转换和传送时间;
- 解题时间。
(3)灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
- 操作方式上的变化;
- 运行环境的变化;
- 同其他软件的接口的变化;
- 精度和有效时限的变化;
- 计划的变化或改进
对于为了提供这些灵活性而进行的专门设计的部分,应该加以标明。
3. 输入输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
4. 数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。
5. 故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
6. 其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
四、运行环境规定
1. 设备
列出运行该软件所需要的硬设备,说明其中的新型设备及其专门功能,包括:
- 处理器型号及内存容量;
- 外存容量,联机或脱机,媒体及其存储格式,设备的型号及数量;
- 输入及输出设备的型号和数量,联机或脱机;
- 数据通信设备的型号和数量;
- 功能键及其他专用硬件。
2. 支持软件
列出支持系统,包括要用到的操作系统、编译或汇编程序、测试支持软件等。
3. 接口
说明该软件同其他软件之间的接口、数据通信协议等。
4. 控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
概要设计说明书
一、引言
1. 编写目的
说明编写这份概要说明书的目的,指出预期的读者。
2. 背景
说明:
- 待开发软件系统的名称
- 列出此项目的任务提出者、开发者、用户、以及将运行该软件的计算中心
3. 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
4. 参考资料
列出有关的参考文件,如:
- 本项目的经核准的计划任务书或合同、上级机关的批文;
- 属于本项目的其他已发表文件;
- 本文件中各处引用的文件、资料,包括所要用到的软件开发标准;
列出这些文件的标题、文件编号、发表日期、出版单位,说明能够得到这些文件资料的来源。
二、总体设计
1. 需求规定
说明对本系统的主要输入输出项目、处理的功能性能需求,详细的说明可参考软件需求说明。
2. 运行环境
简要说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见软件需求说明
3. 基本设计概念和处理流程
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
4. 结构
用一览表和框图的形式,说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,概要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系
5. 功能需求与程序的关系
用一张表说明,各项需求的实现同各块程序的分配关系。
6. 人工处理过程
说明在本软件系统的工作过程中,不得不包含的人工处理过程(如果有的话)。
7. 尚未解决的问题
说明在概要设计过程中尚未解决、而设计者认为在系统完成之前必须解决的各个问题。
三、接口设计
1. 用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
2. 外部接口
说明本系统同外界的所有接口的安排,包括软件与硬件之间的接口,本系统与各支持软件之间的接口关系。
3. 内部接口
说明本系统内部的各个系统元素之间的接口的安排。
四、运行设计
1. 运行模块组合
说明对系统施加不同的外界运行控制时,所引起的各种不同的运行模块组合,说明每种运行所经历的内部模块和支持软件。
2. 运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
3. 运行时间
说明每种运行模块组合将占用各种资源的时间。
五、系统数据结构设计
1. 逻辑结构设计要点
给出本系统内使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度以及它们之间的层次的或表格的相互关系。
2. 物理结构设计要点
给出本系统内使用的每个数据结构中的每个数据项的存储要求、访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
3. 数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式。
六、系统出错处理设计
1. 出错信息
用一览表的方式,说明每种可能的出错或故障情况出现时,系统输出信息的形式、含义及处理方法。
2. 补救措施
说明故障出现后,可能采取的变通措施,包括:
- 后备技术。说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如,周期性地将磁盘信息记录到磁带上,就是对于磁盘媒体的一种后备技术。
- 降效技术。说明准备采用的后备技术,使用另一个效率稍低的系统或方法、来求得所需结果的某些部分。例如,一个自动系统的降效技术,可以是手工操作和数据的人工记录。
- 恢复及再启动技术。说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
3. 系统维护设计
说明为了系统维护的方便,而在程序内部设计中做出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
详细说明设计书
一、引言
1. 编写目的
说明编写这份概要说明书的目的,指出预期的读者。
2. 背景
说明:
- 待开发软件系统的名称
- 列出此项目的任务提出者、开发者、用户、以及将运行该软件的计算中心
3. 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
4. 参考资料
列出有关的参考文件,如:
- 本项目的经核准的计划任务书或合同、上级机关的批文;
- 属于本项目的其他已发表文件;
- 本文件中各处引用的文件、资料,包括所要用到的软件开发标准;
列出这些文件的标题、文件编号、发表日期、出版单位,说明能够得到这些文件资料的来源。
二、程序系统的结构
用一系列图表,列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
三、程序1(标识符)设计说明
1. 程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且还要说明本程序的特点(如是常驻内存还是非常驻,是否子程序,是可重入的还是不可重入的,有无覆盖要求,是顺序处理还是并发处理等等)。
2. 功能
说明该程序应具有的功能,可采用IPO图(即输入-处理-输出图)的形式。
3. 性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
4. 输入项
给出每个输入项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输入的形式、数量和频度,输入媒体,输入数据的来源和安全保密条件等。
5. 输出项
给出每个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体,对输出图形及符号的说明、安全保密条件等。
6. 算法
详细说明本程序选用的算法、具体的计算公式和计算步骤。
7. 流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
8. 接口
用图的形式说明本程序隶属于的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序直接关联的数据结构(数据库、数据文卷)。
9. 存储分配
根据需要,说明本程序的存储分配。
10. 注释设计
说明准备在本程序中安排的注释,如:
- 加在模块首部的注释;
- 加在各分支点处的注释;
- 对各变量的功能、范围、默认条件等所加的注释;
- 对使用的逻辑所加的注释等。
11. 限制条件
说明本程序运行中所受到的限制条件。
12. 测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
13. 尚未解决的问题
说明在本程序的设计中尚未解决、而设计者认为在软件完成之前应解决的问题。
四、程序2(标识符)设计说明
用类似程序1的方式,说明第2个程序乃至于第n个程序的设计考虑。