在本文中,我们将讨论软件工程中使用的两个重要术语,即功能性需求和非功能性需求,以及它们之间的比较。 了解这两个术语的区别有助于确保交付的产品满足客户的期望。

功能性需求

功能性需求定义了系统或系统元素必须有资格执行并且必须以不同形式记录的功能。功能性需求描述了系统的行为,因为它与系统的功能相关。

功能性需求应该用简单的语言编写,以便于理解。功能性需求的例子有认证、业务规则、审计跟踪、认证需求、交易更正等。

这些要求使我们能够验证应用程序是否提供应用程序功能要求中提到的所有功能。它们支持任务、活动和用户目标,以便更轻松地进行项目管理。

有多种方法可以准备功能需求。最常见的方式是以文本形式记录它们。准备功能需求的其他格式是用例、模型、原型、用户故事和图表。

非功能性需求

非功能性需求与软件的功能方面无关。它们可以是指定可用于决定操作的标准的必需品,而不是系统的特定行为。基本的非功能性需求是——可用性、可靠性、安全性、存储、成本、灵活性、配置、性能、法律或监管要求等。

它们分为两大类:

  • 在运行时可观察到的执行质量,如安全性和可用性。
  • 软件系统的静态结构中体现的可测试性、可维护性、可扩展性和可伸缩性等演化特性。

非功能需求指定软件的质量属性。这些要求定义了系统的一般特性、行为以及影响用户体验的特性。它们确保更好的用户体验,最大限度地降低成本因素。非功能性需求确保软件系统必须遵守法律和遵守规则。非功能性需求的影响不在于系统的功能,而是影响系统的执行方式。对于性能良好的产品,至少应该满足一些非功能性要求。

功能需求与非功能需求的区别

现在,让我们看看功能性和非功能性需求之间的对比图。

功能需求 非功能需求
功能需求有助于理解系统的功能。 非功能需求有助于了解系统的性能。
功能要求是强制性的。 而非功能性需求不是强制性的。
功能需求很容易定义。 非功能需求很难定义。
功能需求描述了产品的作用。 非功能需求描述了产品的工作原理。
功能需求专注于用户的需求。 非功能需求专注于用户的期望和体验。
功能需求帮助我们验证软件的功能。 非功能需求帮助我们验证软件的性能。
功能需求由用户指定。 非功能需求由软件开发人员、架构师和技术人员指定。
功能需求有API测试、系统、集成等功能测试 非功能需求有可用性、性能、压力、安全等非功能测试。
功能要求的例子是 -在尝试登录系统时对用户进行身份验证。 非功能性需求的例子是——屏幕的背景颜色应该是浅蓝色。
功能需求对系统操作很重要。 非功能需求并不总是重要的要求,它们可能是可取的。
功能需求的完成允许系统执行,而不管是否满足非功能需求。 虽然系统不会仅适用于非功能性需求。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:功能性需求和非功能性需求的区别
本文链接:https://www.vsdiffer.com/vs/functional-vs-non-functional-requirements.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。