什么是function性和非function性要求?

我读了很多网站。 在devise软件系统时,我不明白function非function需求之间的确切区别。

你能举两个例子吗? 并给每个简短的定义。

function需求描述了软件系统应该做什么,而非function需求则限制了系统如何实现。

让我详细说一下。

function要求的一个例子是:

  • 系统必须在满足某些条件时发送电子邮件(例如,下订单,客户注册等)。

系统的相关非function要求可以是:

  • 电子邮件的发送时间应不超过12小时。

function要求是描述与系统function相关的系统行为 。 非function性要求阐述了系统的性能特征

通常情况下,非function性需求属于以下领域:

  • 无障碍
  • 容量,当前和预测
  • 合规
  • 文档
  • 灾难恢复
  • 效率
  • 效用
  • 可扩展性
  • 容错
  • 互通性
  • 可维护性
  • 隐私
  • 可移植性
  • 质量
  • 可靠性
  • 弹性
  • 响应时间
  • 稳健性
  • 可扩展性
  • 安全
  • 稳定性
  • 保障性
  • 可测性

维基百科的非function需求条目提供了更完整的列表。

非function性需求有时是根据度量标准(可以衡量系统的某些东西)来定义的,以使它们更加切实可行。 非function性需求也可能描述了与系统执行无关的方面,而是描述了系统随时间的变化(如可维护性,可扩展性,文档等)。

function需求是用户从软件期望的主要事情,例如,如果应用程序是应用程序应该能够创build新账户,更新账户,删除账户等的银行应用程序,则function需求被详细描述并被指定在系统devise中

非function性获取不是系统的直接要求,而是与可用性有关(以某种方式),例如,对于银行应用程序来说,主要的非function需求将是可用的,应用程序应该是全天候可用的,没有停机时间如果可能的话。

function需求系统必须执行的活动

  • 企业使用function用户执行
  • 如果您正在开发工资系统所需的function,请使用用例
  • 产生电子资金转账
  • 计算佣金额
  • 计算工资税
  • 向国税局报税

function要求

  1. function需求指定了系统或系统组件必须能够执行的function。 它可以以各种方式logging。 最常见的是文档描述和用例。

  2. 用例可以是文本枚举列表以及图表,描述用户操作。 每个用例通过一个或多个function需求来说明行为场景。 通常情况下,分析人员首先会引出一组用例,分析人员可以从中获得必须实现的function要求,以允许用户执行每个用例。

  3. function需求是系统应该完成的 。 可能是

    • 计算
    • 技术细节
    • 数据操作
    • 数据处理
    • 其他特定的function
  4. 一个典型的function需求将包含一个唯一的名称和编号,一个简短的总结,和一个基本原理。 这些信息用于帮助读者理解为什么需要这个需求,并通过系统的开发来跟踪需求。

非function性要求

LBushkin已经解释了非function性需求。 我会添加更多。

  1. 非function性要求是除function要求之外的其他任何要求。 这是指定可用于判断系统操作的标准的要求,而不是具体的行为

  2. 非function性要求是“系统应该”的forms,是整个系统或特定方面的整体性质,而不是特定的function。 系统的整体属性通常标志着开发项目是成功还是失败。

  3. 非function性要求 – 可以分为两大类:

    • 执行质量 ,如安全性和可用性,在运行时可观察到。
    • 软件系统的静态结构体现了可testing性,可维护性,可扩展性和可伸缩性等演化品质
  4. 非function性要求对正在开发的产品,开发过程以及产品必须满足的外部约束条件进行限制。
  5. IEEE-Std 830 – 1993列出了13个非function性要求,包括在软件要求文件中。
  1. 性能要求
  2. 接口要求
  3. 操作要求
  4. 资源要求
  5. validation要求
  6. 验收要求
  7. 文件要求
  8. 安全要求
  9. 可移植性要求
  10. 质量要求
  11. 可靠性要求
  12. 可维护性要求
  13. 安全要求

是否将需求expression为function性或非function性需求可能取决于:

  • 在要求文件中包含的细节层面上
  • 系统客户和系统开发者之间存在的信任程度。

防爆。 可能需要系统向用户显示数据库中的logging数量。 这是一个function要求。 如何更新此数字需要是最新的,是一个非function性的要求。 如果需要实时更新号码,则系统架构师必须确保系统能够在logging数量变化的可接受的较短间隔内更新[显示的]logging计数。

参考文献:

  1. function要求
  2. 非function性要求
  3. 需求的量化和可追溯性

function要求是与系统的技术function相关的function要求。

非function性需求是一个要求,它规定了可用于判断系统在特定条件下运行的标准,而不是特定的行为。

例如,如果您考虑购物网站,则将商品添加到购物车,浏览不同的商品,应用优惠和交易以及成功下达订单都属于function要求。

在高峰时段系统性能的好坏,系统从数据库中检索数据所花费的时间,用户数据的安全性,系统在大量用户login时处理能力都受到非function性要求的影响。

我认为function需求是从客户端到开发者端,关于软件对用户的function, 而非function需求是从开发者到客户端的,即客户端没有给出需求,而是由开发者提供的平滑运行的系统安全性,安全性,灵活性,可扩展性,可用性等

Interesting Posts