我不太了解以下主题,因为它与我阅读的内容有点模棱两可:
- Inlcude就像对下一部分的引用,没有它,用例是不完整的。这部分应该被更多的地方引用,否则它的使用是没有意义的。
但是我看到了一个例子,当只有一些 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
包含:一个包含用例调用或调用包含的用例。包含用于显示用例如何分解为更小的步骤。包含的用例位于箭头末端。
扩展:扩展用例向扩展用例添加目标和步骤。扩展仅在特定条件下运行。扩展用例位于箭头端。
在用例图上包含和扩展关系 http://i.msdn.microsoft.com/Dd409427.UML_UCOvStructure(en-us,VS.100).png