首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >功能性需求和非功能性需求有什么区别?

功能性需求和非功能性需求有什么区别?
EN

Stack Overflow用户
提问于 2013-05-10 05:48:37
回答 6查看 862.6K关注 0票数 308

在设计软件系统时,non-functional功能的需求有什么区别?

给出每个案例的例子。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-05-10 05:52:44

一个功能需求描述了软件系统应该做什么,而非功能需求则对系统将如何这样做施加了限制。

让我详细说明一下。

功能需求的一个例子是:

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

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

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

功能需求是,它描述系统的行为,因为它与系统的功能有关。非功能需求阐述了系统的性能特点.

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

  • 可访问性
  • 容量、电流和预测
  • 合规性
  • 文档
  • 灾后恢复
  • 效率
  • 有效性
  • 扩展性
  • 容错性
  • 互操作性
  • 维修性
  • 隐私
  • 便携性
  • 质量
  • 可靠性
  • 恢复力
  • 响应时间
  • 鲁棒性
  • 可扩展性
  • 安全性
  • 稳定性
  • 可支持性
  • 可测性

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

非功能性需求有时被定义为度量(即可以对系统进行度量的东西),以使它们更加有形。非功能需求还可以描述系统中与其执行无关的方面,而是与其随着时间的发展而变化的方面(例如可维护性、可扩展性、文档化等)。

票数 560
EN

Stack Overflow用户

发布于 2013-05-10 05:59:20

功能需求是用户对软件的主要要求,例如,如果应用程序是一个银行应用程序,应用程序应该能够创建一个新帐户、更新帐户、删除帐户等功能需求将在系统设计中详细说明。

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

票数 35
EN

Stack Overflow用户

发布于 2016-08-31 09:40:01

功能需求

  1. 功能需求指定系统或系统组件必须能够执行的功能。它可以以各种方式记录下来。最常见的是文档和用例中的书面描述。
  2. 用例可以是文本枚举列表以及描述用户操作的图表。每个用例都通过一个或多个功能需求来说明行为场景。但是,分析人员通常会从引出一组用例开始,分析人员可以从这些用例中派生出必须实现的功能需求,以允许用户执行每个用例。
  3. 功能需求是系统应该完成的。它可能是
代码语言:javascript
复制
- Calculations 
- Technical details 
- Data manipulation
- Data processing
- Other specific functionality

  1. 一个典型的功能需求将包含一个独特的名称和编号、一个简短的摘要和一个基本原理。这些信息被用来帮助读者理解为什么需要需求,并通过系统的开发来跟踪需求。

非功能性需求

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

  1. 非功能性需求是功能需求以外的任何其他需求。这是指定可用于判断系统操作的标准的要求,而不是特定行为
  2. 非功能需求是以的形式存在的,系统应是",系统的整体属性或特定方面而不是特定功能“。系统的总体属性通常标志着开发项目是否成功或失败之间的区别。
  3. 非功能性需求可分为两大类:
代码语言:javascript
复制
- **Execution qualities**, such as security and usability, which are observable at run time.
- **Evolution qualities**, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system.

  1. 非功能性需求对正在开发的产品、开发过程进行限制,并指定产品必须满足的外部约束。
  2. IEEE-Std 830 - 1993列出了软件需求文档中包含的13个非功能需求。

  1. 性能要求
  2. 接口要求
  3. 业务需求
  4. 所需资源
  5. 核查要求
  6. 验收要求
  7. 文件要求
  8. 安保要求
  9. 可移植性要求
  10. 质量要求
  11. 可靠性要求
  12. 可维护性要求
  13. 安全要求

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

  • 在需求文档中要包含的细节级别
  • 系统客户和系统开发人员之间的信任程度。

例如。可能需要系统向用户显示数据库中的记录数。这是一项功能要求。如何更新这一数字需要,是一个非功能的要求。如果需要实时更新数字,系统架构师必须确保系统能够在更改记录数量的可接受的短间隔内更新显示的记录计数。

参考文献:

  1. 功能需求
  2. 非功能性需求
  3. 需求的量化和可跟踪性
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16475979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档