一、项目开发计划
1. 引言
1.1 编写目的 【阐明编写开发计划的目的,指明读者对象。】
1.2 项目背景 【可包括:a..项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。】
1.3 定义 【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.文档所引用的资料、标准、规范等;c.列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。】
2. 项目概述
2.1 工作内容 【简要说明项目的各主要内容,介绍所开发软件的功能、性能等。若不编写可行性研究报告,则应在本节给出详细的介绍。】
2.2 条件与限制 【阐明为完成项目应具备的条件、开发单位已具备的条件以及尚需创造的条件。必要时还应说明用户及分合同承包者承担的工作、完成期限及其他条件与限制。】
2.3 产品
2.3.1 程序 【列出应交付的程序名称、使用的语言及存储形式。】
2.3.2 文档 【列出应交付的文档。】
2.4 运行环境 【应包括硬件环境、软件环境。】
2.5 服务 【阐明开发单位可向用户提供的服务。如人员培训、安装、保修、维护和其他运行支持。】
2.6 验收标准
3. 实施计划
3.1 任务分解 【任务的划分和各项任务的负责人。】
(组织结构图)
3.2 进度 【按阶段完成的项目,用图表说明开始时间、完成时间。】
(可以用Visio Professional 的 Project TimeLine 或自定置表格)
3.3 预算
3.4 关键问题 【说明可能影响项目的关键问题,如设备条件、技术难点或其他风险因素,并说明对策。】
4. 交付期限
5. 专题计划要点
【如测试计划、质量保证计划、配置管理计划、人员培训计划、系统安装计划等。】
二、需求规格说明书
1. 引言
1.1 编写编写目的 【阐明编写需求说明书的目的,指明读者对象。】
1.2 项目背景 【应包括:a..项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。】
1.3 定义 【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.文档所引用的资料、标准、规范等;c.列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。】
2. 任务概述
2.1 目标
2.2 运行环境
2.3 条件与限制
3. 数据描述
3.1 静态数据
3.2 动态数据 【包括输入和输出数据。】
3.3 数据库描述 【给出使用数据库的名称和类型。】
可以考虑作为附件
3.4 数据词典
3.5 数据采集
4. 功能需求
4.1 功能划分
4.2 功能描述
5. 性能需求
5.1 数据精确度
5.2 时间特性 【如响应时间、更新处理时间、数据转换与传输时间、运行时间等。】
5.3 适应性 【在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。】
6. 运行需求
6.1 用户界面 【如屏幕格式、报表格式、菜单格式、输入输出时间等。】
6.2 硬件接口
6.3 软件接口
6.4 故障处理
7. 其他需求
【如可使用性、安全保密、可维护性、可移植性等。】
三、概要设计说明书
1.引言
1.1 编写编写目的 【阐明编写概要设计说明书的目的,指明读者对象。】
1.2 项目背景 【应包括:a..项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。】
1.3 定义 【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.测试计划;e.用户操作手册;f.文档所引用的资料、标准、规范等。】
2.任务概述
2.1 目标
2.2 运行环境
2.3 需求概述
2.4 条件与限制
3.总体设计
3.1 处理流程
3.2 总体结构和模块外部设计
3.3 功能分配 【表明各项功能与程序结构的关系。】
4.接口设计
4.1 外部接口 【包括用户界面、软件接口与硬件接口。】
4.2 内部接口 【模块之间的接口。】
5.数据结构设计
5.1 逻辑结构设计
5.2 物理结构设计
5.3 数据结构与程序的关系
6.运行设计
6.1 运行模块的组合
6.2 运行控制
6.3 运行时间
7.出错处理设计
7.1 出错输出信息
7.2 出错处理对策 【如设置后备、性能降级、恢复启动等。】
8. 安全保密设计
9. 维护设计
【说明为方便维护工作的设施,如维护模块等。】
四、详细设计说明
1.引言
1.1 编写编写目的 【阐明编写详细设计说明书的目的,指明读者对象。】
1.2 项目背景 【项目的来源和主管部门等。】
1.3 定义 【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.测试计划(初稿);e.用户操作手册(初稿);f. 手册所引用的其他资料、采用的软件工程标准或者规范等。】
2.总体设计
2.1 需求概述
2.2 软件结构 【如给出软件系统的结构图。】
3.程序描述
【逐个模块给出以下的说明:】
3.1 功能
3.2 性能
3.3 输入项目
3.4 输出项目
3.5 算法 【模块所选用的算法。】
3.6 程序逻辑 【详细描述模块实现的算法,可采用:a.标准流程图;b.PDL语言;c.N-S图;d.PAD;e.判定表等描述算法的图表。】
3.7 接口
3.8 存储分配
3.9 限制条件
3.10 测试要点 【给出测试模块的主要测试要求。】
五、用户操作手册
1.引言
1.1 编写编写目的 【阐明编写手册的目的,指明读者对象。】
1.2 项目背景 【说明项目来源、委托单位、开发单位和主管部门。】
1.3 定义 【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.测试计划;e.详细设计说明书;f.手册所引用的其他资料、采用的软件工程标准或者规范等。】
2. 软件概述
2.1 目标
2.2 功能
2.3 性能
2.3.1 数据精确度 【包括输入、输出以及处理数据的精确度。】
2.3.2 时间特性 【如响应时间、处理时间、数据传输时间等。】
2.3.3 灵活性 【在操作方式、运行环境需作某些变更时软件的适应能力。】
3. 运行环境
3.1 硬件 【列出软件系统运行时需要的硬件最小配置,如a.计算机型号、主存容量;b.外存储器、媒体、记录格式、设备型号及数量;c.输入、输出设备;d.数据传输设备及数据转换设备的型号及数量。】
3.2 支持软件 【如a.操作系统名称及版本号;b.语言编译系统或汇编系统的名称及版本号;c.数据库管理系统的名称及版本号;d.其他必要的支持软件。】
4. 使用说明
4.1 安装和初始化 【给出程序的存储形式、操作命令、反馈信息及其含义、表明安装完成的测试实例以及安装所需的软件工具等。】
4.2 输入 【给出输入数据或参数的要求。】
4.2.1 数据背景 【说明数据来源、存储媒体、出现频度、限制和质量管理等。】
4.2.2 数据格式 【如a.长度;b.格式基准;c.标号;d.顺序;e.分隔符;f.词汇表;g.省略和重复;h.控制。】
4.2.3 输入举例
4.3 输出 【给出每项输出数据的说明。】
4.2.1 数据背景 【说明输出数据的去向、存储媒体、出现频度、限制和质量管理等。】
4.2.2 数据格式 【详细阐明每一输出数据的格式,如首部、主体和尾部的具体形式。】
4.2.3 输入举例
4.4 出错和恢复 【给出:a.出错信息及其含义;b.用户应采取的措施,如修改、恢复、再启动。】
4.5 求助查询 【说明如何操作。】
5. 运行说明
5.1 运行表 【列出每种可能的运行情况,说明其运行目的。】
5.2 运行步骤 【按顺序说明每种运行的步骤,应包括:】
5.2.1 运行控制
5.2.2 操作信息
a.运行目的;b.操作要求;c.启动方法;d.预计运行时间;e.操作命令格式及说明;f.其他事项。
5.2.3 输入/输出文件 【给出建立或更新文件的有关信息,如:】
a.文件的名称及编号;b.记录媒体;c.存留的目录;d.文件的支配【说明确定保留文件或废弃文件的准则,分发文件的对象,占用硬件的优先级及保密控制等。】
5.2.4 启动或恢复过程
6. 非常规操作
【提供应急或非常规操作的必要信息及操作步骤,如出错处理操作、向后备系统切换操作
以及维护人员须知的操作和注意事项。】
7. 操作命令一览表
【按字母顺序逐个列出全部操作命令的格式、功能及参数说明。】
8. 程序文件(或命令文件)和数据库文件一览表
【按文件名称字母顺序或按功能与模块分类顺序逐个列出文件名称、标示符及说明。】
9. 用户操作举例
六、测试计划
1.引言
1.1 编写编写目的 【阐明编写测试计划的目的,指明读者对象。】
1.2 项目背景 【说明项目来源、委托单位、开发单位和主管部门。】
1.3 定义 【列出测试计划中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g. 测试计划所引用的其他资料、采用的软件工程标准或者规范等。】
2.任务概述
2.1 目标
2.2 运行环境
2.3 需求概述
2.4 条件与限制
3.计划
3.1 测试方案 【说明确定测试方法和选区测试用例的原则。】
3.2 测试项目 【列出组装测试和确认测试中每一项测试的内容、名称、目的和进度。】
3.3 测试准备
3.4 测试机构及人员 【测试机构名称、负责人和职责。】
4.测试项目说明
【按顺序逐个对测试项目做出说明:】
4.1 测试项目名称及测试内容
4.2 测试用例
4.2.1 输入 【输入的数据和输入命令。】
4.2.2 输出 【预期的输出数据。】
4.2.3 步骤及操作
4.2.4 允许偏差 【给出实测结果与预期结果之间允许误差的范围。】
4.3 进度
4.4 条件 【给出项测试对资源的特殊要求,如设备、软件、人员等。】
4.5 测试资料 【说明项测试所需的资料。】
5.评价
5.1 范围 【说明所完成的各项测试说明问题的范围及其局限性。】
5.2 准则 【说明评价测试结果的准则。】
七、测试分析报告
1.引言
1.1 编写编写目的 【阐明编写测试分析报告的目的,指明读者对象。】
1.2 项目背景 【可包括:a..项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。】
1.3 定义 【列出报告中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g. 测试计划;h.测试分析报告所引用的其他资料、采用的软件工程标准或者规范等。】
2.测试计划执行情况
2.1 测试项目 【列出每一测试项目的名称、内容和目的。】
2.2 测试机构和人员 【给出测试机构的名称、负责人和参与测试的人员名单。】
2.3 测试结果 【按顺序给出每一测试项目的目的:a.实测结果数据;b.与预期结果数据的偏差;c.该项测试表明的事实;d.该项测试发现的问题。】
3.软件需求测试结论
【按顺序给出每一项需求测试的结论。包括:证实的软件能力;局限性(即项需求未得到充分测试的情况及原因)。】
4.评价
4.1 软件能力 【经过测试所表明的软件能力。】
4.2 缺陷和限制 【说明测试所揭露的软件缺陷和不足,以及可能给软件运行所带来的影响。】
4.3 建议 【提出为弥补上述缺陷的建议。】
4.4 测试结论 【说明能否通过。】
八、开发进度月报
1. 报告时间及所处的开发阶段
2. 工程进度
2.1 本月内的主要活动
2.2 实际进展与计划比较
3. 所用工时
【按不同层次人员分别计时。】
4. 所用机时
【按所用计算机型分别计时。】
5. 经费支出
【分类列出本月经费支出项目,给出支出总额,并与计划比较。】
6. 工作遇到的问题及采取的对策
7. 本月完成成果
8. 下月的工作计划
9. 特殊问题
九、项目开发总结报告
1.引言
1.1 编写编写目的 【阐明编写总结报告的目的,指明读者对象。】
1.2 项目背景 【可包括:a..项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。】
1.3 定义 【列出报告中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同及上级机关的批文;b.项目开发计划;c.需求规格说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g. 测试计划;h.测试分析报告;i.测试报告所引用的其他资料、采用的软件工程标准或者规范等。】
2.开发结果
2.1 产品 【可包括:a.列出各部分的程序名称、源程序行数(包括注释行)或目标程序字节数及程序总计数量、存储形式;b.产品文档名称。】
2.2 主要功能及性能
2.3 所用所用工时 【按不同层次人员分别计时。】
2.4 所用机时 【按所用计算机型分别计时。】
2.5 进度 【给出计划进度与实际进度的对比。】
2.6 费用
3.评价
3.1 生产率评价 【如平均每人每月生产的源程序行数、文档的自述等。】
3.2 技术方案评价
3.3 产品质量评价
4.经验与教训
十、程序维护手册
1.引言
1.1 编写编写目的 【阐明编写手册的目的,指明读者对象。】
1.2 项目背景 【说明项目的提出者、开发者、用户和使用场所。】
1.3 定义 【列出手册中用到的专门术语的定义和缩写词的原文。】
1.4 参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,以及保密级别,可包括:a.用户操作手册;b.与本项目相关的其他文档。】
2.系统说明
2.1 系统用途 【说明系统具备的功能,输入输出。】
2.2 安全保密 【说明系统安全保密方面的考虑。】
2.3 总体说明 【说明系统的总体功能,对系统、子系统和作业做出综合性的介绍,并用图表的方式给出系统主要部分的内部关系。】
2.4 程序说明 【说明系统中每一程序、分程序的细节和特性。】
2.4.1 程序1的说明
2.4.1.1 功能 【说明程序的功能。】
2.4.1.2 方法 【说明程序实现的方法。】
2.4.1.3 输入 【说明程序的输入、媒体、运行数据记录、运行开始时使用的输入数据类型和存放单元。】
2.4.1.4 处理 【处理特点和目的,如:a用图文说明程序的运行的逻辑流程;b.程序主要主要转移条件;c.对程序的约束条件;d.程序结束时的出口要求;e.与下一个程序的通信现联结(运行、控制);f.由访该程序产生并供处理程序段使用的输出数据类型和存放单元;g.程序运行所用存储量、类型及存储位置等。】
2.4.1.5 输出 【程序的输出。】
2.4.1.6 接口 【本程序与本系统其他部分的接口。】
2.4.1.7 表格 【说明程序的内部的各种表、项的细节和特性。对每张表的说明至少包括:a.表的识别符;b.使用目的;c.使用此表的其他程序;d.逻辑划分,如块或部,不包括表项;e.表的基本结构;f.设计安排,包括表的控制信息。表目结构细节、使用中的特有性质及各表项的标识、位置、用途、类型、编码表示。】
2.4.1.8 特有的运行性质【说明在用户操作手册中没有提到的运行性质。】
2.4.2 程序2的说明 【与程序1的说明相同。以后其他各程序的说明相同。】
3.操作环境
3.1 设备 【逐项说明系统的设备配置及其特性。】
3.2 支持软件 【列出系统使用的支持软件,包括它们的名称和版本号。】
3.3 数据库 【说明每个数据库的性质和内容,包括安全考虑。】
3.3.1总体特征 【如:a.标识符;b.使用这些数据库的程序;c.静态数据;d.动态数据;e.数据库的存储媒体;f.程序使用数据库的限制。】
3.3.2 结构及详细说明
3.3.2.1 说明该数据库的结构,包括其中的记录和项;
3.3.2.2 说明记录的组成,包括首部或控制段、记录体;
3.3.2.3 说明每个记录结构的字段,包括:标记或标号、字段和字符长度和位数、该字段的允许值范围。
3.3.2.4 扩充:说明为记录追加字段的规定;
4.维护过程
4.1 约定 【列出软件系统设计中所使用全部规则和约定,包括:a.程序、分程序、记录、字段和存储区的标识或标号助记符的使用规则;b.图表的处理标准、卡片的连接顺序、语句和记号中使用的缩写、出现在图表中的符号名;c.使用的软件技术标准;d.标准化的数据元素及其特征。】
4.2验证过程 【说明一个程序段修改后,对其进行验证的要求和过程(包括测试程序和数据)及程序周期性验证的过程。】
4.3 出错及纠正方法 【列出出错状态及其纠正方法。】
4.4 专门维护过程 【说明文档其他地方没有提到的专门维护过程,如:a.维护该软件系统的输入部分(如数据库)的要求、过程和验证方法;b.运行程序库维护系统所必需的要求、过程和验证方法;c.对闰年、世纪变更所需要的临时性修改等。】
4.5 专用维护程序 【列出维护软件系统使用的后备技术和专用程序(如文件恢复程序、淘汰过的文件的程序等)的目录,并加以说明,内容包括:a.维护作业的输入输出要求;b.输入的详细过程及在硬设备上建立、运行并完成维护作业的操作步骤。】
4.6 程序清单和流程图 【引用资料或提供附录给出程序清单和流程图。】
十一、软件问题报告
1.登记号
【由软件配置管理部门为该报告规定一个唯一的、顺序的编号。】
2.登记日期
【软件配置管部门登记该报告的日期。】
3.问题发现日期
【发现该问题的日期和时间。】
4.活动
【在哪个阶段发现问题,分为单元测试、组装测试、确认测试和运行维护。】
5.状态
【在软件配置记录中维护的动态指示,状态表示有:a.正在复查“软件问题报告”,以确定将采取什么行动;b.“软件问题报告”已由指定的人去进行处理;c.修改已完成,并以过测试,正准备交给主程序;d.主程序库已经更新,主程序库修改的重新测试尚未完成;e.做了重新测试,问题再现;f.做了重新测试,所做的修改无故障,“软件问题报告”被关闭;g.留待关闭。】
6.报告人
【填写“软件问题报告”人员的姓名、地址、电话。】
6. 问题属于什么方面
【区分是程序的问题,还是模块的问题,或者是数据库的问题,文件的问题。也可能是他们的某种组合。】
8.模块/子系统
【出现的模块名。如果不知是那个模块,可标出子系统名,尽量给出细节。】
9.修订版本号
【出现问题的模块版本。】
10.磁带
【包含有问题的模块主程序库的磁带的标识符。】
11.数据库
【当发现问题时所使用数据库的标示符。】
12.文件号
【有错误的文件的编号。】
13.测试用例
【发现错误时所使用测试用例的标示符。】
14.硬件
【发现错误是所使用的计算机系统的标示幅。】
15.问题描述/影响
【问题征兆的详细描述。如果可能,则写明实际问题所在。也要给出该问题对将来测试、接口软件和文件等的影响。】
16.附注
【记载补充信息。】
十二、软件修改报告
1. 登记号
【由软件配置管理部门为报告规定的编号。】
2. 登记日期
【软件配置管理部门登记“软件修改报告”。】
3. 时间
【准备好“软件修改报告”的日期。】
4. 报告人
【填写该报告的作者。】
5. 子系统名
【受修改影响的子系统名。】
6. 模块名
【被修改的模块名。】
7. “软件问题报告”的编号
[被“软件修改报告”处理或部分处理的“软件问题报告”的编号。如果某“软件问题报告”的问题知识部分被处理,则在编号后附以p,如1234p。]
8. 修改
[包括程序修改、文件更新、数据库修改或它们的组合。]
9. 修改描述
[修改的详细描述。如果是文件更新或数据库修改,还要列出文件更新通知或数据库修改申请的标示符。]
10. 批准人
[批准人签字,正式批准进行修改。]
11. 语句类型
[程序修改中涉及到的语句类型,包括:输入/输出语句类、计算语句类、逻辑控制语句类、数据处理语句类(如数据传送、存取语句)。]
12. 程序名
[被修改的程序、文件或数据库的名字。]
13. 老修订版
[当前的版本/修订版标示。]
14. 新修订版
[修改后的版本/修订本标示。]
15. 数据库
[如果申请修改数据库,则给出数据库的标示符。]
16. 数据库修改报告
[数据库修改申请号。]
17. 文件
[如果要求对文件进行修改,则给出文件名。]
18. 文件更新
[文件更新通知单的编号。]
19. 修改是否已经测试
[指出已经对修改做了那些测试,如单元、子系统、组装、确认和运行测试等。]
20. “软件问题报告”是否给出问题的准确描述
[回答‘是’或‘否’。]
21. 问题注释
[准确的叙述要维护的问题。]
22. 问题源
[指明问题来自哪里,如软件需求说明书、设计说明书、数据库、源程序等。]
23. 资源
[完成修改所需要的资源估计,即总的人时数和计算机时间的开销。]