软件工程中的非功能性要求

2021年3月11日17:06:50 发表评论 998 次浏览

非功能要求是对系统施加的约束或要求。它们指定软件的质量属性。非功能需求处理可扩展性, 可维护性, 性能, 可移植性, 安全性, 可靠性等问题。非功能需求解决了软件系统质量的重要问题。如果无法正确解决NFR, 则结果可能包括:

  • 用户, 客户和开发人员都不满意。
  • 软件不一致。
  • 在不考虑NFR的情况下修复该软件所需的时间和成本超支。

非功能性需求的类型:

  1. 可扩展性
  2. 可靠性
  3. 监管机构
  4. 可维护性
  5. 可维修性
  6. 效用
  7. 安全
  8. 可管理性
  9. 数据的完整性
  10. 容量
  11. 监管机构
  12. 可用性
  13. 易用性
  14. 互通性
  15. 环境因素

这些可以分为:

性能限制–

可靠性, 安全性, 响应时间等

经营限制–

这些包括物理限制(大小, 重量), 人员可用性, 技能水平考虑因素, 维护系统的可访问性等。

接口限制–

这些描述了系统如何与其环境, 用户和其他系统进行交互。例如, 用户界面及其质量(例如, 用户友好性)。

经济限制–

立即和/或长期费用。

生命周期要求–

设计质量:

这些都是在诸如可维护性, 增强能力, 可移植性等方面进行衡量的。

非功能需求的优势:

  • 他们确保软件系统遵守法律和遵守规则。
  • 它们指定软件的质量属性。
  • 它们确保软件系统的可靠性, 可用性, 性能和可伸缩性
  • 它们有助于构建软件系统的安全策略。
  • 它们确保了良好的用户体验, 简化了软件的操作, 并最大程度地降低了成本因素。

非功能需求的缺点:

  • 非功能性需求可能会影响各种高级软件子系统。
  • 它们通常会增加成本, 因为在软件体系结构/高级设计阶段需要特别考虑。
  • 一旦将非功能性需求传递到架构阶段, 就很难对其进行更改或更改。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: