在设计软件系统时,功能性和非功能性需求有何区别?
针对每种情况给出示例。
最佳答案
功能性需求描述了软件系统应该做什么,而非功能性需求则限制了系统如何做。
让我详细说明一下。
功能要求的一个示例是:
- 只要满足特定条件(例如下订单、客户注册等),系统就必须发送电子邮件。
系统的相关非功能性需求可能是:
- 此类事件后发送电子邮件的延迟时间不得超过 12 小时。
功能需求描述系统的行为,因为它与系统的功能相关。非功能性需求详细阐述了系统的性能特征。
通常非功能性需求属于以下领域:
- 无障碍
- 容量、当前和预测
- 合规性
- 文档
- 灾难恢复
- 效率
- 有效性
- 可扩展性
- 容错
- 互操作性
- 可维护性
- 隐私
- 便携性
- 质量
- 可靠性
- 韧性
- 响应时间
- 稳健性
- 可扩展性
- 安全
- 稳定性
- 支持性
- 可测试性
更完整的列表可以在维基百科的 non-functional requirements 条目中找到。 .
非功能性需求有时根据指标(即可以测量系统的东西)来定义,以使它们更加具体。非功能性需求还可能描述系统中与其执行无关的方面,而是与其随时间的演变相关的方面(例如可维护性、可扩展性、文档等)。
关于requirements - 功能性需求和非功能性需求有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475979/