什么是function性和非function性要求?
我读了很多网站。 在devise软件系统时,我不明白function和非function需求之间的确切区别。
你能举两个例子吗? 并给每个简短的定义。
function需求描述了软件系统应该做什么,而非function需求则限制了系统如何实现。
让我详细说一下。
function要求的一个例子是:
- 系统必须在满足某些条件时发送电子邮件(例如,下订单,客户注册等)。
系统的相关非function要求可以是:
- 电子邮件的发送时间应不超过12小时。
function要求是描述与系统function相关的系统行为 。 非function性要求阐述了系统的性能特征 。
通常情况下,非function性需求属于以下领域:
- 无障碍
- 容量,当前和预测
- 合规
- 文档
- 灾难恢复
- 效率
- 效用
- 可扩展性
- 容错
- 互通性
- 可维护性
- 隐私
- 可移植性
- 质量
- 可靠性
- 弹性
- 响应时间
- 稳健性
- 可扩展性
- 安全
- 稳定性
- 保障性
- 可测性
维基百科的非function需求条目提供了更完整的列表。
非function性需求有时是根据度量标准(可以衡量系统的某些东西)来定义的,以使它们更加切实可行。 非function性需求也可能描述了与系统执行无关的方面,而是描述了系统随时间的变化(如可维护性,可扩展性,文档等)。
function需求是用户从软件期望的主要事情,例如,如果应用程序是应用程序应该能够创build新账户,更新账户,删除账户等的银行应用程序,则function需求被详细描述并被指定在系统devise中
非function性获取不是系统的直接要求,而是与可用性有关(以某种方式),例如,对于银行应用程序来说,主要的非function需求将是可用的,应用程序应该是全天候可用的,没有停机时间如果可能的话。
function需求系统必须执行的活动
- 企业使用function用户执行
- 如果您正在开发工资系统所需的function,请使用用例
- 产生电子资金转账
- 计算佣金额
- 计算工资税
- 向国税局报税
function要求
-
function需求指定了系统或系统组件必须能够执行的function。 它可以以各种方式logging。 最常见的是文档描述和用例。
-
用例可以是文本枚举列表以及图表,描述用户操作。 每个用例通过一个或多个function需求来说明行为场景。 通常情况下,分析人员首先会引出一组用例,分析人员可以从中获得必须实现的function要求,以允许用户执行每个用例。
-
function需求是系统应该完成的 。 可能是
- 计算
- 技术细节
- 数据操作
- 数据处理
- 其他特定的function
-
一个典型的function需求将包含一个唯一的名称和编号,一个简短的总结,和一个基本原理。 这些信息用于帮助读者理解为什么需要这个需求,并通过系统的开发来跟踪需求。
非function性要求
LBushkin已经解释了非function性需求。 我会添加更多。
-
非function性要求是除function要求之外的其他任何要求。 这是指定可用于判断系统操作的标准的要求,而不是具体的行为 。
-
非function性要求是“系统应该”的forms,是整个系统或特定方面的整体性质,而不是特定的function。 系统的整体属性通常标志着开发项目是成功还是失败。
-
非function性要求 – 可以分为两大类:
- 执行质量 ,如安全性和可用性,在运行时可观察到。
- 软件系统的静态结构体现了可testing性,可维护性,可扩展性和可伸缩性等演化品质 。
- 非function性要求对正在开发的产品,开发过程以及产品必须满足的外部约束条件进行限制。
- IEEE-Std 830 – 1993列出了13个非function性要求,包括在软件要求文件中。
- 性能要求
- 接口要求
- 操作要求
- 资源要求
- validation要求
- 验收要求
- 文件要求
- 安全要求
- 可移植性要求
- 质量要求
- 可靠性要求
- 可维护性要求
- 安全要求
是否将需求expression为function性或非function性需求可能取决于:
- 在要求文件中包含的细节层面上
- 系统客户和系统开发者之间存在的信任程度。
防爆。 可能需要系统向用户显示数据库中的logging数量。 这是一个function要求。 如何更新此数字需要是最新的,是一个非function性的要求。 如果需要实时更新号码,则系统架构师必须确保系统能够在logging数量变化的可接受的较短间隔内更新[显示的]logging计数。
参考文献:
- function要求
- 非function性要求
- 需求的量化和可追溯性
function要求是与系统的技术function相关的function要求。
非function性需求是一个要求,它规定了可用于判断系统在特定条件下运行的标准,而不是特定的行为。
例如,如果您考虑购物网站,则将商品添加到购物车,浏览不同的商品,应用优惠和交易以及成功下达订单都属于function要求。
在高峰时段系统性能的好坏,系统从数据库中检索数据所花费的时间,用户数据的安全性,系统在大量用户login时处理能力都受到非function性要求的影响。
我认为function需求是从客户端到开发者端,关于软件对用户的function, 而非function需求是从开发者到客户端的,即客户端没有给出需求,而是由开发者提供的平滑运行的系统安全性,安全性,灵活性,可扩展性,可用性等