计算机工程与科学 ›› 2021, Vol. 43 ›› Issue (04): 689-696.
李文昊,李英梅,边奕心
LI Wen-hao,LI Ying-mei,BIAN Yi-xin
摘要: 在包层次的代码重构研究中,为了得到“高内聚、低耦合”的软件结构,层次聚类算法因其简单有效、聚类精度高等特点被认为是一种较好的软件聚类方法。但是,层次聚类算法时间复杂度高,不利于处理较大规模的软件。而基于密度聚类的DBSCAN算法则与之相反,具有较快的聚类速度,但是精度却较低。因此,提出一种基于DBSCAN的软件层次聚类算法,利用DBSCAN算法所产生的类来约束层次聚类算法的聚类空间,该算法可以保持层次聚类算法的精度不变,且它的时间复杂度介于DBSCAN和层次聚类算法之间。实验结果表明,该算法可以有效地对软件进行合理划分,并通过专家评判、模块划分度量指标和算法运行时间对比来表明其比其他常用聚类算法的性能更好。