304

功能性非功能性有什么区别在设计软件系统的上下文中,

为每种情况举例说明。

4

6 回答 6

553

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

让我详细说明。

功能需求的一个例子是:

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

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

  • 从此类活动开始,应以不超过 12 小时的延迟发送电子邮件。

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

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

  • 可访问性
  • 容量、电流和预测
  • 遵守
  • 文档
  • 灾难恢复
  • 效率
  • 效力
  • 可扩展性
  • 容错
  • 互操作性
  • 可维护性
  • 隐私
  • 可移植性
  • 质量
  • 可靠性
  • 弹力
  • 响应时间
  • 鲁棒性
  • 可扩展性
  • 安全
  • 稳定
  • 可支持性
  • 可测试性

在 Wikipedia 的非功能性需求条目中提供了更完整的列表。

有时,非功能性需求是根据度量(即可以对系统进行测量的东西)来定义的,以使它们更具体。非功能性需求也可能描述系统中与其执行无关的方面,而是与其随时间演变有关的方面(例如,可维护性、可扩展性、文档等)。

于 2013-05-10T05:52:44.593 回答
35

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

非功如果可能的话。

于 2013-05-10T05:59:20.813 回答
30

功能要求

  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. 功能需求
  2. 非功能性需求
  3. 需求的量化和可追溯性
于 2016-08-31T09:40:01.667 回答
9

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

非功能性需求是指定标准的需求,这些标准可以用来判断系统在特定条件下的运行,而不是特定的行为。

例如,如果您考虑一个购物网站,将商品添加到购物车、浏览不同的商品、应用报价和交易以及成功下订单都属于功能要求。

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

于 2016-08-31T10:12:00.390 回答
3

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

  • 业务使用用户执行的功能
  • 用例示例,如果您正在开发工资单系统所需的功能
  • 生成电子资金转账
  • 计算佣金金额
  • 计算工资税
  • 向美国国税局申报减税
于 2013-09-10T11:28:28.193 回答
2

我认为功能性需求是从客户端到开发者侧,即软件对用户的功能,而非功能性需求是从开发者到客户端,即需求不是由客户端给出的,而是由开发人员提供的,以使系统顺利运行,例如安全性、安全性、灵活性、可扩展性、可用性等。

于 2014-06-24T10:28:35.517 回答