计算机软件产品开发文件编制指南 GB 8567-88

                             9 软件需求说明书
   软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
  9.1引言   9.1.1编写目的
  9.1.2背景
  9.1.3定义
  9.1.4参考资料
  9.2任务概述
  9.2.1目标
  9.2.2、用户的特点
  9.2.3假定与约束
  9.3需求规定
  9.3.1对功能的规定
  9.3.2对性能的规定
  9.3.2.1精度
  9.3.2.2时间特性耍求
  9.3.2.3灵活性
  9.3.3输入输出要求
  9.3.4数据管理能力要求
  9.3.5故障处理要求
  9.3.6其他专门要求
  9.4运行环境规定
  9.4.1设备
  9.4.2支持软件
  9.4.3接口
  9.4.4控制

                                   附录C
                          软件需求说明书的编写提示
                                 (参考件)
C.1引言
 C.1.1编写目的

   说明编写这份软件需求说明书的目的,指出预期的读者。
 C.1.2背景
    说明:
    a.待开发的软件系统的名称;
    b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
    C.该软件系统同其他系统或其他机构的基本的相互来往关系。
 C.1.3定义
    列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
 C.1.4参考资料
    列出用得着的参考资料,如:
    a.本项目的经核准的计划任务书或合同、上级机关的批文;
    b.属于本项目的其他已发表的文件;
    c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
C.2任务概述
 C.2.1目标

   叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
 C.2.2用户的特点
   列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
 C.2.3假定和约束
   列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
 C.3需求规定
  C.3.1对功能的规定

    用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
  C.3.2对性能的规定
  C.3.2.1精度
    说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
  C.3.2.2时间特性要求
   说明对于该软件的时间特性要求,如对:
   a.响应时间;
   b.更新处理时间;
   c.数据的转换和传送时间;
   d.解题时间; 等的要求。
  C.3.2.3灵活性
   说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
   a.操作方式上的变化;
   b.运行环境的变化;
   c.同其他软件的接口的变化;
   d.精度和有效时限的变化;
   e.计划的变化或改进。
   对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
 C.3.3输人输出要求
   解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
 C.3.4数据管理能力要求
   说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
 C.3.5故障处理要求
   列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
 C.3.6其他专门要求
   如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
 C.4运行环境规定
 C.4.1设备
  列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
  a.处理器型号及内存容量;
  b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
  c.输入及输出设备的型号和数量,联机或脱机;
  d.数据通信设备的型号和数量;
  e.功能键及其他专用硬件
 C.4.2支持软件
  列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
 C.4.3 接口
  说明该软件同其他软件之间的接口、数据通信协议等。
 C.4.4控制
  说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
                                    附录D
                           数据要求说明书的编写提示
                                 (参考件)
D.1引言
 D.1.1编写目的
   说明编写这份数据要求说明书的目的,指出预期的读者。
 D.1.2背景
   说明:
   a.待开发软件系统的名称;
   b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的计算站(中心)或计算机网络系统。 
 D.1.3定义
   列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
 D.1.4参考资料
   列出有关的参考资料,如:
   a.本项目的经核准的计划任务书或合同,上级机关的批文;
   b.属于本项目的其他已发表文件;
   c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位。说明能够得到这些文件资料的来源。
D.2数据的逻辑描述
  对数据进行逻辑描述时可把数据分为动态数据和静态数据。所谓静态数据,指在运行过程中主要作 为参考的数据,它们在很长的一段时间内不会变化,一般不随运行而改变。所谓动态数据.包括所有在运 行中要发生变化的数据以及在运行中要输入、输出的数据。进行描述时应把各数据元素逻辑地分成若干 组,列如函数、源数据或对于其应用更为恰当的逻辑分组。给出每一数据元的名称(包括缩写和代码)、定 义(或物理意义)度量单位、值域、格式和类型等有关信息。
 D.2.1静态数据
   列出所有作为控制或参考用的静态数据元素。
 D.2.2动态输人数据
   列出动态输入数据元素(包括在常规运行中或联机操作中要改变的数据)。
 D.2.3动态输出数据
   列出动态输出数据元素(包括在常规运行中或联机操作中要改变的数据)。
 D.2.4内部生成数据
   列出向用户或开发单位中的维护调试人员提供的内部生成数据。
 D.2.5数据约定
   说明对数据要求的制约。逐条列出对进一步扩充或使用方面的考虑而提出的对数据要求的限制(容 量、文卷、记录和数据元的个数的最大值)。对于在设计和开发中确定是临界性的限制更要明确指出。
D.3.数据的采集
  D.3.1要求和范围
   按数据元的逻辑分组来说明数据采集的要求和范围,指明数据的采集方法,说明数据采集工作的承担者是用户还是开发者。具体的内容包括:
   a.输入数据的来源,例如是单个操作员、数据输入站,专业的数据输入公司或它们的一个分组;
   b.数据输入(指把数据输入处理系统内部)所用的媒体和硬设备。如果只有指定的输入点的输入才是合法的,则必须对此加以说明;
   c.接受者说明输出数据的接受者;
   d.输出数据的形式和设备列出输出数据的形式和硬设备。无论接受者将接收到的数据是打印输出,还是CRT上的一组字符、一帧图形,或一声警铃,或向开关线圈提供的一个电脉冲,或常用介质如磁盘、磁带、穿孔卡片等,均应具体说明;
   e.数据值的范围给出每一个数据元的合法值的范围;
   f.量纲给出数字的度量单位、增量的步长、零点的定标等。在数据是非数字量的情况下,要给出每一种合法值的形式和含意;
   g.更新和处理的频度给出预定的对输入数据的更新和处理的频度。如果数据的输入是随机的,应给出更新处理的频度的平均值,或变化情况的某种其他度量。
 D.3.2输人的承担者
  说明预定的对数据输入工作的承担者。如果输入数据同某一接口软件有关,还应说明该接口软件的来源。 
 D.3.3预处理
   对数据的采集和预处理过程提出专门的规定,包括适合应用的数据格式、预定的数据通信媒体和对输入的时间要求等。对于需经模拟转换或数字转换处理的数据量,要给出转换方法和转换因子等有关信息,以便软件系统使用这些数据。
 D.3.4 影响
   说明这些数据要求对于设备、软件、用户、开发单位所可能产生的影响,例如要求用户单位增设某个机构等。