繁体   English   中英

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

[英]UML relation between usecases (extend/include)

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

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

但是我看到了一个示例,其中在某些IF语句中只有“ include”为真,例如: Add new product ---> include ---> Add new producer //仅在不存在时添加。 为什么没有“扩展”? 是否因为可能在其他地方再次使用“添加新制造商”? 谢谢

究竟。 扩展了另一个用例之后,您就可以达到当前用例的结尾。 但是,您可以在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并没有结束一个用例,它使用了另一个用例,然后返回。 包含类似于函数调用。 您执行其他功能中的操作,然后返回并继续。 您也可以包含一个包含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,那么我们将永远不会回到该用例。

这是来自以下主题的解释: UML用例图: http : //msdn.microsoft.com/zh-cn/library/dd409427%28VS.100%29.aspx上的 参考

包含 :一个包含用例调用或调用包含的用例。 包含用于显示用例如何分解为较小的步骤。 随附的用例位于箭头末端。

扩展 :扩展用例将目标和步骤添加到扩展用例中。 这些扩展仅在某些条件下运行。 扩展用例位于箭头末端。

在用例图上包含和扩展关系http://i.msdn.microsoft.com/Dd409427.UML_UCOvStructure(zh-cn,VS.100).png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM