需求分析是非常关键的过程, 可以评估系统或软件项目的成功。需求通常分为两种类型:功能性和非功能性要求.
功能要求:这些是最终用户作为系统应提供的基本设施而特别要求的要求。所有这些功能都必须作为合同的一部分并入系统中。这些以要提供给系统的输入, 执行的操作和预期的输出的形式表示或陈述。与非功能性需求不同, 它们基本上是用户可以直接在最终产品中看到的用户陈述的需求。
非功能需求:
这些基本上是系统根据项目合同必须满足的质量约束。在一个项目之间, 实施这些因素的优先级或程度各不相同。它们也称为非行为要求。
他们基本上处理以下问题:
可移植性
安全
可维护性
可靠性
可扩展性
性能
可重用性
【功能与非功能需求详细介绍】灵活性
以下是功能需求和非功能需求之间的区别
功能要求 | 非功能性要求 |
---|---|
功能需求定义了系统或其组件。 | 非功能性需求定义了软件系统的质量属性。 |
它指定"软件系统应该做什么?" | 它对"软件系统应如何满足功能要求?"施加了限制。 |
功能要求由用户指定。 | 非功能性要求由技术人员指定, 例如架构师, 技术主管和软件开发人员。 |
这是强制性的。 | 这不是强制性的。 |
它是在用例中捕获的。 | 它被捕获为质量属性。 |
在组件级别定义。 | 应用于整个系统。 |
帮助你验证软件的功能。 | 帮助你验证软件的性能。 |
完成了系统, 集成, 端到端, API测试等功能测试。 | 完成非功能测试, 如性能, 压力, 可用性, 安全性测试等。 |
通常容易定义。 | 通常很难定义。 |
例子 1)每当用户登录系统时进行身份验证。 2)在发生网络攻击的情况下关闭系统。 3)每当用户在某个软件系统上首次注册时, 都会向其发送一封验证电子邮件。 |
例子 1)发送此类电子邮件的延迟应不超过12小时。 2)每个请求的处理应在10秒内完成 3)当并发用户数> 10000时, 网站应在3秒内加载 |
推荐阅读
- JavaScript按位运算符用法指南
- 在不使用GCD的情况下查找两个以上(或数组)数字的LCM
- C中的输入输出系统调用创建,打开,关闭,读取,写入
- DNS欺骗或DNS缓存中毒简要介绍
- U盘识别不了,本文教您U盘识别不了怎样修好
- win10u盘安装,本文教您怎样用U盘安装win10
- u盘无法打开,本文教您U盘打开不了常用修好办法
- 联想电脑怎样进入bios,本文教您联想笔记本bios怎样设置U盘打开
- 笔记本怎样进入bios,本文教您神舟笔记本怎样进入bios