目 录
第一章 引言 1
§1.1 目的 1
§1.2 文档约定 1
§1.3 预期读者和阅读建议 1
§1.4 产品的范围 1
§1.5 参考文献 1
第二章 综合描叙 1
§2.1 产品的前景 1
§2.2 产品的功能 1
§2.3 用户类和特征 2
§2.4 运行环境 2
§2.5 设计和实现上的限制 2
§2.6 假设和依赖 2
第三章 外部接口需求 2
§3.1 用户界面 2
§3.2 硬件接口 3
§3.3 软件接口 3
§3.4 通信接口 3
第四章 系统特性 3
§4.1 说明和优先级 3
§4.2 激励响应序列 3
§4.3 功能需求 3
第五章 其他非功能需求 3
§5.1 性能需求 3
§5.2 安全设施需求 4
§5.3 安全性需求 4
§5.4 软件质量属性 4
§5.5 业务规则 4
§5.6 用户文档 4
第六章 其他需求 4
§6.1 词汇表 4
§6.2 分析模型 4
§6.3 待确定问题列表 5
第 1 章 引言
引言提出了对软件需求规格说明的纵览,这有助于读者理解文档如何编写并
且如何阅读和解释。
§1.1 目的
对产品进行定义,在该文档中详尽说明了这个产品的软件需求,包括修正或
发行版本号。如果这个软件需求规格说明只与整个系统的一部分有关系,那么就
只定义文档中说明的部分或子系统。
§1.2 文档约定
描述编写文档时所采用的标准或排版约定,包括正文风格、提示区或重要符
号。例如,说明了高层需求的优先级是否可以被其所有细化的需求所继承,或者
每个需求陈述是否都有其自身的优先级。
§1.3 预期读者和阅读建议
列举了软件需求规格说明所针对的不同读者,例如开发人员、项目经理、营
销人员、用户、测试人员或文档的编写人员。描述了文档中剩余部分的内容及其
组织结构。提出了最适合于每一类型读者阅读文档的建议。
§1.4 产品的范围
提供了对指定的软件及其目的的简短描述,包括利益和目标。把软件与企业
目标或业务策略相联系。可以参考项目视图和范围文档而不是将其内容复制到这
里。
§1.5 参考文献
列举了编写软件需求规格说明时所参考的资料或其它资源。这可能包括用户
界面风格指导、合同、标准、系统需求规格说明、使用实例文档,或相关产品的
软件需求规格说明。在这里应该给出详细的信息,包括标题名称、作者、版本号、
日期、出版单位或资料来源,以方便读者查阅这些文献。
如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些
文件资料的来源。
第 2 章 综合描叙
这一部分概述了正在定义的产品以及它所运行的环境、使用产品的用户和已
知的限制、假设和依赖。
§2.1 产品的前景
描述了软件需求规格说明中所定义的产品的背景和起源。说明了该产品是否
是产品系列中的下一成员,是否是成熟产品所改进的下一代产品、是否是现有应
用程序的替代品,或者是否是一个新型的、自含型产品。如果软件需求规格说明
定义了大系统的一个组成部分,那么就要说明这部分软件是怎样与整个系统相关
联的,并且要定义出两者之间的接口。
§2.2 产品的功能
概述了产品所具有的主要功能。其详细内容将在 d 中描述,所以在此只
需要概略地总结,例如用列表的方法给出。很好地组织产品的功能,使每个读者
都易于理解。用图形表示主要的需求分组以及它们之间的联系,例如数据流程图
的顶层图或类图,都是有用的。
§2.3 用户类和特征
确定你觉得可能使用该产品的不同用户类并描述它们相关的特征(见第 7
章)。有一些需求可能只与特定的用户类相关。将该产品的重要用户类与那些不
太重要的用户类区分开。
§2.4 运行环境
描述了软件的运行环境,包括硬件平台、操作系统和版本,还有其它的软件
组件或与其共存的应用程序。
§2.5 设计和实现上的限制
确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。
可能的限制包括如下内容:
· 必须使用或者避免的特定技术、工具、编程语言和数据库。
· 所要求的开发规范或标准(例如,如果由客户的公司负责软件维护,就必
须定义转包者所使用的设计符号表示和编码标准。
· 企业策略、政府法规或工业标准。
· 硬件限制,例如定时需求或存储器限制。
· 数据转换格式标准。
§2.6 假设和依赖
确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。
可能的限制包括如下内容:
· 必须使用或者避免的特定技术、工具、编程语言和数据库。
· 所要求的开发规范或标准(例如,如果由客户的公司负责软件维护,就必
须定义转包者所使用的设计符号表示和编码标准。
· 企业策略、政府法规或工业标准。
· 硬件限制,例如定时需求或存储器限制。
· 数据转换格式标准。
第 3 章 外部接口需求
利用本节来确定可以保证新产品与外部组件正确连接的需求。关联图表示了
高层抽象的外部接口。需要把对接口数据和控制组件的详细描述写入数据字典中。
如果产品的不同部分有不同的外部接口,那么应把这些外部接口的详细需求并入
到这一部分的实例中。
§3.1 用户界面
陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是
可能要包括的一些特征:
· 将要采用的图形用户界面(G U I )标准或产品系列的风格。
· 屏幕布局或解决方案的限制。
· 将出现在每个屏幕的标准按钮、功能或导航链接(例如一个帮助按钮)。
· 快捷键。
· 错误信息显示标准。
对于用户界面的细节,例如特定对话框的布局,应该写入一个独立的用户界
面规格说明中,而不能写入软件需求规格说明中。
§3.2 硬件接口
描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型、
软硬件之间交流的数据和控制信息的性质以及所使用的通信协议。
§3.3 软件接口
描述该产品与其它外部组件(由名字和版本识别)的连接,包括数据库、操
作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或消
息的目的。描述所需要的服务以及内部组件通信的性质。确定将在组件之间共享
的数据。如果必须用一种特殊的方法来实现数据共享机制,例如在多任务操作系
统中的一个全局数据区,那么就必须把它定义为一种实现上的限制。
§3.4 通信接口
描述与产品所使用的通信功能相关的需求,包括电子邮件、We b 浏览
器、网络通信标准或协议及电子表格等等。定义了相关的消息格式。规定通信安
全或加密问题、数据传输速率和同步通信机制。
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
csdsq
(〓1〓0〓1〓0〓1〓0〓1〓)
等 级:
#6 楼 得分:0 回复于:2003-04-29 02:18:05 第 4 章 系统特性
功能需求是根据系统特性即产品所提供的主要服务来组织的。你可能更喜欢
通过使用实例、运行模式、用户类、对象类或功能等级来组织这部分内容(I E
E E 1 9 9 8 )。你还可以使用这些元素的组合。总而言之,你必
须选择一种使读者易于理解预期产品的组织方案。仅用简短的语句说明特性的名
称,例如“4 . 1 拼写检查和拼写字典管理”。无论你想说明何种特性,
阐述每种特性时都将重述从 4 . 1 ~4 . 3 这三步系统特性。
§4.1 说明和优先级
提出了对该系统特性的简短说明并指出该特性的优先级是高、中,还是低。
或者你还可以包括对特定优先级部分的评价,例如利益、损失、费用和风险,其
相对优先等级可以从 1(低)到 9 (高)。
§4.2 激励响应序列
列出输入激励(用户动作、来自外部设备的信号或其它触发器)和定义这一
特性行为的系统响应序列。就像在第 8 章讨论的那样,这些序列将与使用实
例相关的对话元素相对应。
§4.3 功能需求
详列出与该特性相关的详细功能需求。这些是必须提交给用户的软件功能,
使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描
述产品如何响应可预知的出错条件或者非法输入或动作。就像本章开头所描述的
那样,你必须唯一地标识每个需求。
第 5 章 其他非功能需求
这部分列举出了所有非功能需求,而不是外部接口需求和限制。
§5.1 性能需求
阐述了不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人
员作出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以
及与实时系统的时间关系。你还可以在这里定义容量需求,例如存储器和磁盘空
间的需求或者存储在数据库中表的最大行数。尽可能详细地确定性能需求。可能
需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们都集中在一起
陈述。例如,“在运行微软 Window 2000 的 450 MHzPentiumⅡ的计算机
上,当系统至少有 5 0 %的空闲资源时,9 5 %的目录数据库查询必须
在两秒内完成”。
§5.2 安全设施需求
详尽陈述与产品使用过程中可能发生的损失、破坏或危害相关的需求。定义
必须采取的安全保护或动作,还有那些预防的潜在的危险动作。明确产品必须遵
从的安全标准、策略或规则。一个安全设施需求的范例如下:“如果油箱的压力
超过了规定的最大压力的 9 5 %,那么必须在 1 秒钟内终止操作”。
§5.3 安全性需求
详尽陈述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影
响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需
求。明确产品必须满足的安全性或保密性策略。你可能更喜欢通过称为完整性的
质量属性来阐述这些需求,完整性将在第 11 章介绍。一个软件系统的安全需
求的范例如下:“每个用户在第一次登录后,必须更改他的最初登录密码。最初
的登录密码不能重用。”
§5.4 软件质量属性
详尽陈述与客户或开发人员至关重要的其它产品质量特性(见第 11 章)。
这些特性必须是确定、定量的并在可能时是可验证的。至少应指明不同属性的相
对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。
§5.5 业务规则
列举出有关产品的所有操作规则,例如什么人在特定环境下可以进行何种操
作。这些本身不是功能需求,但它们可以暗示某些功能需求执行这些规则。一个
业务规则的范例如下:“只有持有管理员密码的用户才能执行$ 1 0 0 . 0
0 或更大额的退款操作。”
§5.6 用户文档
列举出将与软件一同发行的用户文档部分,例如,用户手册、在线帮助和教
程。明确所有已知的用户文档的交付格式或标准。
第 6 章 其他需求
定义在软件需求规格说明的其它部分未出现的需求,例如国际化需求或法律
上的需求。你还可以增加有关操作、管理和维护部分来完善产品安装、配置、启
动和关闭、修复和容错,以及登录和监控操作等方面的需求。在模板中加入与你
的项目相关的新部分。如果你不需要增加其它需求,就省略这一部分。
§6.1 词汇表
定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词
头和缩写。你可能希望为整个公司创建一张跨越多项项目的词汇表,并且只包括
特定于单一项目的软件需求规格说明中的术语。
§6.2 分析模型
这个可选部分包括或涉及到相关的分析模型的位置,例如数据流程图、类图、
状态转换图或实体-关系图
§6.3 待确定问题列表
编辑一张在软件需求规格说明中待确定问题的列表,其中每一表项都是编上
号的,以便于跟踪调查。