什么叫软件需求?

发表于:2007-06-13来源:作者:点击数: 标签:软件需求
需求的定义是为“系统必须符合的条件或具备的功能”。 需求的种类各种各样。一种分类的方法叫作 FURPS+ 模型 [GRA92],它使用首字母缩写词 FURPS 来描述具有以下子类别的主要需求类别。 功能性、 可用性、 可靠性、 性能和 可支持性 FURPS+ 中的“+”可提醒您
 需求的定义是为“系统必须符合的条件或具备的功能”。

      需求的种类各种各样。一种分类的方法叫作 FURPS+ 模型 [GRA92],它使用首字母缩写词 FURPS 来描述具有以下子类别的主要需求类别。

      功能性、
      可用性、
      可靠性、
      性能和
      可支持性

      FURPS+ 中的“+”可提醒您还要包括如下需求:

      设计约束、
      实施需求、
      接口需求和
      物理需求。

      功能性需求规定了系统无需考虑物理约束而必须能够执行的动作。用例模型和用例中最能够说明这些需求。功能性需求就这样规定了系统的输入输出行为。

      功能性需求之外的需求,如下所列,有时称为非功能性需求。许多需求是非功能性的,它们仅仅说明系统或系统环境的属性。有些需求在用例中有所记录,未能记录的可在补充规约中予以规定。非功能性需求解决的是如下所列的问题。

      对于软件需求的完整定义,可以将用例和补充规约结合到一起以定义某一“特性”或其他子系统分组的软件需求规约 (SRS)。

功能性

      功能性需求包括:

      特性集、
      功能和
      安全性。

可用性

      可用性需求可包含如下子类别:

      人员因素(请参见:概念:以用户为中心的设计)、
      美观、
      用户界面的一致性(请参见:指南:用户界面)、 
      联机帮助和环境相关帮助、
      向导和代理、
      用户文档和 
      培训材料。

可靠性
 
      需要考虑的可靠性需求有:

      故障的频率/严重性、
      可恢复性、
      可预见性、
      准确性和
      平均故障间隔时间(MTBF)。

性能

      性能需求可对功能性需求强加条件。例如,对于一个给定行为,它可以对以下项规定性能参数:

      速度、
      效率、
      可用性、
      准确性、
      吞吐量、
      响应时间、
      恢复时间,或
      资源用途。

可支持性

      可支持性需求可包括:

      可测试性、
      可扩展性、
      可适应性、
      可维护性、
      兼容性
      可配置性、
      可服务性、
      可安装性,或
      是否可本地化(国际化)。

设计需求

      设计需求常称为设计约束,它规定或约束了系统的设计。

实施需求

      实施需求规定或约束了系统的编码或构建。例如:

      所需标准、
      实施语言、
      数据库完整性策略、
      资源限制和
      操作环境。

接口需求

      接口需求规定了

      系统必须与之交互操作的外部项,或
对这种交互操作所使用的格式、时间或其他因素的约束。 ]

物理需求

      物理需求规定了系统必须具备的物理特征;例如,

      材质、
      形状、
      尺寸和
      重量。

      这种需求类型可用来代表硬件要求,如物理网络配置需求。

原文转自:http://www.ltesting.net