软件需求说明书(转载自国家计算机标准和文件模板)

  软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
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章 基本的软件需求 1 1.1 软件需求的定义 2 1.1.1 一些关于“需求”的解释 2 1.1.2 需求的层次 3 1.2 每个项目都有需求 4 1.3 什么情况将会导致好的群体发生不合格 的需求说明 5 1.4 高质量的需求过程带来的好处 7 1.5 优秀需求具有的特性 7 1.5.1 需求说明的特征 7 1.5.2 需求规格说明的特点 8 1.6 需求的开发和管理 9 第2章 客户的需求观 11 2.1 谁是客户 12 2.2 客户与开发人员之间的合作关系 12 2.2.1 软件客户需求权利书 13 2.2.2 软件客户需求义务书 15 2..3 “签约”意味着什么 17 第3章 需求工程的推荐方法 18 3.1 知识技能 19 3.2 需求获取 20 3.3 需求分析 21 3.4 需求规格说明 22 3.5 需求验证 23 3.6 需求管理 23 3.7 项目管理 24 第4章 改进需求过程 26 4.1 需求与其他项目过程的联系 26 4.2 软件需求对其他项目风险承担者的影响 27 4.3 软件过程改进的基础 28 4.4 过程改进周期 29 4.4.1 评估当前采用的方法 29 4.4.2 制定改进活动计划 30 4.4.3 建立、实验和实施新的过程 31 4.4.4 评估结果 32 4.5 需求过程的积累材料 33 4.5.1 需求开发过程的积累材料 34 4.5.2 需求管理过程的积累材料 34 4.6 需求过程改进路标 35 第5章 软件需求与风险管理 37 5.1 软件风险管理基础 38 5.1.1 风险管理的要素 38 5.1.2 编写项目风险文档 39 5.1.3 制定风险管理计划 40 5.2 与需求有关的风险 41 5.2.1 需求获取 41 5.2.2 需求分析 42 5.2.3 需求规格说明 42 5.2.4 需求验证 43 5.2.5 需求管理 43 5.3 风险管理是你的好助手 43 第二部分 软件需求工程 第6章 建立项目视图与范围 45 6.1 通过业务需求确定项目视图 45 6.2 项目视图和范围的文档 46 6.3 关联图 50 6.4 把注意力始终集中在项目的范围上 51 第7章 寻找客户的需求 52 7.1 需求的来源 52 7.2 用户类 53 7.3 寻找用户代 54 7.4 产品的代者 55 7.4.1 寻求产品者 56 7.4.2 产品者的期望 56 7.4.3 多个产品者 57 7.5 谁作出决策 58 第8章 聆听客户的需求 60 8.1 需求获取的指导方针 60 8.2 基于使用实例的方法 62 8.2.1 使用实例和用法说明 62 8.2.2 确定使用实例并编写使用实例文档 64 8.2.3 使用实例和功能需求 67 8.2.4 使用实例的益处 67 8.2.5 避免使用实例陷阱 68 8.3 对客户输入进行分类 69 8.4 需求获取中的注意事项 70 8.5 如何知道你何时完成需求的获取 71 第9章 编写需求文档 72 9.1 软件需求规格说明 72 9.1.1 标识需求 73 9.1.2 处理不完整性 74 9.1.3 用户界面和软件需求规格说明 74 9.2 软件需求规格说明模板 75 9.3 编写需求文档的原则 79 9.4 需求示例的改进前后 81 9.5 数据字典 83 第10章 需求的图形化分析 85 10.1 需求建模 85 10.2 从客户需求到分析模型 86 10.3 数据流图 87 10.4 实体联系图 88 10.5 状态转换图 90 10.6 对话图 92 10.7 类图 94 10.8 最后的提醒 96 第11章 软件的质量属性 97 11.1 非功能需求 97 11.2 质量属性 97 11.3 定义质量属性 98 11.3.1 对用户重要的属性 99 11.3.2 对开发者重要的属性 100 11.4 属性的取舍 101 第12章 通过原型法减少项目风险 103 12.1 原型是“什么”和“为什么”要原型 103 12.2 水平和垂直的原型 103 12.3 抛弃型原型或进化型原型 104 12.4 书面原型和电子原型 106 12.5 原型评价 107 12.6 原型法的最大风险 108 12.7 原型法成功的因素 108 第13章 设定需求优先级 110 13.1 为什么要设定需求的优先级 110 13.2 不同角色的人处理优先级 111 13.3 设定优先级的规模 111 13.4 基于价值、费用和风险的优先级设定 112 第14章 需求质量验证 116 14.1 需求评审 117 14.1.1 审查过程 118 14.1.2 需求评审的困难 122 14.2 测试需求 124 第15章 需求开发向设计规划的转化 128 15.1 从需求项目规划 128 15.1.1 需求和进度安排 128 15.1.2 需求和预估 129 15.2 从需求到设计和编码 130 15.3 从需求到测试 131 15.4 从需求到成功 131 第三部分 软件需求管理 第16章 需求管理的原则与实现 133 16.1 需求管理和过程能力成熟度模型 133 16.2 需求管理步骤 135 16.3 需求规格说明的版本控制 135 16.4 需求属性 136 16.5 度量需求管理的效果 138 第17章 管理变更请求 139 17.1 控制项目范围的扩展 139 17.2 变更控制过程 140 17.2.1 变更控制策略 140 17.2.2 变更控制步骤 141 17.2.3 变更控制工具 144 17.3 变更控制委员会 145 17.3.1 变更控制委员会的组成 145 17.3.2 变更控制委员会总则 145 17.4 测量变更活动 146 第18章 需求链中的联系链 149 18.1 需求跟踪 149 18.1.1 需求跟踪动机 151 18.1.2 需求跟踪能力矩阵 151 18.1.3 需求跟踪能力工具 153 18.1.4 需求跟踪能力过程 153 18.1.5 需求跟踪能力可行吗,必要吗? 154 18.2 变更需求代价:影响分析 154 18.2.1 影响分析过程 155 18.2.2 影响分析报告模板 157 第19章 需求管理工具 158 19.1 使用需求管理工具的益处 159 19.2 商业需求管理工具 160 19.3 实现需求管理自动化 161 附录 当前需求实践的自我评估 163 参考文献 167 后记 171
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值