需求说明书编写指南

来源:互联网 发布:网络电视机顶盒的安装 编辑:程序博客网 时间:2024/04/29 13:24
需求说明书编写指南

1. Objectives 目标
阐明需求说明书的标准格式,做为合同和需求分析的结果。

2. Scope 范围
2.1 适用于指2.2 导需求说明书的编写。
2.3 本模板力图覆盖所有可能在需求说明书中出现的主题。这样做的目的是并不2.4是要求每一个需求说明书都要包括这里定义的全部章节,而2.5 是提供一个所有需求说明书都应当遵循的框架。一些特殊的章节应当提供但不2.6要求有详细的说明,2.7 只需在说明书中包含下面有适当文字说明的标2.8 题即可,2.9 例如,2.10 不2.11 适用。

3. References 参考

4. Outstanding Issues 尚存主要问题

5. Approvals 批准
销售主管

6. Responsibilities 职责
客户经理有责任确认本模板被切实执行。

7. Template 模板
7.1 Lead-in sections 引导部分
7.1.1 以下是需求说明书的起始部分。在文档格式规范中有关于它们的更详细的描述。
1)Objectives目标
2)Scope范围
3)References参考
4)Assumptions前题条件
5)Outstanding Issues尚存主要问题
6)Document Control文档控制7)Approvals批准
8)Distribution分发
9)Amendment Record更改记录
10)Traceability可追溯
7.2 Component or System Description 部件或系统描述
7.2.1 本说明书所覆盖的部件或系统的简要介绍。本部分可以很简要,7.2.2 因为它仅包含帮助读者快速了解所说明内容的信息。
7.2.3 应当提供一个上下文相关图来帮助确定被描述的部件或系统的定位。使用USER-CASE图来描述。
7.2.4 参考应当做成关联文档(例如建议,7.2.5 合同,7.2.6 项目编号)。
7.3 Purchaser Requirements 客户需求
7.3.1 Summary 概要
7.3.1.1 本部分应当包括那些直接影响到客户使用本部件或系统的需求。它分为两个部分,功能和特性。
• 部件或系统的功能描述了什么可以做,例如,打印一个报表。
• 部件或系统的特性提供了那些可以描述和评价系统质量的属性。
7.3.1.2 每个段落(或段落组)应当包含一个参考来跟踪需求的出处。每个句子或段落应当编号;无论何种情况每个编号的项目仅应当定义一个需求。
7.3.1.3 每个段落(或段落组)应当指出它的重要程度,按以下方式分类:
1)强制的:最基本的特征;没有它产品将不可用。
2)必需的:单独的非基本的特征,但是它们加在一起会影响产品的能力。
3)期待的:最好能有的特征;一个或多个这些特征被忽略也不会影响产品的能力。
7.3.2 Purchaser-Related Functionality 客户要求的功能
7.3.2.1 Application Functionality 应用程序的功能
7.3.2.1.1 在系统或子系统一级,这一部分应当包含可用的应用程序所提供的功能的描述。
7.3.2.1.2 在应用程序一级,这一部分细化应用程序必须做到的功能。
7.3.2.1.3 功能应当用结构化的英语或适当的形式化的方法学来描述。
7.3.2.2 Human Interface 人机界面
7.3.2.2.1 这一部分应当定义所需的菜单结构,屏幕/窗口设计,报表设计和其它操作/或管理界面。在这一过程中,需求可能广泛地涉及已有的标准或产品。
7.3.2.2.2 参考应当指向其它的说明书和标准。
7.3.2.3 Data Types 数据类型
这一部分应当包括对系统或应用程序中对用户有用的所有数据类型的描述,包括应用程序开发工具用到的或表单,显示,报表和输出用到的。
7.3.2.4 Control Structures 控制结构
这一部分应当描述系统或应用程序的控制结构。
7.3.2.5 Application Development Environment 应用开发环境
这部分应当指定可供用户用来开发应用程序的系统部件。它应当至少包含数据类型和语言或者可用的应用程序生成器。
7.3.2.6 Hardware 硬件
这部分应当详细说明根据用户需要提出的硬件需求。
7.3.2.7 Software 软件
本节将详细说明因为用户需要所产生的软件需求。如果用户已经提供了面向系统或部件或与系统或部件合为一体的产品,那么这些应当在需求和所有设想以及需求文档中清晰的定义出来。这些需求可能包括下列各项:
1) Operating System 操作系统
2) Database 数据库
3) Communications 通信
4) Interfaces 接口
7.3.3 Purchaser-Related Characteristics 客户相关的特征
在多数情况下,用户会指定一些如下的特性。如果它们能够增强系统的能力则应当被包含进来,另一种选择是在最开始的时候就对某些特性进行限定以避免验收测试时无休止的争论。如果一些特性没有在本部分被指定,它们应当在公司需求部分被指定,举例来说很多特性关系到系统投入使用后公司的技术支持成本。
7.3.3.1 Pre-operational 运行之前
7.3.3.1.1 Packaging 包装
7.3.3.1.2 Installation 安装
7.3.3.1.3 Configuration 配置
7.3.3.2 Functionality 功能
7.3.3.2.1 Suitability 适用性
7.3.3.2.2 Accuracy 精确性
7.3.3.2.3 Interoperability 协同工作能力
7.3.3.2.4 Compliance – standards 遵循标准
7.3.3.2.5 Security 安全性
7.3.3.3 Reliability 可靠性
7.3.3.3.1 Maturity 完备性
7.3.3.3.2 Fault tolerance 容错能力
7.3.3.3.3 Recoverability 可恢复能力
7.3.3.4 Usability 可用性
7.3.3.4.1 Understandability 易懂
7.3.3.4.2 Learnability 易学
7.3.3.4.3 Operability 可操作能力
7.3.3.5 Efficiency 效率
7.3.3.5.1 Time behaviour 时间特性
7.3.3.5.2 Resource behaviour 资源特性
7.3.3.6 Maintainability 可维护性
7.3.3.6.1 Analyzability 易于分析
7.3.3.6.2 Changeabilty 可变性
7.3.3.6.3 Stability 稳定性
7.3.3.6.4 Testability 易测性
7.3.3.7 Portability 轻便
7.3.3.7.1 Adaptability 适应性
7.3.3.7.2 Installability 易安装
7.3.3.7.3 Conformance 一致性
7.3.3.7.4 Replaceability 可替换
7.3.3.8 Documentation 文件
本部分应当详细说明系统或部件必须为用户提供的文档。
7.4 Company Requirements 公司需求
2 本部分定义那些必须确认的与用户需要有冲突的系统或部件需求。所有的冲突都必须被解决,或者得到用户的让步或者满足前述的用户需要。
3 说明书中哪些是分布在公司以外的,这部分可以省略或放在一个单独的文档中。
7.4.1 Business Requirements 商业需求
7.4.1.1 Cost 开销
7.4.1.1.1 这部分应当论述与指定系统相关的开销。它可以通过参考项目详细计划来得出一个合计值放在这里。
7.4.1.1.2 这些开销应当包括所有开发费用和可能的项目支持费用。如果可能这部分还应当论述弹性的开销,以及所有削减的开销,离开这些开发将会因为没有有效的费用来完成系统而停止。
7.4.1.2 Make/Buy 制作/购买
本部分应当讨论确定是否这个系统或部件(或它们的一部分)比起开发更适于买入或再开发的标准。例如日常应用程序,缺乏经验,缺乏资源等等。
7.4.1.3 Relationship to future products 与将来产品的关系
本部分应当覆盖基于系统或部件所涉及的与尚未开发的其它产品的关系的需求。例如确认与将来产品和系统的兼容性。
7.4.1.4 Scheduled ship date 预定出货日期
本部分应当讨论项目出货日期,包括任何按计划进行的临时发布或阶段出货。本部分还应当描述与这些出货日期相关的约束和依赖关系。
7.4.1.5 Support considerations 支持考虑
本部分应当讨论系统或部件可能需要的任何特殊的或不常用的支持考虑,例如首先应当安装一个UNIX系统。
7.4.2 Company Hardware Requirements 公司硬件需求
7.4.2.1 Hardware Functionality 硬件功能
本部分应当覆盖公司明显需要的,但对用户来说是不可见的或无关的硬件功能。例如支持多操作系统所需的硬件功能,或必须支持以太网等。
7.4.2.2 Hardware Characteristics 硬件特性
本部分应当覆盖公司明显需要的,但对用户来说是不可见的或无关的硬件特性。至少应当包括硬件诊断所需要的。
7.4.3 Company Software Requirements公司软件需求
7.4.3.1 Software Functionality 软件功能
本部分应当覆盖公司所需的,但对用户来说是无关的或不需要的软件性能。例如,数据库,操作系统,通讯(远程访问),诊断。
7.4.3.2 Software Characteristics 软件特性
本部分应当覆盖公司明显需要的,但是对用户来说是不可见或无关的软件特性例如代码的可复用性,包装等。
7.5 Architecture Overview 结构概述
高层设计或结构的概述。仅在用户需要一个特殊的系统结构例如客户-服务器,或者用户把定义部分或全部的系统结构作为合同的一部分时才应包括进来。
7.6 Acceptance Criteria 验收标准
7.6.1 本部分应当详述验收标准的要点以做为需求确定后进行确认验收计划的基础。
7.6.2 需求与一些具体的合同有关的部分,可以直接写相应合同中验收标准的一个引用。
7.7 Glossary 术语表
-----------------------------------------------------
Template
-----------------------------------------------------
沈阳东大阿尔派软件股份有限公司

