在很多情况下,为什么需要将一个用例拆分或分解为两个或更多用例?
答案 0 :(得分:1)
在多个用例中拆分一个用例的唯一原因是,通过在一个单独的用例中隔离一个功能,可以在多个用例之间共享重要的功能。
示例:“搜索产品信息”可能是用例“购买产品”和“租用产品”中包含的单独用例。
除了“ include”之外,还有一些使用“ extend”或“ generalize”的相同原理的示例。
这样做,可以防止在多个用例中复制共享行为,并可能导致不一致的情况。
在上一个示例中:我们希望确保与购买产品时相比,顾客在购买时不会以不同的方式搜索产品信息。有了包含的用例,阅读用例的人就会立即意识到这一事实。
答案 1 :(得分:0)
首先:您没有。开始这样做意味着您正在进行功能分析。用例综合的重点是要找到不同参与者与正在考虑的系统进行交互时所具有的目标(即增值)。将目标划分为该级别的子目标是完全没有用的。您是否拥有一些附加价值,或者您没有附加价值。因此,如果某人已经解决了一个用例并试图将其分解,则该用例要么是错误的(无用例),要么是无用的,因为用例已经显示了附加值。
我对包含和扩展的个人看法是:它们本质上是邪恶的,是技术人员(大多数UML设计师都是)引入的错误概念,没有业务背景。使用它们意味着您已经在开始功能分析。但是,UC是根据需求综合而成的。就是说,您将网拖到要求中,然后捞出适合的内容,以构建一个有意义的故事-并带来附加值:一个用例。
和往常一样:阅读有关使用案例的Bittner / Spence。