计算机科学与探索 ›› 2019, Vol. 13 ›› Issue (4): 563-573.DOI: 10.3778/j.issn.1673-9418.1803050
任 武+
REN Wu+
摘要: 在大型遗留系统的维护活动中,通过聚类技术将系统划分为更小和更易于控制的子系统,是理解软件架构的一项重要措施。传统架构恢复的研究主要关注静态结构,而面向对象系统由于多态和动态绑定等复杂因素的存在,仅有结构分析还不足以支持架构恢复。功能特征作为一种可触发可观察的系统行为反映了系统实现的功能需求,已经成为构建核心架构的基础。提出一种动静态结合的分析方法,以软件特征作为出发点,通过特征的场景执行以及模块聚类,建立起目标系统的核心架构,然后分析系统的静态结构以提取模块的依赖关联,补充实体到已建立的聚类中。通过对两个开源项目的实验评估和讨论,分析所提方法的有效性和适用性。