一、软件需求说明书
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料2
2任务概述2
2.1目标2
2.2用户的特点3
2.3假定和约束3
3需求规定3
3.1对功能的规定3
3.2对性能的规定3
3.2.1精度3
3.2.2时间特性要求3
3.2.3灵活性4
3.3输人输出要求4
3.4数据管理能力要求4
3.5故障处理要求4
3.6其他专门要求5
4运行环境规定5
4.1设备5
4.2支持软件5
4.3接口5
4.4控制5
软件需求说明书的编写提示
1引言
1.1编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
1.2背景
说明:
a.待开发的软件系统的名称;
b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
c.该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出用得着的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2任务概述
2.1目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
2.2用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
2.3假定和约束
列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
3需求规定
3.1对功能的规定
用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
3.2对性能的规定
3.2.1精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a.响应时间;
b.更新处理时间;
c.数据的转换和传送时间;
d.解题时间;等的要求。
3.2.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口的变化;
d.精度和有效时限的变化;
e.计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.3输人输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
3.5故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.6其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
a.处理器型号及内存容量;
b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
c.输入及输出设备的型号和数量,联机或脱机;
d.数据通信设备的型号和数量;
e.功能键及其他专用硬件
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
4.3接口
说明该软件同其他软件之间的接口、数据通信协议等。
4.4控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
二、概要设计说明书
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料2
2总体设计2
2.1需求规定2
2.2运行环境2
2.3基本设计概念和处理流程3
2.4结构3
2.5功能器求与程序的关系3
2.6人工处理过程3
2.7尚未问决的问题3
3接口设计3
3.1用户接口3
3.2外部接口3
3.3内部接口4
4运行设计4
4.1运行模块组合4
4.2运行控制4
4.3运行时间4
5系统数据结构设计4
5.1逻辑结构设计要点4
5.2物理结构设计要点4
5.3数据结构与程序的关系4
6系统出错处理设计5
6.1出错信息5
6.2补救措施5
6.3系统维护设计5
概要设计说明书
1引言
1.1编写目的
说明编写这份概要设计说明书的目的,指出预期的读者。
1.2背景
说明:
a.待开发软件系统的名称;
b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
1.3定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出有关的参考文件,如:
a.本项目的经核准的计划任务书或合同,上级机关的批文;
b.属于本项目的其他已发表文件;
c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2总体设计
2.1需求规定
说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。
2.2运行环境
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
2.3基本设计概念和处理流程
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
2.4结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
程序1程序2……程序n
功能需求1√
功能需求2√
……
功能需求n√√
2.6人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7尚未问决的问题
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
3接口设计
3.1用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
3.2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
3.3内部接口
说明本系统之内的各个系统元素之间的接口的安排。
4运行设计
4.1运行模块组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
4.2运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
4.3运行时间
说明每种运行模块组合将占用各种资源的时间。
5系统数据结构设计
5.1逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
5.3数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式:
6系统出错处理设计
6.1出错信息
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
说明故障出现后可能采取的变通措施,包括:
a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
6.3系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式;
三、项目开发计划
1引言1
1.1编写目的1
1.2 背景1
1.3定义1
1.4参考资料1
2项目概述1
2.1工作内容1
2.2主要参加人员1
2.3产品2
2.3.1程序2
2.3.2文件2
2.3.3服务2
2.3.4非移交的产品2
2.4验收标准2
2.5完成项目的最迟期限2
2.6本计划的批准者和批准日期2
3实施计划2
3.1工作任务的分解与人员分工2
3.2接口人员3
3.3进度3
3.4预算3
3.5关键问题3
4支持条件3
4.1计算机系统支持3
4.2需由用户承担的工作3
4.3由外单位提供的条件4
5专题计划要点4
项目开发计划(GB856T——88)
1引言
1.1编写目的
说明:编写这份软件项目开发计划的目的,并指出预期的读者。
1.2 背景
说明:
a.待开发的软件系统的名称;
b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
c.该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3定义
列出本文件中用到的专门术语的定义和外文的首字母组词的原词组。
1.4参考资料
列出用得着的参考资料,如:
a.本项目的经核准的计划任务书和合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2项目概述
2.1工作内容
简要地说明在本项目的开发中须进行的各项主要工作。
2.2主要参加人员
扼要说明参加本项目开发的主要人员的情况,包括他们的技术水平。
2.3产品
2.3.1程序
列出须移交给用户的程序的名称、所用地编程语言及存储程序的媒体形式,并通过引用相关文件,逐项说明其功能和能力。
2.3.2文件
列出须移交用户的每种文件的名称及内容要点。
2.3.3服务
列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。
2.3.4非移交的产品
说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。
2.4验收标准
对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。
2.5完成项目的最迟期限
2.6本计划的批准者和批准日期
3实施计划
3.1工作任务的分解与人员分工
对于项目开发中需要完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。
3.2接口人员
说明负责接口工作的人员及他们的职责,包括:
a.负责本项目同用户的接口人员;
b.负责本项目同本单位各管理机构,如合同计划管理部门、财务部门、质量管理部门等的接口人员;
c.负责本项目同个份合同负责单位的接口人员等。
3.3进度
对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑)。
3.4预算
逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯设备和专用设备的租金等)和来源。
3.5关键问题
逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。
4支持条件
说明为支持本项目的开发所需要的各种条件和设施。
4.1计算机系统支持
逐项列出开发中和运行时所需的计算机系统支持,包括计算机、外围设备、通讯设备、模拟器、编译(或汇编)程序、操作系统、数据管理程序包、数据存储能力和测试支持能力等,逐项给出有关到货日期、使用时间的要求。
4.2需由用户承担的工作
逐项列出需要用户承担的工作和完成期限。包括需由用户提供的条件及提供时间。
4.3由外单位提供的条件
逐项列出需要外单位分合同承包者承担的工作和完成的时间,包括需要由外单位提供的条件和提供的时间。
5专题计划要点
说明本项目开发中需制定的各个专题计划(如分合同计划、开发人员培训计划、测试计划、安全保密计划、质量保证计划、配置管理计划、用户培训计划、系统安装计划等)的要点。
四、详细设计说明书
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料2
2程序系统的结构2
3程序1(标识符)设计说明2
3.1程序描述3
3.2功能3
3.3性能3
3.4输人项3
3.5输出项3
3.6算法3
3.7流程逻辑3
3.8接口3
3.9存储分配4
3.10注释设计4
3.11限制条件4
3.12测试计划4
3.13尚未解决的问题4
4程序2(标识符)设计说明4
详细设计说明书
1引言
1.1编写目的
说明编写这份详细设计说明书的目的,指出预期的读者。
1.2背景
说明:
a.待开发软件系统的名称;
b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。
1.3定义
列出本文件中用到专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出有关的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间 的层次结构关系。
3程序1(标识符)设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
3.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。
3.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
3.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
3.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
3.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
3.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
3.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
3.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
3.9存储分配
根据需要,说明本程序的存储分配。
3.10注释设计
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、范围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。
3.11限制条件
说明本程序运行中所受到的限制条件。
3.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
3.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
4程序2(标识符)设计说明
用类似F.3的方式,说明第2个程序乃至第N个程序的设计考虑。
......