功能与非功能需求详细介绍

需求分析是非常关键的过程, 可以评估系统或软件项目的成功。需求通常分为两种类型:功能性和非功能性要求.
功能要求:这些是最终用户作为系统应提供的基本设施而特别要求的要求。所有这些功能都必须作为合同的一部分并入系统中。这些以要提供给系统的输入, 执行的操作和预期的输出的形式表示或陈述。与非功能性需求不同, 它们基本上是用户可以直接在最终产品中看到的用户陈述的需求。
非功能需求:
这些基本上是系统根据项目合同必须满足的质量约束。在一个项目之间, 实施这些因素的优先级或程度各不相同。它们也称为非行为要求。
他们基本上处理以下问题:
可移植性
安全
可维护性
可靠性
可扩展性
性能
可重用性
【功能与非功能需求详细介绍】灵活性
以下是功能需求和非功能需求之间的区别

功能要求 非功能性要求
功能需求定义了系统或其组件。 非功能性需求定义了软件系统的质量属性。
它指定"软件系统应该做什么?" 它对"软件系统应如何满足功能要求?"施加了限制。
功能要求由用户指定。 非功能性要求由技术人员指定, 例如架构师, 技术主管和软件开发人员。
这是强制性的。 这不是强制性的。
它是在用例中捕获的。 它被捕获为质量属性。
在组件级别定义。 应用于整个系统。
帮助你验证软件的功能。 帮助你验证软件的性能。
完成了系统, 集成, 端到端, API测试等功能测试。 完成非功能测试, 如性能, 压力, 可用性, 安全性测试等。
通常容易定义。 通常很难定义。
例子
1)每当用户登录系统时进行身份验证。
2)在发生网络攻击的情况下关闭系统。
3)每当用户在某个软件系统上首次注册时, 都会向其发送一封验证电子邮件。
例子
1)发送此类电子邮件的延迟应不超过12小时。
2)每个请求的处理应在10秒内完成
3)当并发用户数> 10000时, 网站应在3秒内加载

    推荐阅读