UML之关系

扩展关系(extends)

一般来说,扩展关系是带有抽象性质的,它表示用例场景的某个“支流”,由特定的扩展点出发而被启动。

扩展表示的是“可选”,而不是“必需”,这意味着即使没有扩展用例,基本用例也是完整的;如果没有基本用例,扩展用例是不能单独存在的;如果有多个扩展用例,同一时间用例实例也只会使用其中一个。

在建模的过程中,我们使用扩展关系可能基于以下理由:

  1. 表明用例的某部分是可选(或可能可选)的系统行为。这样就能在系统中把可选行为和必选行为分开。
  2. 表明只在特定情况下(有时是例外条件)下才执行分支流,如触发警报。
  3. 表明可能有一组行为段,其中的一个或多个段可以在基本用例的扩展点处插入。所插入的行为段将取决于执行基本用例时与主角的交互。
  4. 表明多个基本用例中都有可能触发一个可选的分之流。从这个意义上说,扩展用例代表了多个用例的可复用部分。

包含关系(include)

包含用例表示的是“必需”而不是“可选”,这意味着如果没有包含用例,基本用例是不完整的,同时没有基本用例,包含用例也是不能独立存在的。

 

建模过程中使用包含关系基于以下理由:

  1. 从基本用例中分解出来这样的行为:他对于了解基本用例的主要目的并不是必需的,只有他的结果才比较重要。
  2. 分解出2个或更多用例所共有的行为。
原文地址:https://www.cnblogs.com/HeroBeast/p/1820646.html