功能和非功能需求之间有什么区别? [关闭]

问题描述 投票:240回答:6

在设计软件系统的背景下,功能和非功能需求之间有什么区别?

举例说明每个案例。

requirements system-requirements
6个回答
472
投票

功能需求描述了软件系统应该做什么,而非功能需求限制了系统将如何执行。

让我详细说明一下。

功能要求的一个例子是:

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

系统的相关非功能性要求可能是:

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

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

通常,非功能性要求属于以下领域:

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

维基百科在non-functional requirements的条目中提供了更完整的列表。

非功能性需求有时根据度量(即可以测量系统的某些内容)来定义,以使它们更有形。非功能性需求还可以描述与其执行无关的系统的各个方面,而是描述其随时间的演变(例如,可维护性,可扩展性,文档等)。


30
投票

功能需求是用户期望从软件中获得的主要内容,例如,如果应用程序是银行应用程序,应用程序应该能够创建新帐户,更新帐户,删除帐户等。功能要求详细并指定在系统设计中

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


21
投票

功能要求

  1. 功能需求指定系统或系统组件必须能够执行的功能。它可以以各种方式记录。最常见的是文档和用例中的书面描述。
  2. 用例可以是文本枚举列表以及描述用户操作的图表。每个用例都通过一个或多个功能要求说明了行为场景。但是,分析师通常会首先引出一组用例,分析人员可以从中派生出必须实现的功能要求,以允许用户执行每个用例。
  3. 功能需求是系统应该完成的。它可能是 计算 技术细节 数据操作 数据处理 其他特定功能
  4. 典型的功能要求将包含唯一的名称和编号,简要摘要和基本原理。该信息用于帮助读者理解为什么需要该需求,并通过系统的开发来跟踪需求。

非功能性要求

LBushkin已经解释了更多关于非功能性要求的内容。我会添加更多。

  1. 非功能性要求是除功能要求之外的任何其他要求。这是指定可用于判断系统操作的标准的要求,而不是特定的行为。
  2. 非功能性要求采用“系统应该”的形式,系统作为整体或特定方面的整体属性,而不是特定功能。系统的整体属性通常标记开发项目是成功还是失败。
  3. 非功能性要求 - 可分为两大类: 执行质量,例如安全性和可用性,可在运行时观察到。 进化质量,例如可测试性,可维护性,可扩展性和可扩展性,它们体现在软件系统的静态结构中。
  4. 非功能性要求对正在开发的产品,开发过程施加限制,并指定产品必须满足的外部约束。
  5. IEEE-Std 830 - 1993列出了13个要包含在软件需求文档中的非功能性需求。
  1. 性能要求
  2. 接口要求
  3. 运营要求
  4. 资源需求
  5. 验证要求
  6. 验收要求
  7. 文件要求
  8. 安全要求
  9. 便携性要求
  10. 质量要求
  11. 可靠性要求
  12. 可维护性要求
  13. 安全要求

要求是否表示为功能性或非功能性要求可能取决于:

  • 在要求文件中包含的详细程度
  • 系统客户和系统开发人员之间存在的信任程度。

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

参考文献:

  1. Functional requirement
  2. Non-functional requirement
  3. Quantification and Traceability of Requirements

7
投票

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

非功能性需求是指定可用于在特定条件下判断系统操作而不是特定行为的标准的要求。

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

系统在高峰时段的性能,系统从数据库检索数据所花费的时间,用户数据的安全性,系统在大量用户登录时处理非功能性需求的能力。


3
投票

功能要求系统必须执行的活动

  • 业务使用用户执行的功能
  • 用例示例如果您正在开发薪资系统所需的功能
  • 产生电子资金转账
  • 计算佣金金额
  • 计算工资税
  • 向美国国税局报税减免

2
投票

我认为功能需求是从客户端到开发者端,关于软件对用户的功能,非功能性需求是从开发者到客户端,即客户端没有给出要求,但开发人员提供了平稳运行系统的要求,例如:安全性,安全性,灵活性,可扩展性,可用性等

© www.soinside.com 2019 - 2024. All rights reserved.