Skip to content
AI总结

笔记总结与重点分析

笔记总结

本笔记系统阐述了优秀软件需求应具备的7个核心特性(完整性、正确性、精确性、可行性、必要性、无歧义、可验证性),每个特性均包含明确定义与实施要点。同时归纳了5种常见需求定义错误类型及其对应的特性关联关系,着重指出了需求定义过程中需要避免的典型问题。

重点/易考点分析 (名词解释)

什么是需求的完整性?

  • 不需要做更多的扩展就可以充分说明用户所需系统功能
  • 每个需求描述都应包含开发人员设计和实现该功能需要的所有信息
  • 示例对比:系统应该允许被扩展(差)→ 系统的调度算法应该允许被扩展(优)

什么是需求的可验证性?

  • 通过分析/检查/模拟/测试等方法能够判断需求是否被满足
  • 实现要求:需求描述需具体化,慎用形容词/副词,避免程度词
  • 不可验证的原因:描述模糊或过于抽象

什么是需求的可行性?

  • 需要开发人员通过分析研究(而非仅凭经验)进行验证
  • 必要时需通过开发原型加以验证
  • 需确保技术实现可能性

什么是需求的无歧义性?

  • 每项需求必须有且只能有一种解释
  • 实施方法:建立共同理解的词汇表(Glossary)
  • 避免模糊表述导致的多种理解可能性

什么是常见需求定义错误中的"不必要需求"?

  • 违反精确性特性
  • 指需求描述包含非必要信息
  • 需要确保描述内容简洁清晰且必要

什么是需求的正确性?

  • 必须真实反映用户的意图
  • 验证方式:需需求提出者亲自确认
  • 防止开发团队与用户的理解偏差

(我还没有掌握有关知识,此回答为大模型自动生成)

优秀需求特性与常见需求定义错误

优秀需求特性

完整性

  • 不需要做更多的扩展就可以充分的说明用户所需要的系统功能。
  • 每一个需求的描述都应该包含开发人员设计和实现这项功能需要的所有信息
  • 示例:系统应该允许被扩展。
  • 更好:系统的调度算法应该允许被扩展。
  • 在本实例中,系统预留出系统接口以便于多个业务系统进行接口对接。

正确性

  • 真实的反映用户的意图
  • 必须请需求的提出者予以确认

精确性

  • 描述仅包含必要的信息
  • 简洁、清晰

可行性

  • 由开发人员进行检查
  • 需要进行一定的分析和研究,而不是单纯的凭借经验和直觉
  • 必要的时候要通过开发原型来加以验证

必要性

  • 满足用户的业务需求所必需的

无歧义

  • 每一项需求都应该有而且只能有一种解释
  • 定义一个可以共同理解的词汇表(Glossary)

可验证

  • 通过分析、检查、模拟或者测试等方法能够判断需求是否被满足
  • 不可验证的需求往往是因为描述模糊或者过于抽象,所以在进行需求的描述时要
    • 让需求具体化
    • 小心形容词和副词的使用
    • 避免程度词的使用

常见需求定义错误

  • 明显的信息遗漏
    • 完整性
  • 不必要的需求
    • 精确性
  • 明显的信息遗漏
    • 完整性
  • 需求并没有反映用户的真实需要
    • 正确性
  • 模糊和歧义的需求
    • 无歧义