非功能要求是对系统施加的约束或要求。它们指定软件的质量属性。非功能需求处理可扩展性, 可维护性, 性能, 可移植性, 安全性, 可靠性等问题。非功能需求解决了软件系统质量的重要问题。如果无法正确解决NFR, 则结果可能包括:
- 用户, 客户和开发人员都不满意。
- 软件不一致。
- 在不考虑NFR的情况下修复该软件所需的时间和成本超支。
- 可扩展性
- 可靠性
- 监管机构
- 可维护性
- 可维修性
- 效用
- 安全
- 可管理性
- 数据的完整性
- 容量
- 监管机构
- 可用性
- 易用性
- 互通性
- 环境因素
性能限制–
可靠性, 安全性, 响应时间等
经营限制–
这些包括物理限制(大小, 重量), 人员可用性, 技能水平考虑因素, 维护系统的可访问性等。
接口限制–
这些描述了系统如何与其环境, 用户和其他系统进行交互。例如, 用户界面及其质量(例如, 用户友好性)。
经济限制–
立即和/或长期费用。
生命周期要求–
设计质量:
这些都是在诸如可维护性, 增强能力, 可移植性等方面进行衡量的。
非功能需求的优势:
- 他们确保软件系统遵守法律和遵守规则。
- 它们指定软件的质量属性。
- 它们确保软件系统的可靠性, 可用性, 性能和可伸缩性
- 它们有助于构建软件系统的安全策略。
- 它们确保了良好的用户体验, 简化了软件的操作, 并最大程度地降低了成本因素。
- 非功能性需求可能会影响各种高级软件子系统。
- 它们通常会增加成本, 因为在软件体系结构/高级设计阶段需要特别考虑。
- 一旦将非功能性需求传递到架构阶段, 就很难对其进行更改或更改。
推荐阅读
- 计算两个列表共有但价格不同的商品
- MongoDB python 删除数据并删除集合
- 如何检查元素在JavaScript中是否有任何子代()
- PHP SplFixedArray key()函数用法介绍
- 如何学习ReactJS(初学者完整指南)
- 很简单!Vue.js入门教程手把手教你学会Vue.js开发
- 经典排序算法之选择排序(Selection Sort)实现原理和代码实现及其应用详解
- 数据库快速索引原理!B树和B+树的实现原理和实例代码全解
- 你真的懂树吗(二叉树、AVL平衡二叉树、伸展树、B-树和B+树原理和实现代码详解)