期刊文献+

一种软件特征模型扩展和演化分析方法 被引量:4

Extensions and Evolution Analysis Method for Software Feature Models
下载PDF
导出
摘要 特征模型是面向特征的软件开发过程的重要概念和制品,该模型以特征为单位,刻画了领域产品的共性和可变性.在日趋频繁的软件演化过程中,保持特征模型的一致演化,对于支持高效的复用开发和按需配置至关重要.目前,大多数的研究是在需求层面进行共性和可变性分析,对特征模型的研究则集中在对共性和可变性的建模上.但是,由于特征变更在建模过程中存在"涟漪"效应,会导致新的共性和可变性演化.现有的分析方法还无法解决这个问题,会导致丢失一些潜在的产品共性,从而影响复用的效率.提出了一种特征模型扩展和演化分析方法.通过扩展特征关联关系和模型演化元操作,实现对特征变更"涟漪"效应的分析.发现潜在的产品共性,提出重构策略和半自动化的共性提取和特征重构支持方法.该方法还针对典型的配置冲突提出了冲突消解规则和策略.最后,通过案例分析验证了该方法的可用性和有效性. Feature model is an essential concept and artifact in feature oriented software development(FOSD). It depicts commonality and variability(CV) of products in terms of features. With increasingly frequent software evolution, keeping the feature model in consistent with the evolution is very important. Most of the related researches usually analyze the CV on the requirement level, and modeling the analyzed CV by the feature model. However, since the feature changes may cause the ripple effect during the modeling process, some new commonalities and variability may be derived. The current researches are still not able to resolve this problem, which leads to some potential overlooking commonalities and inefficiency in reuse. This paper proposes an approach to extend the feature model and analyze the software evolution based on the feature model. The extensions of feature dependency and evolution meta-operators can support the ripple effect analysis of the feature changes, as well as the exploration of the potential commonalities. The new approach also develops some refactoring strategies and a semi-automated tool to support commonality extraction and feature refactoring. In addition, rules and strategies are designed to resolve typical configuration conflicts. Finally, the paper employs a case study to validate the applicability and effectiveness of the presented method.
作者 胡洁 王青
出处 《软件学报》 EI CSCD 北大核心 2016年第5期1212-1229,共18页 Journal of Software
基金 国家自然科学基金(91318301,91218302,61432001) 国家科技重大专项(2012ZX01039-004)~~
关键词 软件演化 模型演化 软件定制 共性 可变性 特征模型 software evolution model evolution software customization commonality variability feature model
  • 相关文献

参考文献3

二级参考文献79

  • 1梅宏,黄罡,赵海燕,焦文品.一种以软件体系结构为中心的网构软件开发方法[J].中国科学(E辑),2006,36(10):1100-1126. 被引量:34
  • 2Yau S S, Collofello J S, Macgregor T. Ripple effect analysis of software maintenance//Proceedings of the IEEE Computer Society's Second International Computer Software and Applications Conference (COMPSAC' 78), 1978 : 60-65.
  • 3Arnold R, Bohner S. Software Change Impact Analysis (Practitioners). Los Alamitos, CA, USA: Wiley-IEEE Computer Society Press, 1996.
  • 4Yau S S, Collofello J S. Some stability measures for software maintenance. IEEE Transactions on Software Engineering, 1980, SE-6(6): 545-552.
  • 5Tsantalis N, Chatzigeorgiou A, Stephanides G et al. Probabilistic evaluation of object-oriented systems//Proceedings of the 10th International Symposium on Software Metries (METRICS 2004). Chicago, IL, USA, 2004; 26-33.
  • 6Tsantatis N, Chatzigeorgiou A, Stephanides G. Predicting the probability of change in object-oriented systems. IEEE Transactions on Software Engineering, 2005, 31 (7) : 601- 614.
  • 7Sharafat A R, Tahvildari L. A probabilistic approach to predict changes in object-oriented software systems//Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR 2007). Amsterdam, Netherlands, 2007:27-38.
  • 8Mirarab S, Hassouna A, Tahvildari L. Using Bayesian belief networks to predict change propagation in software systems//Proceedings of the 15th IEEE International Conference on Program Comprehension (ICPC' 07). Banff, AB, Canada, 2007:177-186.
  • 9Valverde S, Sole R V. Network motifs in computational graphs: A case study in software architecture. Physical Review E, 2005, 72(2): 26107-26108.
  • 10Zhang L, Qian G Q, Zhang L. Network motif and triad significance profile analyses on software system. WSEAS Transactions on Computers, 2008, 7(6) : 756-765.

共引文献41

同被引文献25

引证文献4

二级引证文献11

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部