我将包层次结构的XMI导入到本地模型,并且已成功导入。
当我将相同的XMI导入共享模型(Oracle DB)时,序列图中的所有序列和消息都将被删除。
有什么想法吗?
答案 0 :(得分:1)
这是一个已知问题。 (搜索"版本控制" +"序列图"在EA论坛中)
在序列图中使用实例而不是分类器将在某种程度上解决该问题。
答案 1 :(得分:1)
模型的XMI表示包含有关导出包中元素及其连接器的信息。然而,在结构上,连接器不存储在EA的数据模型中的包中,因此EA只是将每个连接任何元素的连接器写入XMI文件,无论连接器另一端的元素是否为在范围内。
另一方面,根据定义连接器的两端连接 - 您不能在EA中创建仅连接到一端的元素的连接器。这意味着每个连接器都写入XMI文件,并引用其两个元素。
如果两个元素都在XMI导出的范围内(在同一个包树中),那么一切都很好。但如果只有其中一个,EA无法在导入时重新创建连接器 - XMI文件中只有一个元素。发生这种情况时,EA将忽略有问题的连接器。
这是一个例外,如果XMI文件中缺少的元素恰好在模型中。在这种情况下,EA将重新创建连接器。我想这可能就是你在“本地”模式中看到的。
答案 2 :(得分:1)
使用Enterprise Architect v.13,我设法摆脱了麻烦; 假设你的序列的Lifelines实例分类器设置为你想要在我们的序列中使用的类/组件:
我将从基线生成的XMI文件与通过单击“导入/导出”选项生成的XMI进行比较,它们有差异......似乎基线的导出XMI包含模型的完整信息(包括根节点),因此我认为导入过程可能会解析每个链接到不在同一个包中的对象......