基于多级划分的大类图拆分方法研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于多级划分的大类图拆分方法研究
过去几十年中软件数量和规模呈现爆发式增长,软件维护已经变成了一个重要的问题。

作为软件开发的一个重要阶段,软件维护的作用越来越突出,面临的问题也越来越大。

由于软件开发过程的不规范,很多软件在开发时没有设计软件开发模型,对软件维护人员来说工作变得十分困难。

目前主流的逆向工程工具可以通过源代码生成软件对应的开发模型,其中类图是最常用的模型。

可读性是UML类图质量的一项重要指标,目前逆向工程中生成的UML类图的规模往往比较庞大,可读性较差。

本文提出了一种基于多级划分的大类图拆分方法。

首先根据类目间的继承、聚合、关联、依赖对类目间的耦合的影响程度,提出了类目间耦合强度的计算方法,并将类图转化为反应耦合强度的加权图,从而将类图拆分问题转化为加权图的划分问题。

对多级划分算法进行改进,使之能够较好地对加权图进行拆分。

对加权图进行压缩,优先将耦合度较大的节点合并,减小了加权图的规模,同时隐藏了权值较大的边,接着将加权图划分为k部分,将每个部分的节点按照压缩的顺序逐级拆解,并使用改进的多路KL算法进行优化调整,尽可能使得耦合度较大的节点划分到同一个部分,直到节点恢复到原来的数目。

对于规模相对小一些的类图的拆分问题,我们提出了基于谱聚类的拆分方法。

相关文档
最新文档