[关键词]
[摘要]
对大型复杂系统进行聚类分析能够改善软件维护的效率和效果,同时也是获取可复用构件的基础.提出一种基于需求层次凝聚的程序聚类方法来解决这个问题.该方法利用存在于需求描述中的语义信息获取问题域的高层逻辑,结合对源代码的动态分析,最终获取对源代码的分解划分.使用该方法获取的划分结果具有到问题域的映射;并且由于采用了动态的分析策略,该方法具有灵活的划分粒度.
[Key word]
[Abstract]
Program clustering for large and complex systems improves the effectiveness and efficiency of software maintenance and is a basis for acquiring reusable components. In this paper, a functional requirement based hierarchical agglomerative approach to this problem is proposed. In this approach, the semantic information existing in the descriptions of functional requirements is employed to acquire a high-level logic view of the given system. Furthermore, the corresponding source code artifacts for each requirement are acquired through the dynamic analysis. The requirements hierarchy and the requirement-artifact relationships are then used to recover the hierarchical organization of the source code. The clustering results of this approach have the mapping to the application domain. In addition, due to the dynamic analysis, the granularity of this approach is flexible.
[中图分类号]
[基金项目]
Supported by the National Natural Science Foundation of China under Grant No.60403015 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant No.2005AA113030 (国家高技术研究发展计划(863)); the National Grand Fundamental Research 973 Program of China under Grant No.2002CB312003 (国家重点基础研究发展规划(973))