Software product line is composed of a group of similar products that share core assets and have variabilities.During real software product line development process,new products often appears,so it will result in that the management to software product line development meets difficulties.At the same time,these types of code changes based on specific products may be effective to other products as well,so they can be used to promote evolution of whole software product line.This paper presents a method to drive evolution of software product line by analyzing code changes.First,the method compares differences between existing code to get differences between program code modules structures of different products;then it modifies feature model by heuristic rules;finally,based on modified feature model and tracking relationship,suggestions to refactoring core assets code are proposed.Thus,the method can drive software product line evolution.In addition,the application process of the method is illustrated by a practical example in this paper,exhibiting the method is effective to real software product line.%软件产品线由一组共享了核心资产并具有可变性的相似产品组成.现实的软件产品线开发往往会出现新产品,导致软件产品线开发的管理困难.同时,这种基于特定产品的代码变更对现有的其他产品可能也是有效的,因此可以用于推动整个软件产品线的演化.提出一种通过分析代码变更驱动软件产品线演化的方法.首先进行已有代码的差异比较,得到不同产品之间的程序代码模块结构的差异;然后通过启发式规则对特征模型进行变更;最后基于变更后的特征模型和追踪关系,对核心资产代码提出重构建议,从而驱动软件产品线的演化.另外,本文通过实际的产品实例说明了该方法的应用过程,证明了方法对于实际的软件产品线是有效的.
展开▼