软件开发设计文档规范.docx
《软件开发设计文档规范.docx》由会员分享,可在线阅读,更多相关《软件开发设计文档规范.docx(20页珍藏版)》请在冰点文库上搜索。
软件开发设计文档规范
软件开发文档封面格式
文档编号_____________
版本号_____________
文档名称:
____________________
项目名称:
____________________
项目负责人:
____________________
编写___________________年__月__日
校对___________________年__月__日
审核___________________年__月__日
批准___________________年__月__日
开发单位_____________________________________________
一、可行性分析报告
1.引言
1.1编写目的【阐明编写本报告的目的。
】
1.2项目背景【包括:
a.开发软件的名称;b.任务的提出者、开发者及用户;c.本项目与其它软件或系统的关系。
】
1.3定义【列出本文档中用到的专门术语的定义和缩写词的原文。
】
1.4参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
a.本项目经核准的计划任务书、合同或上级机关的批文;b.与本项目有关的已发表的资料;c.本文档中所引用的资料和所采用的软件标准或规范。
】
2.可行性研究的前提
2.1要求【列出并说明建议开发软件的基本要求,如a.功能;b.性能;c.输出;d.输入;e.基本的数据流程和处理流程;f.安全与保密要求;g.与本软件相关的其它系统;h.完成期限。
】
2.2目标【可包括,a.人力与设备费用的节省;b.处理速度的提高;c.控制精度或生产能力的提高;d.管理信息服务的改进;e.决策系统的改进;f.人员工作效率的提高等。
】
2.3条件、假定和限制【可包括,a.建议开发软件的最短寿命;b.进行系统方案选择比较的期限;c.经费来源和使用限制;d.法律和政策方面的限制;e.硬件、软件、运行环境和开发环境的条件和限制;f.可利用的信息和资源;g.建议开发软件投入使用的最迟时间。
】
2.4可行性研究方法
2.5决定可行性的主要因素
3.对现有系统的分析
3.1处理流程和数据流程
3.2工作负荷
3.3费用支出【如人力、设备、空间、支持性服务、材料等项目开支】
3.4人员【列出所需人员的专业技术类别和数量】
3.5设备
3.6局限性【说明现有系统存在的问题以及为什么需要开发新的系统。
】
4.新系统技术可行性分析
4.1对系统的简要描述
4.2处理流程和数据流程
4.3与现有系统比较的优越性
4.4采用新系统可能带来的影响
4.4.1对设备的影响
4.4.2对现有软件的影响
4.4.3对用户的影响
4.4.4对系统运行的影响
4.4.5对开发环境的影响
4.4.6对运行环境的影响
4.4.7对经费支出的影响
4.5技术可行性评价【包括,a.在限制条件下,功能目标是否能达到;b.利用现有技术,功能目标能否达到;c.对开发人员数量和质量的要求,并说明能否满足;d.在规定的期限内,开发能否完成。
】
5.新系统经济可行性分析
5.1支出
5.1.1基建投资
5.1.2其它一次性支出
5.1.3经常性支出
5.2效益
5.2.1一次性效益
5.2.2经常性效益
5.2.3不可定量收益
5.3收益/投资比
5.4投资回收周期
5.5敏感性分析【敏感性分析是指一些关键性因素,如:
系统生存周期长短、系统工作负荷量、处理速度要求、设备和软件配置变化对支出和效益的影响等分析。
】
6.社会因素可行性分析
6.1法律因素【如合同责任、侵犯版权等问题的分析】
6.2用户使用可行性【如用户单位的行政管理、工作制度、人员素质等能否满足要求。
】
7.其它可供选择的方案【逐个阐明其它可供选择的方案,并重点说明未被推荐的理由】
8.结论意见【结论意见可能是:
a.可着手组织开发;b.需待条件(如资金、人力、设备等)具备后才能开发;c.需对开发目标进行某些修改;d.不能进行或不必进行(如技术不成熟,经济上不合算等);e.其它。
】
二、项目开发计划
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项目背景【包括:
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.用户操作手册(初稿);g.本文档中所引用的资料、标准和规范。
】
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.测试计划(初稿);g.本文档中所引用的资料、标准和规范。
】
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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
a.本项目经核准的计划任务书、合同或上级机关的批文;b.项目开发计划;c.需求分析说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g.本测试计划中所引用的资料、标准和规范。
】
2.任务概述
2.1目标
2.2运行环境
2.3需求概述
2.4条件与限制
3.计划
3.1测试方案
3.2测试项目【列出组装测试和确认测试中每一项测试的内容、名称、目的和进度。
】
3.3测试机构及人员【测试机构名称、负责人和职责。
】
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参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:
a.本项目经核准的计划任务书、合同或上级机关的批文;b.项目开发计划;c.需求分析说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g.测试计划;h.本报告中所引用的资料、标准和规范。
】
2.测试计划执行情况
2.1测试项目【列出每一测试项目的名称、内容和目的。
】
2.2测试机构和人员【给出测试机构名称、负责人和参与测试人员名单。
】
2.3测试结果【按顺序给出每一测试项目目的:
a.实测结果数据;b.与预期结果数据的偏差;c.该项测试表明的事实;d.该项测试发现的问题。
】
2.4软件需求测试结论【按顺序给出每一需求测试的结论。
包括:
a.证实的软件能力;b.局限性(即本项需求未到充分测试的情况和原因)。
】
3.评价
3.1软件能力【经过测试所表明的软件能力】
3.2缺陷和限制【说明测试所揭露的软件缺陷和不足,以及可能给软件运行带来的影响。
】
3.3建议【提出为弥补上述缺陷的建议。
】
3.4测试结论【说明能否通过。
】
4.测试项目说明【按顺序逐个对测试项目作出说明:
】
九、开发进度月报
1.报告时间及所处的开发阶段
2.工程进度
2.1本月内的主要活动
2.2实际进展与计划比较
3.所用工时【按不同层次人员分别计时。
】
4.所用机时【按所用计算机机型分别计时。
】
5.工作中遇到的问题及采取的对策
6.本月完成的成果
7.下月的工作计划
8.特殊问题
十、项目开发总结报告
1.引言
1.1编写目的【阐明编写本报告的目的。
】
1.2项目背景【说明项目来源、委托单位、开发单位和主管部门。
】
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.报告人【填写“软件问题报告”人员的姓名、地址、电话。
】
7.问题属于什么方面【问题包括:
程序问题、模块问题、数据库问题、文件的问题或是它们的某种组合。
】
8.模块/子系统【出现问题的模块名。
如果不知是哪个模块,可标出子系统名,尽量给出细节。
】
9.修订版本号【出现问题的模块版本。
】
10.介质【包含有问题的模块的主程序库的磁盘、光盘的标识符。
】
11.数据库【当发现问题时所使用数据库的标识符。
】
12.文件号【有错误的文件编号。
】
13.测试用例【发现错误时所使用测试用例的标识符。
】
14.硬件【发现错误时所使用的计算机系统的标识符。
】
15.问题描述/影响【问题征兆的详细描述。
如果可能,则写明实际问题所在,也要给出该问题对将来测试、接口软件和其它方面的影响。
】
16.附注【记载补充信息。
】
十三、软件修改报告
1.登记号【为该报告规定的编号。
】
2.登记日期【登记该报告的日期。
】
3.时间【准备