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

为每一种情况给出例子。


当前回答

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

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

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

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

其他回答

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

让我详细说明一下。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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