企业架构师对象图重构

3
我已经创建了类图。每个类都有它的属性和操作。
然后我创建了对象图。在这个图中,我放置了我的类的实例。并且我为每个属性定义了运行状态。
在几次迭代中,我们对一些属性进行了重命名、废弃或删除。是否有一种正确的方式来重构类图?这样当我在类图中重命名一个类的属性时,它也会在对象图中改变(这个类被实例化的地方)?
我假设EA中应该有某种重构功能,因为重命名只是重构任务之一。
我使用Sparx Enterprise Architect 8.0。

你使用哪个 UML 图形软件? - Farid Movsumov
Sparx Enterprise Architect - Theo Walcott
1个回答

2

EA可以为您完成这项工作。首先打开对象图。然后在项目浏览器中选择您的类并将其拖到对象图上。EA将询问您如何粘贴它。选择“实例(对象)”。您对类所做的任何更改都应立即反映在任何实例(对象)中。我创建了一个名为“class”的类的测试用例。在实例化后,我将int属性从“sdf”重命名为“sdff”。EA会相应地更改相应的对象属性。同时删除的属性也会自动从实例中删除。

已使用EA 10进行测试(我没有安装v8,但很可能以同样的方式工作)。


据我所记,这也适用于v8.0。使用它有助于避免冗余。 - MOnsDaR
我本以为它会那样工作,但实际上并没有。稍后我会再次检查10和8.0版本。 - Theo Walcott
看起来我缺少了某些东西。我在新项目中尝试过,将类的属性重命名后,对象中并没有改变。你能把你的项目发布到某个地方吗?当我在类中重命名一个属性,然后进入对象运行状态(ctr+shift+r),它显示了一个旧属性,同时也显示了一个新属性。 - Theo Walcott
你尝试在EA 10中进行相同操作以排除版本问题的可能性了吗?您可以从Sparx下载免费试用版。我现在已经在EA 9.1中创建了演示,这是我现在能够获得的最旧版本,您可以在此处找到它:https://www.dropbox.com/s/iw20ospsgy948yq/objectTest.eap请查看符号:Class1,该符号指示对象是哪个类的实例。 - observer
1
我已经做了以下工作:通过单击ctr+shift+r设置对象myObject的运行状态,并将sdff=123。然后,我进入Class1并将其属性sdff重命名为sdff1。猜怎么着?它没有反映出这些变化在myObject中。现在,您可以进入set run state for myObject并查看它有两个属性(即使Class1只有一个)。请查看我的. eap项目以获取开始回复。我错过了什么吗?想尝试IBM Rational Software Architect,但它像地狱一样缓慢,所以也许以后再说。 - Theo Walcott
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接