开源程序、遗产系统在程序理解过程中,使用软件聚类技术来提取软件系统架构,以降低理解和分析软件系统的难度。目前主流算法当中,层次聚类算法虽具有合理的搜索时间,但聚类结果无法令人满意,基于搜索的算法虽有良好聚类结果,但时间和空间限制使它们无法应对大型软件系统。针对现有软件聚类方法的局限性,提出了一种新的确定性聚类算法,利用模块依赖图( MDG) 中现有属性进行聚类。初步结果显示,与层次聚类算法和基于搜索的算法相比,该算法在合理的时间内能够较好地获取聚类结果。所提出的聚类算法可以有效地帮助软件设计师从源代码中提取良好的子系统。