我试图在企业架构师中直观地显示对象实例的关系。我有一个需求“A”和一个 B 类的实例,“:B”。在这两个对象之间,我创建了依赖关系。我希望通过在使用实例时将类名添加到实例的任何位置(例如在右下角)来显示这种关系。这意味着在任何使用“:B”的图表中,都会清楚地看到“:B”与“A”有关系,即使“A”没有出现在图表中。这可能吗?我尝试过shapescripts但没有成功。
1 回答
恐怕答案是“不是开箱即用”,因为元素的形状脚本无法访问元素的连接器。(相比之下,连接器的形状脚本可以访问其源元素和目标元素的某些属性。)但是,有两种选择。
备选方案 1
如果您不将需求表示为单独的需求元素,而是作为内部需求(在对象属性对话框的需求选项卡中访问),您可以通过在图表属性对话框的元素选项卡中选择需求来在图表中显示它们(制作设置图表-wide),或通过在对象的“功能和隔间可见性”对话框中选择“职责”(仅为该元素选择它)。
请注意,使用后一个选项,您还可以选择显示 Inherited Responsibilities,在您的情况下,这将在 object 中显示:B
对 class 的任何要求B
。
缺点是这只适用于内部需求。EA 允许您将内部需求设置为外部需求,即从“需求”选项卡中的列表条目创建适当的需求元素,但是虽然这不会从该列表中删除外部化需求,但它确实会阻止它们显示在以上方式。
备选方案 2
形状脚本以addin
财产的形式提供了一张越狱卡。这允许您的形状脚本调用加载项中的函数并显示结果。因此,您可以编写一个带有函数的插件,该函数返回所有连接的需求元素的名称并调用它。我已经使用它以与您描述的方式类似的方式显示需求,但这是针对客户的,因此我无法在此处发布任何代码。
插件方法的缺点是任何查看模型的人都需要安装插件,否则需求将不会显示。但是形状脚本不会发疯和崩溃(它只会悄悄地跳过对它找不到的加载项的任何调用),您仍然可以按照老式的方式找到需求属性对话框、可追溯性视图或元素浏览器中的链接。
哪个是更好的选择?好吧,这取决于...我个人更喜欢将建模需求作为适当的独立元素(可能从内部需求开始,然后将其外部化),因为它为您提供了更大的灵活性。但是,只有在您对客户端有一定控制权的情况下,您才应该使用 Add-In 路线,也就是说,如果您可以确保所有建模者都安装了 Add-In。