在 Enterprise Architect 中组织图表元素

Organising Diagram Elements in Enterprise Architect

相当基本的问题,但我找不到任何指导,我们正在使用共享存储库和 E.A。 14

当人们将元素添加到图表时 - 比如说将 class 拖到序列图上,它会在与图表相同的包中创建一个图表元素(如果这是正确的术语)。一个包中有几个图表,可能会有很多元素,有些元素看起来是重复的,因为将 class 拖到许多图表上,每次都会为每个图表创建一个新元素,并且一切都开始变得有点混乱.

为了避免重复相同的 class,在您的情况下,首先在一个包中创建 class 元素,然后使用这些元素将它们放置在不同的图表中可能更容易。 但也许你的意思是你不想在序列图中用 classes 创建对象?!

EA 有不同的方法来 "create" 图表元素。当您按住 Ctrl 键并将元素从浏览器拖动到图表上时,您会看到一个对话框

  • Link 将按原样使用该元素。它只是引用被拖动的元素。通常这就是你想要的。一个元素只能链接一次。有一些粗略的 Sparxian 方法可以创建影子链接,但我不推荐使用它。
  • Instance(这显然是您正在使用的)创建拖动元素的实例。实际上,它是一个被拖动元素 class 化的对象。您可以创建任意数量的对象。但当然:它们都是不同的,只有 classifier 是共同的。
  • Child 最终也会创建一个新元素,但这次它是被拖动元素的克隆,它会自动附加一个泛化关系。

您可以保存选择,这样拖动将始终使用 Link/... 直到您再次按住 Ctrl 并再次拖动。

作为旁注:当使用序列图时,EA(Sparxian 思维)也允许同样的事情。但是,SD 不得使用链接(即 类)而只能使用对象。当 saving/re-loading 通过 EA 的版本控制时,您将丢失元素。一个已知的错误 - 几十年来。不会被修复,因为在某个地方(祝你好运找到它)它记录在帮助中。

关于你原来的问题:是否使用实例取决于你想展示什么。

在任何情况下都不应重复使用 SD 中的生命线。它们代表不同上下文中的不同对象。确保将 SD 置于为此目的创建的上下文中。使用浏览器中 class 的上下文菜单中的 Add/Interaction/with SD 创建这样一个逻辑大括号。