从XML类diagrm计算耦合和内聚度量

时间:2017-01-04 13:37:04

标签: oop class-diagram coupling cohesion

我正在尝试创建一个项目,使用粒子群优化为类责任分配问题提供决策支持。考虑诸如耦合和内聚的各种参数来导出适应度函数,并且将执行粒子群优化。程序的输入将是XML格式的UML类图。如何从XML格式的UML类图中计算以下参数:

MAC(c) - 类c和c之间的方法属性耦合 其他类 - 方法之间的交互总数 一个类(c)和其他类的属性相同 类图 MMC(c) - 类c和c之间的方法耦合 其他类 - 方法之间的交互总数 类(c)和同一类中其他类的方法 图 MGC(c)方法 - 泛化耦合 - 这是适用的 仅在那些应用泛化的类图中。

RCI(c)类的内聚相互作用比率 c:RCI(c)= | CI(c)| / | CImax(c)|。

CImax(c)是a中最大可能的内聚相互作用 c级 CI(c)是现有内聚交互的数量 在课堂上。

TCC(c)紧密的内聚 - 是成对的方法,m1和 m2,类c∈C,常用。

DMA(m,a)直接方法 - 属性之间的依赖关系 方法m和属性a。

DMM(m1,m)直接方法 - 方法之间的依赖关系 m1和m2。

如何从XML格式的UML类图中计算这些参数?

1 个答案:

答案 0 :(得分:1)

您需要弄清楚如何将该文件反序列化为对象表示,您可以使用该表示编写算法来执行您的操作。

如果没有更多信息,很难提供帮助。 你有的文件是XMI文件吗?您可以通过打开并搜索 xmlns:xmi =" http://www.omg.org/XMI" ;来解决此问题。如果找到,那么是的。 该文件是Ecore的一个实例吗?您可以通过搜索 ecore:来回答这个问题。如果找到,那么是。

如果文件是类图的XMI表示,以及Ecore的实例,则必须使用Eclipse Modeling Tools打开它。如果您设法以这种方式打开它,那么下一步就是在编写可以遍历类图的算法之前熟悉Eclipse Modeling Framework (EMF),就好像它是任何其他类似图形的数据结构一样。

我知道我的回答很长;即使是错误的,我宁愿把它留在这里让其他人来喋喋不休,即那些试图打开类图的XML表示的人。