UML关系“使用”和“包含”是否相同?

时间:2014-04-03 06:28:24

标签: uml use-case

用例图中的关系«use»和«include»是否相同?

3 个答案:

答案 0 :(得分:2)

  • «use»不是用例图的标准元素。但是UML标准允许使用外来的图表元素。因此,您可以正式使用通常属于类图元素的«use»元素,并且是一种依赖关系。其含义是:
  

用法是一个依赖关系,其中一个NamedElement需要另一个   NamedElement(或NamedElements集合)用于其完整实现或   操作。用法未指定客户端如何使用供应商   除了供应商被定义或使用的事实   实施客户。

(引自UML 2.5标准)

  • «包括»
  

“是两个UseCases之间的DirectedRelationship,表示该   包含的UseCase(添加)的行为被插入到   包含UseCase(包括Case)的行为它也是一个   NamedElement的类型,以便它可以在其上下文中具有名称   拥有UseCase。包括UseCase可能取决于更改   通过执行包含的UseCase生成。包含的UseCase必须   可用于包含UseCase的行为   完全描述了。“。

(引自UML 2.5标准)

所以,这两种联系在意义上都非常接近,但在技术上并不相同。

  • 用法适用于NamedElements和Including to Behaviors。
  • Incliding是一个更强大的元素 - 它可以是NamedElement本身。
  • 他们的主要区别是恕我直言,用法可以描述实现。
  • 此外,Usage可以将Including连接到其他一些NamedElement。包括无法连接用法。这种差异足够激进,但不是很重要,因为很少需要这种联系。

形式上,你可以在用例中使用它们,但它的真正原因很少发生。最现实的情况是,当您在Use Case图中使用某些类时(也允许使用它),并在它们之间使用«use»。

答案 1 :(得分:1)

在课程中,用法(«使用»)和包含(«包括»)是不同的含义。 通常,我们不会在用例图上使用这么多的Usage关系,这意味着一个元素需要另一个元素 另一方面,Include被大量使用,意味着源用例包括(总是)目标用例。

答案 2 :(得分:-1)

«use»在UML 2.0中已经过时(可能更早),你应该坚持使用«include»和«extend»。