功能性需求和非功能性需求之间的区别是什么?

在设计软件系统时,功能非功能性需求之间的区别是什么?

为每一种情况给出例子。

862628 次浏览

功能性需求描述了软件系统应该做什么,而非功能性需求则对系统如何做进行了约束。

让我详细说明一下。

功能性需求的一个例子是:

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

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

  • 从这样的活动发送电子邮件的延迟应该不超过12小时。

功能需求是描述系统的行为,因为它涉及到系统的功能。系统的非功能性需求阐述一个性能特征

典型的非功能性需求分为以下几个方面:

  • 可访问性
  • 容量,当前和预测
  • 合规
  • 文档
  • 灾难恢复
  • 效率
  • 有效性
  • 可扩展性
  • 容错
  • 互操作性
  • 可维护性
  • 隐私
  • 可移植性
  • 质量
  • 可靠性
  • 弹性
  • 响应时间
  • 鲁棒性
  • 可伸缩性
  • 安全
  • 稳定
  • 可支持性
  • 可测试性

一个更完整的列表可以在维基百科的非功能性需求条目中找到。

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

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

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

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

  • 业务使用用户执行的功能
  • <李>用例 例如,如果您正在开发一个工资单系统,需要函数
  • 产生电子资金转移
  • 计算佣金金额
  • 计算工资税
  • 向国税局报告扣税

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

功能需求

  1. 功能需求指定系统或系统组件必须能够执行的功能。可以用不同的方式记录它。最常见的是文档中的书面描述和用例。

  2. 用例可以是文本枚举列表,也可以是描述用户操作的图表。每个用例通过一个或多个功能需求说明行为场景。但是,分析师通常会从引出一组用例开始,从这些用例中,分析师可以得出必须实现的功能需求,以允许用户执行每个用例。

  3. 功能需求是什么系统应该完成的任务。可能是这样

    • 计算
    • 技术细节
    • 数据操作
    • 数据处理
    • 其他特定功能
    • 李< / ul > < / >
    • 一个典型的功能性需求将包含一个唯一的名称和编号、一个简短的摘要和一个基本原理。此信息用于帮助读者理解为什么需要此需求,并通过系统开发跟踪此需求。

非功能性需求

LBushkin已经解释了更多关于非功能需求。我会补充更多。

  1. 非功能需求是除功能需求之外的任何其他需求。这些要求指定了可用于判断系统运行的标准,而不是特定的行为。

  2. 非功能性需求形式为<强> >系统应,是系统整体或某一方面的整体属性而不是某一特定功能。系统的整体属性通常标志着开发项目成功或失败的区别。

  3. 非功能性需求——可以分为两大类:

    • 执行品质,例如安全性和可用性,在运行时可以观察到。
    • 进化的品质,如可测试性、可维护性、可扩展性和可伸缩性,这些都体现在软件系统的静态结构中。
    • 李< / ul > < / >
    • 非功能需求对 正在开发的产品,开发过程, 并指定产品必须的外部约束 李。< / >
    • IEEE-Std 830 - 1993列出了包含在软件需求文档中的13个非功能性需求。
  1. 性能需求
  2. 接口需求
  3. 运营性需求
  4. 资源需求
  5. 验证需求
  6. 验收要求
  7. 文档需求
  8. 安全需求
  9. 可移植性要求
  10. 质量要求
  11. 可靠性要求
  12. 可维护性需求
  13. 安全要求

需求是被表达为功能性需求还是非功能性需求取决于:

  • 在需求文档中包含的细节级别上
  • 系统客户与a之间存在的信任程度 李系统开发者。< / >

例:系统可能需要向用户显示数据库中的记录数量。这是一个功能性需求。这个数字需要更新到什么程度,是一个非功能性需求。如果数字需要实时更新,系统架构师必须确保系统能够在可接受的记录数量变化的短间隔内更新[显示]记录计数。

引用:

  1. 功能需求 . b
  2. 非功能性需求 .
  3. 量化和可追溯性 李要求< / > < / >

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

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

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

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