【发布时间】:2010-01-30 11:17:12
【问题描述】:
我不太了解以下主题,因为我读到的内容有点模棱两可:
- Inlcude 就像对下一部分的引用,没有它,用例是不完整的。这部分应该被更多的地方引用,否则它的使用毫无意义。
但是我看到了一个例子,只有在某些 IF 语句中存在“包含”是真的,例如: 添加新产品--->包括--->添加新制造商。 //仅在不存在时添加。为什么没有“扩展”?是否因为其他地方可能再次使用“添加新制造商”? 谢谢
【问题讨论】:
我不太了解以下主题,因为我读到的内容有点模棱两可:
但是我看到了一个例子,只有在某些 IF 语句中存在“包含”是真的,例如: 添加新产品--->包括--->添加新制造商。 //仅在不存在时添加。为什么没有“扩展”?是否因为其他地方可能再次使用“添加新制造商”? 谢谢
【问题讨论】:
没错。一旦您扩展了另一个用例,您就已经到达了当前用例的末尾。但是,您可以在 if 中进行扩展。想象一下。
1) The driver asks if his guests want Wendys or Burger King
2) The guests choose they want Burger King [extend to eating at Burger King (use case 5)]
3) The guests choose they want Wendys [extend to eating at Wendys (use case 9)]
包含不会结束一个用例,它使用另一个用例然后返回。包含类似于函数调用。您在另一个函数中执行操作,然后返回并继续。你也可以有一个不带 if 语句的包含。
1) The driver orders the food
2) The driver drives to the first window
3) The driver pays the cashier (include handling a credit card transaction (use case 3)]
4) The driver drives to the second window
5) The driver gets the food
请注意,在上面的扩展中不起作用。这是因为司机仍然需要到第二个窗口去取食物。如果我们扩展到用例 3,那么我们将永远不会回到这个用例。
【讨论】:
下面是来自以下主题的解释:UML 用例图:参考http://msdn.microsoft.com/en-us/library/dd409427%28VS.100%29.aspx
包含:包含用例调用或调用包含的用例。包含用于显示如何 一个用例分解成更小的步骤。包含的用例位于箭头端。
扩展:扩展用例将目标和步骤添加到扩展用例。扩展名 仅在特定条件下运行。扩展用例在箭头末端。
【讨论】: