[发明专利]一种基于多级划分算法的大类图拆分方法在审
申请号: | 201811494107.0 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109799972A | 公开(公告)日: | 2019-05-24 |
发明(设计)人: | 赵晓非;李进帅;柴争义;袁媛;牛松森 | 申请(专利权)人: | 天津电气科学研究院有限公司;天津工业大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F16/901 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 300180 *** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加权图 算法 大类 耦合 类目 形式化定义 反应耦合 逆向工程 问题转化 压缩 传统的 有效地 微调 可读性 还原 改进 转化 | ||
1.一种基于多级划分算法的大类图拆分方法,其特征在于包括以下步骤:
步骤1:对类图进行形式化定义;
步骤2:计算类目间的耦合强度并建立加权图;
步骤3:对加权图进行压缩;
步骤4:对压缩图进行初始划分;
步骤5:对初始划分图进行还原微调。
2.根据权利要求1所述的一种基于多级划分算法的大类图拆分方法,其特征在于:所述步骤1将类图定义为:
Class Diagram={C,Ass,Dep,Inh,Agg}
其中C表示类目,ASS表示类目间的关联关系,如果类目c1,c2∈C且有从c1到c2的关联关系,则<c1,c2>∈ASS;如果是双向关联,则<c1,c2>∈ASS∧<c2,c1>∈ASS,Dep表示类目间的依赖关系,Inh表示类目间的继承关系,Agg表示类目间的聚合关系。
3.根据权利要求1所述的一种基于多级划分算法的大类图拆分方法,其特征在于:所述步骤2采用下式计算类目间的耦合强度:
Coupleling(ci,cj)={isAncestor(ci,cj)×4+Aggreted(ci,cj)×3
+Associated(ci,cj)×2+Depend(ci,cj)×1}
如果<ci,cj>∈Inh,则isAncestor(ci,cj)为1,否则为0,如果<ci,cj>∈Agg,则Aggregted(ci,cj)为1,如果不满足<ci,cj>∈Agg,那么Aggregted(ci,cj)为0;如果<ci,cj>∈Dep,则Depend(ci,cj)为1,否则为0;如果<ci,cj>∈Ass,那么Associated(ci,cj)为1,否则为0。在这里我们按照继承、关联、聚合、依赖对类目间耦合的影响程度将它们的影响力分别设为4、3、2、1。这样有继承关系的类目之间的耦合度就高于没有继承关系的类目之间的耦合度。与此类似,后续三个影响因子的量化也可以保证相应的优先顺序。
所述步骤2建立加权图的方法为:将大类图的所有类目形式化为节点,类目之间的耦合度形式化为节点之间边的权值,如果类目之间的耦合度为0,那么对应的两个顶点之间就不存在边,设每个节点的权值为1,即遍历类图中所有类目,对于每个类目ci∈C,建立节点ci,令每个节点的权值都为1,然后对于任意的ci,cj∈C,计算Coupleling(ci,cj),若Coupleling(ci,cj)不为0,则在节点ci,cj之间创建边e(i,j),并令边e(i,j)的权值w(i,j)等于Coupleling(ci,cj),从而得到加权图G0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津电气科学研究院有限公司;天津工业大学,未经天津电气科学研究院有限公司;天津工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811494107.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文件生成装置和方法
- 下一篇:一种数据驱动的用户透明的可扩展编程方法