前言:
不同颜色代表不同的文档,本文阐述了软件开发过程中十二个必要文档的书写格式与规范,喜欢的话可以点个收藏转发。
软件文档编写指南
目录
封面格式
系统规约说明书(System Specification)
一.引言
A. 文档的范围和目的
B. 概述
1.目标
2.约束
二.功能和数据描述
A. 系统结构
1.结构关系图
2.结构关系图描述
三.子系统描述
A. 子系统 N 的结构图规约说明
B. 结构字典
C. 结构连接图和说明
四.系统建模和模拟结构
A. 用于模拟的系统模型
B. 模拟结果
C. 特殊性能
五.软件项目问题
A. 软件项目可行性研究报告
B. 软件项目计划
六.附录
软件项目可行性研究报告
一.引言
1.编写目的(阐明编写可行性研究报告的目的,指出读者对象)
2.项目背景(应包括:(1)所建议开发的软件名称;(2)项目的任务提出者、开发者、
用户及实现单位;(3)项目与其他软件或其他系统的关系。)
3.定义(列出文档中用到的专门术语的定义和缩略词的原文。)
4.参考资料(列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。)
二.可行性研究的前提
1. 要求(列出并说明建议开发软件的基本要求,如(1)功能;(2)性能;(3)输出;(4)输入;(5)基本的数据流程和处理流程;(6)安全与保密要求;(7)与软件相关的其他系统;(8)完成期限。)
2. 目标(可包括:(1)人力与设备费用的节省;(2)处理速度的提高;(3)控制精度和生产能力的提高;(4)管理信息服务的改进;(5)决策系统的改进;(6)人员工作效率的提高,等等。)
3. 条件、假定和限制(可包括:(1)建议开发软件运行的最短寿命;(2)进行系统方案选择比较的期限;(3)经费来源和使用限制;(4)法律和政策方面的限制;(5)硬件、软件、运行环境和开发环境的条件和限制;(6)可利用的信息和资源;(7)建议开发软件投入使用的最迟时间。)
4. 可行性研究方法
5. 决定可行性的主要因素
三.对现有系统的分析
1.处理流程和数据流程
2.工作负荷
3.费用支出(如人力、设备、空间、支持性服务、材料等项开支。)
4.人员(列出所需人员的专业技术类别和数量。)
5.设备
6.局限性(说明现有系统存在的问题以及为什么需要开发新的系统。)
四.所建议技术可行性分析
1.对系统的简要描述
2.处理流程和数据流程
3.与现有系统比较的优越性
4.采用建议系统可能带来的影响
(1)对设备的影响
(2)对现有软件的影响
(3)对用户的影响
(4)对系统运行的影响
(5)对开发环境的影响
(6)对运行环境的影响
(7)对经费支出的影响
5.技术可行性评价(包括:(1)在限制条件下,功能目标是否能够达到;(2)利用现有软件文档编写指南技术,功能目标能否达到;(3)对开发人员数量和质量的要求,并说明能否满足;(4)在规定的期限内,开发能否完成。)
五.所建议系统经济可行性分析
1.指出
(1)基建投资
(2)其他一次性支出
(3)经常性支出
2.效益
(1)一次性收益
(2)经常性收益
(3)不可定量收益
3.收益/投资比
4.投资回收周期
5.敏感性分析(指一些关键性因素,如:系统生存周期长短、系统工作负荷量、处理速
度要求、设备和软件配置变化对支出和效益的影响等的分析。)
六.社会因素可行性分析
1.法律因素(如,合同责任、侵犯专利权、侵犯版权等问题的分析。)
2.用户使用可行性(如,用户单位的行政管理、工作制度、人员素质等能否满足要求。)
七.其他可供选择的方案(逐个阐明其他可供选择的方案,并重点说明未被推荐的理由。)
八.结论意见(可能是:(1)可着手组织开发;(2)需待若干条件(如资金、人力设备等)具备后才能开发;(3)需对开发目标进行某些修改;(4)不能进行或不必进行(如技术不成熟,经济上不合算等);(4)其他。)
软件项目计划(Software Project Plan)
一.引言
1.编写目的(阐明编写软件计划的目的,指出读者对象。)
2.项目背景(可包括:(1)项目委托单位、开发单位和主管部门;(2)该软件系统与其
他系统的关系。)
3.定义(列出本文档中用到的专门术语的定义和缩略词的原文。)
4.参考资料(可包括:(1)项目经核准的计划任务书、合同或上级机关的批文;(2)文
档所引用的资料、规范等;列出资料的作者、标题、编号、发表日期、出版单位或资
料来源。)
二.项目概述
1. 工作内容(简要说明项目的各项主要工作,介绍所开发软件的功能 性能等. 若不编写可
行性研究报告,则应在本节给出较详细的介绍。)
2. 条件与限制(阐明为完成项目应具备的条件 开发单位已具备的条件以及尚需创造的条
件. 必要时还应说明用户及分合同承包者承担的工作 完成期限及其它条件与限制。)
3. 产品
(1)程序(列出应交付的程序名称 使用的语言及存储形式。)
(2)文档(列出应交付的文档。)
(3)运行环境(应包括硬件环境 软件环境。)
4.服务(阐明开发单位可向用户提供的服务. 如人员培训 安装 保修 维护和其他运行支
持。)
5.验收标准
三.实施计划
1.任务分解(任务的划分及各项任务的负责人。)
2.进度(按阶段完成的项目,用图表说明开始时间 完成时间。)
3.预算
4.关键问题(说明可能影响项目的关键问题,如设备条件 技术难点或其他风险因素,并说
明对策。)
四.人员组织及分工
五.交付期限
六.专题计划要点(如测试计划 质量保证计划 配置管理计划 人员培训计划 系统安装计划
等。)
需求规格说明书(Requirements Specification)
一.引言
1. 编写目的(阐明编写需求说明书的目的,指明读者对象。)
2. 项目背景(可包括:(1)项目的委托单位,开发单位和主管部门;(2)该软件系统与其
他系统的关系。)
3. 定义(列出文档中用到的专门术语定义和缩写词的原文。)
4. 参考资料(可包括:(1)项目经核准的计划任务书,合同或上机机关的批文;(2)项目
开发计划;(3)文档所引用的资料,标准和规范。列出这些资料的作者、标题、编号、
发表日期、出版单位或资料来源。)
二.任务概述
1.目标
2.运行环境
3.条件与限制
三.数据描述
1. 静态数据
2. 动态数据(包括输入数据和输出数据。)
3. 数据库描述(给出使用数据库的名称和类型。)
4. 数据词典
5. 数据采集
四.功能需求
1.功能划分
2.功能描述
五.性能需求
1.数据精确度
2.时间特性(如响应时间、更新处理时间、数据转化与传输时间、运行时间等。)
3.适应性(在操作方式 运行环境 与其他软件的接口以及开发计划等发生变化时,应具
有的适应能力。)
六.运行需求
1.用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等。)
2.硬件接口
3.软件接口
4.故障处理
七.其他需求(如可使用性、安全保密、可维护性、可移植性等。)
概要设计说明书(Architectural Design Specification)
一.引言
1.编写目的(阐明编写概要设计说明书的目的,指明读者对象。)
2.项目背景(可包括:(1)项目的委托单位,开发单位和主管部门;(2)该软件系统与其
他系统的关系。)
3.定义(列出文档中用到的专门术语定义和缩写词的原意。)
4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目经核准的计划任务书,合同或上机机关的批文;(2)项目开发计划;
(3)需求规格说明书;(4)测试计划(初稿);(5)用户操作手册(初稿);(6)文档
所引用的资料、采用的标准或规范。)
二.任务概述
1.目标
2.运行环境
3.需求概述
4.条件与限制
三.总体设计
1.处理流程
2.总体结构和模块外部设计
3.功能分配(表明各项功能与程序结构的关系。)
四.接口设计
1.外部接口(包括用户界面 软件接口与硬件接口。)
2.内部接口(模块之间的接口。)
五.数据结构设计
1. 逻辑结构设计
2. 物理结构设计
3. 数据结构与程序的关系
六.运行设计
1.运行模块的组合
2.运行控制
3.运行时间
七.出错处理设计
1.出错输出信息
2.出错处理对策(如设置后备、性能降级、恢复及再启动等。)
八.安全保密设计
九.维护设计(说明为方便维护工作的设施,如维护模块等。)
详细设计说明书(Procedural Design Specification)
一.引言
1. 编写目的(阐明编写详细设计说明书的目的,指明读者对象。)
2. 项目背景(应包括项目的来源和主管部门等。)
3. 定义(列出文档中用到的专门术语定义和缩写词的原意。)
4. 参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明书;
(3)概要设计说明书;(4)测试计划(初稿);(5)用户操作手册(初稿);(5)文档所
引用的其他资料、软件开发标准或规范。)
二.总体设计
1.需求概述
2.软件结构(如给出软件系统的结果图。)
三.程序描述(逐个模块给出以下的说明::)
1.功能
2.性能
3.输入项目
4.输出项目
5.算法(模块所选用的算法。)
6.程序逻辑(详细描述模块实现的算法,可采用::(1)标准流程图;(2)PDL 语言;(3)N-S 图;(4)PAD;(5)判定表等描述算法的图表。)
7.接口
8.存储分配
9.限制条件
10. 测试要点(给出测试模块的主要测试要求。)
用户操作手册(User Guide)
一.引言
1.编写目的(阐明编写手册的目的,指明读者对象。)
2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。)
3.定义(列出手册中用到的专门术语定义和缩写词的原意。)
4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明书;
(4)概要设计说明书;(5)详细设计说明书;(6)测试计划;(7)手册中引用的其他
资料、采用的软件工程标准或软件工程规范。)
二.软件概述
1.目标
2.功能
3.性能
(1)数据精确度(包括输入、输出及处理数据的精度。)
(2)时间特性(如响应时间、处理时间、数据传输时间等。)
(3)灵活性(在操作方式、运行环境需做某些变更时软件的适应能力。)
三.运行环境
1.硬件(列出软件系统运行时所需的硬件最小配置,如:(1)计算机型号、主存容量;
(2)外存储器、媒体、记录格式、设备型号及数量;(3)输入、输出设备;(4)数据
传输设备及数据转换设备的型号及数量。)
2.支持软件(如:(1)操作系统名称及版本号;(2)语言编译系统或汇编系统的名称及
版本号;(3)数据库管理系统的名称及版本号;(4)其他必要的支持软件。)
四.使用说明
1.安装和初始化(给出程序的存储形式、操作命令、反馈信息及其含义、表明安装完成
的测试实例以及安装所需的软件工具等。)
2.输入(给出输入数据或参数的要求。)
(1)数据背景(说明数据来源、存储媒体、出现频度、限制和质量管理等。)
(2)数据格式(如:(1)长度(2)格式基准(3)标号(4)顺序(5)分隔符(6)
词汇表(7)省略和重复(8)控制。)
(3)输入举例
3.输出(给出每项输出数据的说明。)
(1)数据背景(说明输出数据的去向、使用频度、存放媒体及质量管理等。)
(2)数据格式(详细阐明每一输出数据的格式,如:首部 主体和尾部的具体形式。)
(3)举例
3.出错和恢复(给出:(1)出错信息及其含义(2)用户应采取的措施,如修改、恢复、
再启动。)
4.求助查询(说明如何操作。)
五.运行说明
1. 运行表 [列出每种可能的运行情况,说明其运行目的.]
2. 运行步骤 [按顺序说明每种运行的步骤,应包括:]
软件文档编写指南
(1) 运行控制
(2) 操作信息((1)运行目的(2)操作要求(3)启动方法(4)预计运行时间(5)
操作命令格式及说明(6)其他事项。)
(3) 输入/输出文件(给出建立和更新文件的有关信息,如:(1)文件的名称及编
号(2)记录媒体(3)存留的目录(4)文件的支配[说明确定保留文件或废弃
文件的准则,分发文件的对象,占用硬件的优先级及保密控制等。)
(4) 启动或恢复过程
六.非常规过程(提供应急或非常规操作的必要信息及操作步骤,如出错处理操作、向后备
系统切换操作以及维护人员须知的操作和注意事项。)
七.操作命令一览表
(按字母顺序逐个列出全部操作命令的格式 功能及参数说明。)
八.程序文件(或命令文件)和数据文件一览表(按文件名字母顺序或按功能与模块分类顺
序逐个列出文件名称、标识符及说明。)
九.用户操作举例
测试计划(Test Plan)
一、引言
1. 编写目的(阐明编写测试计划的目的,指明读者对象。)
2. 项目背景(说明项目的来源 委托单位及主管部门。)
3. 定义(列出测试计划中用到的专门术语定义和缩写词的原意。)
4. 参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明
书;(3)概要设计说明书;(4)详细设计说明书;(5)用户操作手册; g 本测试计划中
引用的其他资料 采用的软件开发标准或规范。)
二.任务概述
1.目标
2.运行环境
3.需求概述
4.条件与限制
三.计划
1.测试方案(说明确定测试方法和选取测试用例的原则。)
2.测试项目(列出组装测试和确认测试中每一项测试的内容、名称、目的和进度。)
3.测试准备
4.测试机构及人员(测试机构名称 负责人和职责。)
四.测试项目说明(按顺序逐个对测试项目做出说明:)
1.测试项目名称及测试内容
2.测试用例
(1)输入(输入的数据和输入的命令。)
(2)输出(预期的输出数据。)
(3)步骤及操作
(4)允许偏差(给出实测结果与预测结果之间允许偏差的范围。)
3. 进度
4. 条件(给出项测试对资源的特殊要求,如设备、软件、人员等。)
5. 测试资料(说明项测试所需的资料。)
五.评价
1.范围(说明所完成的各项测试说明问题的范围及其局限性。)
2.准则(说明评价测试结果的准则。)
测试分析报告(Test Specification)
一.引言
1.编写目的(阐明编写测试分析报告的目的,指明读者对象。)
2.项目背景(说明项目的来源、委托单位及主管部门。)
3.定义(列出测试分析报告中用到的专门术语定义和缩写词的原意。)
4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明
书;(4)概要设计说明书;(5)详细设计说明书;(6)用户操作手册;(7)测试计划;
(8)测试分析报告所引用的其他资料、采用的软件工程标准或软件工程规范。)
二.测试计划执行情况
1.测试项目(列出每一测试项目的名称、内容和目的。)
2.测试机构和人员(给出测试机构名称、负责人和参与测试人员名单。)
3.测试结果(按顺序给出每一测试项目的:(1)实测结果数据(2)与预期结果数据的偏
差(3)该项测试说明的事实(4)该项测试发现的问题。)
三.软件需求测试结论(按顺序给出每一项需求测试的结论。包括:(1)证实的软件能力(2)
局限性(即项需求未得到充分测试的情况及原因)。)
四.评价
1.软件能力(经过测试所表明的软件能力。)
2.缺陷和限制(说明测试所揭露的软件缺陷和不足,以及可能给软件运行带来的影响。)
3.建议(提出为弥补上述缺陷的建议。)
4.测试结论(说明能否通过。)
开发进度月报
一.报告时间及所处的开发阶段
二.给出进度
1. 本月内的主要活动
2. 实际进展与计划比较
三.所用工时(按不同层次人员分别计时。)
四.所有机时(按所有计算机机型分别计时。)
五.经费支出(分类列出本月经费支出项目,给出支出总额,并与计划比较。)
六.工作遇到的问题及采取的对策
七.本月完成的成果
八.下月的工作计划
九.特殊问题
项目开发总结报告
一.引言
1.编写目的(阐明编写总结报告的目的,指明读者对象。)
2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。)
3.定义(列出报告中用到的专门术语定义和缩写词的原意。)
4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可
包括:(1)项目的计划任务书,合同或批文;(2)项目开发计划;(3)需求规格说明
书;(4)概要设计说明书;(5)详细设计说明书;(6)用户操作手册;(7)测试计划;
(8)测试分析报告(9)本报告引用的其他资料、采用的开发标准或开发规范。)
二.开发结果
1. 产品(可包括:(1)列出各部分的程序名称、源程序行数(包括注释行)或目标程序
字节数及程序总计数量、存储形式;产品文档名称等。)
2. 主要功能及性能
3. 所用工时(按人员的不同层次分别计时。)
4. 所用机时(按所用计算机机型分别计时。)
5. 进度(给出计划进度与实际进度的对比。)
6. 费用
三.评价
1.生产率评价(如平均每人每月生产的源程序行数、文档的字数等。)
2.技术方案评价
3.产品质量评价
四.经验与教训
软件修改报告
一.登记号(由软件配置管理部门为该报告规定的编号。)
二.登记日期(软件配置管理部门登记”软件修改报告”的日期。)
三.时间(准备好”软件修改报告”的日期。)
四.报告人(填写该报告的作者。)
五.子系统名(受修改影响的子系统名。)
六.模块名(被修改的模块名。)
七.“软件问题报告”的编号(被”软件修改报告”处理或部分处理的”软件问题报告”的编号。)
八.修改(包括程序修改、文件更新、数