知识卡片
否定也能消歧
内容
需求文档有时需要明确说明“不需要什么”,因为边界外的能力如果不排除,利益相关者会按自己的期待补全。否定需求能减少歧义,也能保护架构不被隐含范围拖大。发散:复杂项目中,范围管理不只靠列功能,也靠列出不会承担的责任。
参考来源
- 位置:《架构实战:软件架构设计的过程》第7章《定义需求》7.6节“最佳实践:如果有助于理解,声明什么不是必需的”(源文件:_chapter-text/ch07.txt)
- 结论依据:原文以YourTour系统明确声明“不直接实现处理支付和预定”为例,说明声明什么不是必需的有助于防止利益相关者做出错误假设,直接支持“否定也能消歧”这一论点。
- 原始内容:有时候,声明什么不是必需的会有助于防止对需求作出(错误的)的假设和理解不够清晰。一个好的例子就是“YourTour系统不直接实现处理支付和预定(住宿和车程)的问题,它将分别实现和Mypay支付引擎及MyReservation预定系统之间的接口”。