总页数 正文 附录 生效日期: 年 月 日
编制: 审核: 批准:

目录

1. 引言
1.1 编写目的
1.2 背景
1.3 参考资料
1.4 术语
2. 任务概述
2.1 目标
2.2 系统(或用户)的特点
3. 假定和约束
4. 需求规定
4.1 软件功能说明
4.2 对功能的一般性规定
4.3 对性能的一般性规定
4.4 其他专门要求
4.5 对安全性的要求
5. 运行环境规定
5.1 设备及分布
5.2 支撑软件
5.3 接口
5.4 程序运行方式
6. 开发成本估算
7. 尚需解决的问题
8. 附录


1. 引言
1.1 目的
说明编写这份报告的目的,指出预期的读者。
1.2 背景
指出待开发的软件系统的名称;行业情况;本项目的任务提出者、开发者、用户;该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3 参考资料
列出编写本报告时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位。
编号 资料名称 简介 作者 日期 出版单位


列出编写本报告时查阅的Intenet上杂志、专业著作、技术标准以及他们的网址。
网点 简介


1.4 术语
列出本报告中用到的专门术语的定义。

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

4. 需求规定
4.1 软件功能说明
列出本系统中所有软件功能子系统和功能。如果子系统比较大,每个子系统按照NW4043102《软件功能规格说明书编写规范》分别编写软件功能规格说明书,在本处列出编号和分册名称。
4.2 对功能的一般性规定
本处仅列出对软件系统的所有功能(或一部分)的共同要求,如要求界面格式统一,统一的错误声音提示,要求有在线帮助等。
4.3 对性能的一般性规定
对数据精度、响应时间的要求。本处仅列出对软件系统的所有功能(或一部分)的共同要求,针对某一功能的专门性能要求应列在该功能规格说明中。
4.4 其他专门要求
视具体情况,列出不在本规范规定中的需求,如对数据库的要求,多平台特性要求,操作特性要求,场合适应性要求等对一具体软件系统的所有功能(或一部分)的共同要求,针对某一功能的专门要求应列在该功能说明中。
4.5 对安全性的要求
指出系统对使用权限的管理要求(使用权限分为几级、是否与部门权力体系对应等)、信息加密、信息认证(确定穿过系统或网络的信息没有被修改)方面的要求。

5. 运行环境规定
5.1 设备5.2 及分布
1 主机类型
2 网络类型
3 存贮器容量
4 其他特殊设备
5 设备分布图
5.3 支撑软件
3 操作系统数据库管理系统其他支撑软件
5.4 接口
简要说明该软件同其他软件之间的公共接口、数据通信协议等,如果外部接口仅与某子功能有关,该接口说明应列在子功能规格说明书中。
5.5 程序运行方式
说明该软件的运行方法。如是部件、还是独立运行程序、API等。

6. 开发成本估算
以列表的方式给出各功能规定所需的开发人时和费用(如差旅费)。

7. 尚需解决的问题
以列表的形式列出在需求分析阶段必须解决但尚未解决的问题

8. 附录
需求分析过程中会产生各种记录如调查表格、业务系统单据等。记录或报告的存档编号和名称填写在下表中。其中类别是记录的分类,一般有业务系统说明书、业务系统数据说明书、业务系统调查表、原始数据单据、业务系统参考资料。
编号 名称 类别

---------------------------------------------------------------