5. 其它非功能需求
  在这里列举出所有非功能需求,主要包括可靠性、安全性、可维护性、可扩展性、可测试性等。
  5.1 性能需求
  阐述不同应用领域对软件产品性能的需求,并且说明提出需求的原理或者依据,以帮助开发人员做出合理的设计选择。尽可能详细地描述性能需求,如果需要,可以针对每个功能需求或者特征分别陈述其性能需求。在这里确定:
  ● 相互合作的用户数量;
  ● 系统支持的并发操作数量;
  ● 响应时间;
  ● 与实时系统的时间关系:
  ● 容量需求
  存储器;
  磁盘空间;
  数据库中表的大行数。
  5.2 安全措施需求
  详尽陈述与软件产品使用过程中可能发生的损失、破坏、危害相关的需求。定义必须采取的安全保护或动作,以及必须预防的潜在危险动作。明确软件产品必须遵从的安全标准、策略、或规则。
  5.3 安全性需求
  详尽陈述与系统安全性、完整性问题相关的需求,或者与个人隐私问题相关的需求。这些问题将会影响到软件产品的使用,和软件产品所创建或者使用的数据的保 护。定义用户身份认证,或备授权需求。明确软件产品必须满足的安全性或者保密性策略。也可以通过称为完整性的质量属性来阐述这些需求。一个典型的软件系统 安全需求范例如下:“每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。”
  5.4 软件质量属性
  详尽陈述对客户和开发人员至关重要的在软件产品其它方面表现出来的质量功能。这些功能必须是确定的、定量的、在需要时是可以验证的。至少也应该指明不同属性的相对侧重点,例如:易用性优于易学性,或者可移植性优于有效性。
  5.5 业务规则
  列举出有关软件产品的所有操作规则,例如:那些人在特定环境下可以进行何种操作。这些本身不是功能需求,但是他们可以暗示某些功能需求执行这些规则。一个 业务规则的范例如下:“进行达到或者超过10,000,00元人民币的储蓄业务时,必须通过附加的管理员认证。”
  列举业务规则时,可以根据规则的数量,选取合适的编目方式。
  5.6 用户文档
  列举出将与软件产品一同交付的用户文档,并且明确所有己知用户文档的交付格式或标准,例如:
  ● 安装指南
  纸质文档,16开本;
  ● 用户手册
  纸质文档,16开本;
  ● 在线帮助
  ● 电子文档,与软件产品一同分发、配置;
  ● 使用教程电子文档,与软件产品一同分发、配置。
  6. 词汇表
  列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原词)。为了便于非软件专业或者非计算机专业人士阅读软件产品需求分析 报告,要求使用非软件专业或者非计算机专业的术语描述软件需求。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术 语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表并且加以准确定义。
  7. 数据定义
  数据定义是一个定义了应用程序中使用的所有数据元素和结构的共享文档,其中对每个数据元素和结构都准确描述:含义、类型、数据大小、格式、计量单位、精度 以及取值范围。数据定义的维护独立于软件需求规格说明,并且在软件产品开发和维护的任何阶段,均向风险承担者开放。
  如果为软件开发项目创建一个独立的数据定义,而不是为每一项特性描述有关的数据项,有利于避免冗余和不一致性。但是却不利于多人协同编写需求分析报告,容 易遗漏数据,也不方便阅读。因此还是建议为每个特性描述有关的数据项,汇总数据项创建数据定义,再根据数据定义复核全部数据,使得它们的名称和含义完全一 致。必须注意的是,为了避免二义性,在汇总数据项时应该根据数据项所代表的实际意义汇总,而不是根据数据项的名称汇总。
  在数据定义中,每个数据项除了有一个中文名称外,还应该为它取一个简短的英文名称,该英文名称应该符合命名规范,因为在软件开发时将沿用该英文名称。可以使用等号表示数据项,名称写在左边,定义写在右边。常见数据项的描述方式如下:
  ● 原数据元素
  一个原数据元素是不可分解的,可以将一个数量值赋给它。定义原数据元素必须确定其
  含义、类型、数据大小、格式、计量单位、精度以及取值范围。采用以星号为界的一行
  注释文本,描述原数据元素的定义。
  ● 选择项
  选择项是一种只可以取有限离散值的特殊原数据元素,描述时一一枚举这些值,并用方
  括号括起来写在原数据元素的定义前。在两项离散值之间,使用管道符分隔。
  ● 组合项
  组合项是一个数据结构或者记录,其中包含了多个数据项。这些数据项可以是原数据元
  素,也可以是组合数据项,各数据项之间用加号连接。其中每个数据项都必须是数据定
  义中定义过的,结构中也可以包括其它结构,但是不允许递归。如果数据结构中有
  可选项,使用圆括号把该项括起来。
  ● 重复项
  重复项是组合项的一种特例,其中有一项将有多个实例出现在数据结构中,使用花括号
  把该项括起来。如果知道该项可能允许的范围,按“小值:大值”的形式写在花
  括号前。
  8. 分析模型
  这是一个可选部分,包括或涉及到相关的分析模型,例如:
  ● 数据流程图;
  ● 类图;
  ● 状态转换图;
  ● 实体-关系图。
  9. 待定问题列表
  编辑一张在软件产品需求分析报告中待确定问题时的列表,把每一个表项都编上号,以便跟踪调查。