一、项目开发计划
1.引言1.1编写目的【阐明编写开发计划的目的,指明读者对象。】
1.2项目背景【可包括:
a. 项目的委托单位、开发单位和主管部门;
b. 该软件系统与其他系统的关系。】
1.3定义【列出本档中用到的专门术语的定义和缩写词的原文。】
1.4参考资料【可包括:
a. 项目经核准的计划任务书、合同或上级机关的批文;
b. 文档所引用的资料、规范等;列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。】
2.项目概述2.1工作内容【简要说明项目的各项主要工作,介绍所开发软件的功能、性能等。若不编写可行性研究报告,则应在本节给出较详细的介绍。】
2.2条件与限制【阐明为完成项目应具备的条件、开发单位已具备的条件以及尚需创造的条件。必要时还应说明用户及分合同承包者承担的工作、完成期限及其他条件与限制。】
2.3产品2.3.1程序【列出应交付的程序名称、使用的语言及存储形式。】
2.3.2文档【列出应交付的文档。】
2.4运行环境【应包括硬件环境、软件环境。】
2.5服务【阐明开发单位可向用户提供的服务。如人员培训、安装、保修、维护和其他运行支持。】
2.6验收标准
3.实施计划3.1任务分解【任务的划分及各项任务的负责人。】
3.2进度【按阶段完成的项目,用图表说明开始时间、完成时间。】
3.3预算
3.4关键问题【说明可能影响项目的关键问题,如设备条件、技术焦点或其他风险因素,并说明对策。】
4.人员组织及分工5.交付期限6.专题计划要点【如测试计划、质量保证计划、配置管理计划、人员培训计划、系统安装计划等。】
二、需求规格说明书
1.引言1.1编写目的【阐明编写需求说明书的目的,指明读者对象。】
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2项目背景c. 项目的委托单位、开发单位和主管部门
d. 该软件系统与其他
1.3定义【列出文当中所用到的专门术语的定义和缩写词的原文。】
1.4参考资料c. 项目经核准的计划任务书、合同或上级机关的批文
d. 项目开发计划
e. 文档所引用的资料、标准和规范。列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源
2.任务概述2.1目标2.2运行环境操作系统:Microsoft Windows 2000 Advanced Server
支持环境:IIS 5.0
数 据 库:Microsoft SQL Server 2000
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项目背景【应包括:
e. 项目的委托单位、开发单位和主管部门;
f. 该软件系统与其他系统的关系。】
1.3定义【列出本文档中所用到的专门术语的定义和缩写词的原文。】
1.4参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
f. 项目经核准的计划任务书、合同或上级机关的批文;
g. 项目开发计划;
h. 需求规格说明书;
i. 测试计划(初稿);
j. 用户操作手册(初稿);
k. 文档所引用的资料、采用的标准或规范。】
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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
l. 项目的计划任务书、合同或批文;
m. 项目开发计划;
n. 需求规格说明书;
o. 概要设计说明书;
p. 测试计划(初稿);
q. 用户操作手册(初稿);
r. 文档中所引用的其他资料、软件开发标准或规范。】
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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
s. 项目的计划任务书、合同或批文;
t. 项目开发计划;
u. 需求规格说明书;
v. 概要设计说明书;
w. 详细设计说明书;
x. 测试计划;
y. 手册中引用的其他资料、采用的软件工程标准或软件工程规范。】
2.软件概述2.1目标2.2功能2.3性能a. 数据精确度【包括输入、输出及处理数据的精度。】
b. 时间特性【如响应时间、处理时间、数据传输时间等。】
c. 灵活性【在操作方式、运行环境需做某些变更时软件的适应能力。】
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.3.1数据背景【说明输出数据的去向、使用频度、存放媒体及质量管理等。】
4.3.2数据格式【详细阐明每一输出数据的格式,如:首部、主体和尾部的具体形式。】
4.3.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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
z. 项目的计划任务书、合同或批文;
aa. 项目开发计划;
bb. 需求规格说明书;
cc. 概要设计说明书;
dd. 详细设计说明书;
ee. 用户操作手册;
ff. 本测试计划中引用的其他资料、采用的软件开发标准或规范。】
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项目背景【说明项目的来源、委托单位及主管部门。】
1.3定义【列出测试分析报告中所用到的专门术语的定义和缩写词的原文。】
1.4参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
gg. 项目的计划任务书、合同或批文;
hh. 项目开发计划;
ii. 需求规格说明书;
jj. 概要设计说明书;
kk. 详细设计说明书;
ll. 用户操作手册;
mm. 测试计划;
nn. 测试分析报告所引用的其他资料、采用的软件工程标准或软件工作规范。】
2.测试计划执行情况 2.1测试项目【列出每一测试项目的名称、内容和目的。】
2.2测试机构和人员【给出测试机构名称、负责人和参与测试人员名单。】
2.3测试结果【按顺序给出每一测试项目的:
a. 实测结果数据;
b. 与预期结果数据的偏差;
c. 该项测试表明的事实;
d. 该项测试发现的问题。】
3.软件需求测试结论【按顺序给出每一项需求测试的结论。包括:
a. 证实的软件能力;
b. 局限性(即项需求未得到充分测试的情况及原因)。】
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项目背景【说明项目来源、委托单位、开发单位及主管部门。】
1.3定义【列出报告用到的专门术语的定义和缩写词的原文。】
1.4参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
oo. 项目经核准的计划任务书、合同或上级机关的批文;
pp. 项目开发计划;
qq. 需求规格说明书;
rr. 概要设计说明书;
ss. 详细设计说明书;
tt. 用户操作手册;
uu. 测试计划;
vv. 测试分析报告;
ww. 本报告引用的其他资料、采用的开发标准或开发规范。】
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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,以及保密级别,可包括:
xx. 用户操作手册;
yy. 与本项目有关的其他文档。】
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.报告人【填写“软件问题报告”人员的姓名、地址、电话。】
7.问题属于什么方面【区分是程序的问题,还是模块的问题,或是数据库的问题,文件的问题。也可能是它们的某种组合。】
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.资源【完成修改所需资源的估计,即总的人时数和计算机时间的开销。】