知识卡片

用例图与用例规约的差异化归档策略

普通读书笔记卡

内容

编写《软件需求规格说明书》时,一个常见的浪费做法是”一刀切”——不管用例的数量和复杂程度,把所有用例都细化到用例规约的程度,甚至为了赶进度动员所有程序员”帮忙”突击写用例规约,这种做法效率低下,很多花费大量精力写出的用例规约实际上没有对应的价值。正确做法是应用[[用例技术族四种技术的用途定位]]的知识,对不同用例区别对待:文档结构上,”需求概述”和”具体需求”两节应该分开;第2节”需求概述”里的”用例模型”部分归档用例图和用例简述,且要求全面覆盖所有用例,不能有遗漏;第3节”具体需求”里的”用例描述”部分,只对重要用例、复杂用例、易产生分歧的用例才用用例规约方式详细归档,如果时间紧或研发风险小,完全可以不归档全部用例的规约。这条策略背后的核心判断标准可以概括成一句话:用例图贵在”全”、覆盖”面”,用例规约贵在”深”、覆盖”点”——用例图必须做到无遗漏,因为它是系统功能范围的总览;用例规约则应该聚焦在真正有必要深挖的少数用例上,对简单、低风险、无争议的用例过度细化只是在浪费精力,不会带来相应的质量或沟通收益。

参考来源

- 位置:《软件架构设计:程序员向架构师转型必备》第6章《用例与需求》"6.2.2 用例与需求文档"节(源文件:_epub-src/OEBPS/text00009.html) - 结论依据:原文说明"第3节'具体需求'一节的'用例描述'部分,以用例规约方式归档重要用例、复杂用例、易产生分歧的用例;如果时间紧或研发风险小,完全可以不归档全部用例",并总结"'用例图'贵在'全'、覆盖'面'。'用例规约'贵在'深'、覆盖'点'",直接支撑本卡片结论。 - 原始内容:本书建议,在写《需求规格说明书》时不要"一刀切"地对待所有用例——不管用例的数量、用例的复杂程度,一股脑儿将所有用例细化到用例规约程度——这是不对的……"用例图"贵在"全"、覆盖"面"。"用例规约"贵在"深"、覆盖"点"。