用例之间的UML关系(扩展/包含)

时间:2010-01-30 11:17:12

标签: uml use-case

我不太了解以下主题,因为它与我读到的内容有点模棱两可:

  • Inlcude 就像是对下一部分的引用,没有它就没有完成用例。这部分应该从更多的地方引用,否则它的使用没有任何意义。

但是我看到一个例子,只有在某些IF语句中有“include”才是真的,如: 添加新产品--->包含--->添加新制造商。 //仅在不存在时添加。为什么没有“延伸”?是因为其他地方可能再次使用“添加新制造商”吗? 感谢

2 个答案:

答案 0 :(得分:2)

完全。一旦你扩展了另一个用例,你已经到了当前用例的末尾。但是,您可以在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)]

include不会结束用例,它会使用另一个用例然后返回。 include类似于函数调用。您在其他功能中执行操作,然后返回并继续。你也可以在没有if语句的情况下使用include。

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,那么我们永远不会回到这个用例。

答案 1 :(得分:2)

以下是对以下主题的解释: UML用例图:参考http://msdn.microsoft.com/en-us/library/dd409427%28VS.100%29.aspx

  

包含:包括用例调用或调用包含的用例。包含用于显示如何   用例分成更小的步骤。附带的用例位于箭头末端。

     

扩展:扩展用例为扩展用例添加了目标和步骤。扩展   只在某些条件下运作。扩展用例位于箭头端。

Include and Extend relationships on a use case diagram http://i.msdn.microsoft.com/Dd409427.UML_UCOvStructure(en-us,VS.100).png