如何在Sparx Enterprise Architect中显示对象实例的关系?

时间:2013-09-03 07:29:50

标签: uml enterprise-architect

我试图直观地展示企业架构师中对象实例的关系。 我有一个要求“A”和一个B类的实例,“:B”。在这两个对象之间我创建了一个依赖关系。我想通过在使用实例时将类名添加到实例(例如在右下角)的任何地方来显示此关系。 这意味着在任何使用“:B”的图中,可以清楚地看到“:B”与“A”有关系,即使图中没有“A”。 这可能吗?我试过shapecripts没有成功。

1 个答案:

答案 0 :(得分:0)

我担心答案是“没有开箱即用”,因为元素的形状脚本无法访问元素的连接器。 (相比之下,连接器的形状脚本可以访问其源元素和目标元素的某些属性。)但是,有两种选择。

备选方案1

如果您将需求表示为不是单独的Requirement元素而是作为内部需求(在对象的属性对话框的Requirements选项卡中访问),则可以通过在图的属性对话框的Elements选项卡中选择Requirements来在图表中显示它们(make图表范围内的设置),或者在对象的“特征和隔间可见性”对话框中选择“职责”(仅为该元素选择它)。

请注意,使用后一个选项,您还可以选择显示“继承的职责”,在您的案例中,将在对象:B中显示对课程B的任何要求。

缺点是这仅适用于内部要求。 EA允许您在内部创建内部需求,即从“需求”选项卡中的列表条目创建适当的需求元素,但是虽然这不会从该列表中删除外部化需求,但它会阻止它们显示在图表中。以上方式。

备选方案2

Shape脚本以addin属性的形式提供了一个免于出狱的卡片。这允许您的形状脚本调用加载项中的函数并显示结果。因此,您可以编写一个带有函数的加载项,该函数返回所有连接的Requirement元素的名称并调用它。我用它来以与你描述的方式类似的方式显示需求,但这是针对客户端的,所以我不能在这里发布任何代码。

加载项方法的缺点是,任何查看模型的人都需要安装加载项或者不会显示要求。但是形状脚本不会发疯并崩溃(它只会悄悄地跳过对它无法找到的加载项的任何调用),并且您仍然可以通过遵循以下方式找到旧方式的要求。属性对话框,可跟踪性视图或元素浏览器中的链接。

哪个更好?嗯,这取决于...我个人更喜欢建模需求作为适当的,单独的元素(可能从内部需求开始,然后外部化),因为它为您提供了更多的灵活性。但是,如果您对客户端有一定的控制权,那么您应该只进入加载项路由,也就是说,如果您可以确保所有建模者都安装了加载项。