抑制孤立簇的软件模块化优化算法
2018-05-21牟立峰王方媛
计算机应用 2018年3期
牟立峰,王方媛
(上海大学 悉尼工商学院,上海 201899)
0 引言
在软件产品设计和开发过程中,广泛应用模块化方法来提高软件产品架构的质量。但随着软件产品的不断进化,软件产品趋向大型化和复杂化,仅依靠专家经验无法应对复杂的模块化方案设计问题。因此,如何运用智能算法自动生成大型复杂软件系统的高质量模块划分备选方案对软件产品的设计过程中的关键决策有着重要意义,与其相关的研究工作也成为学术界关注的热点[1]。
软件模块化目的是得到模块化较好的聚类目标,模块化优化问题主要包括设计模块化质量的量化指标[2-7]和更强寻优能力的算法[6-15]。
在量化指标方面,研究工作主要从软件产品的属性上着手量化软件架构质量,其中最重要的两个属性是内聚和耦合。内聚指的是在同一个子系统中模块之间的联系,耦合指的是不同的子系统中模块的联系[2]。很多学者基于内聚和耦合的关系提出了衡量软件模块划分方案优劣的指标。Stevens等[3]在1974年首先提出用高内聚和低耦合指标来衡量软件模块化的质量,并提出了一个内聚和耦合的七分制的衡量方法,为之后软件质量指标提供了方法和思路。针对面向对象的软件产品,学术界也提出了其他指标,包括:属性隐藏因素指标(Attribute Hidden Factor, AHF)和方法隐藏因素指标(Method Hidden Factor, MHF),这些指标能更好地测量封装的程度[4]。之后Tucker等[5]提出了指标EVM(EValuation Metric),该指标之前应用于时间序列分析,并且具有优秀的鲁棒性。……
登录APP查看全文
