节点文献

软件体系结构恢复的研究与实现

Research and Implementation of Software Architecture Recovery

【作者】 刘萍

【导师】 郭禾;

【作者基本信息】 大连理工大学 , 计算机应用技术, 2010, 硕士

【摘要】 软件体系结构的开发是大型软件系统开发的关键环节,对软件系统的理解、维护及软件的进化有很重要的意义。但是,由于以前开发的软件系统历史发展非常悠久,产品演化的周期也非常长,在此过程中,这些系统的大部分文档已经丢失或残缺,从而导致系统处于“架构老化的阶段”,以至于很难对这些系统进行全面的理解、维护和改进。另外,系统维护人员在对软件进行维护的时候,主要是通过人工的阅读大量代码来确定所需维护的部分以及影响的范围,这样的方式需要花费大量的时间、人力和精力。所以恢复软件架构就显得很有意义。软件架构恢复已经受到国际上的广泛关注,且受到越来越多的重视。软件体系结构作为系统的抽象表现形式,是设计者最初决策的集中体现,是系统相关人员之间相互交流的主要手段,也是系统可复用、可传递的高度抽象。软件架构恢复希望能为用户提供一个设计层次上的视图,使用户能够更加容易的理解软件系统,并且能够及时、准确的定位所需要维护的代码和影响范围。软件架构恢复在逆向工程领域吸引了很多研究人员。恢复遗留系统的架构对软件的理解、维护及可重用有重要的意义。目前软件聚类的方法已经很好的应用于架构的恢复,本文通过提取系统中的静态信息和动态信息,将这些信息组合成特征,同时,对层次聚类算法进行改进,实现架构的提取,最后对提取出的架构进行评估,实验表明该算法能够更精确有效的提取系统的架构。最后,本文设计并开发了一个体系结构恢复的工具,实现对遗留系统架构的自动化恢复。通过对开源代码的测试,证明此工具的有效性。

【Abstract】 Software architecture design is one of the most important parts in software development process. It’s importance to enhance the understandability, maintainability and evaluation of the software system. But, as many large-scale software system, their structure deteriorates due to a long history of its development and a long cycle of the product evolution, made over their lifetime. The documents of the system have some missed or incomplete, the system became into "architecture aging stage." It becomes difficult to manage and maintain such systems, but replacing them may not be a viable option. And then, when software maintainer maintaining the software, they make sure the code and the area by reading large number of code, it expands lots of time and energy. Therefore, recovering the architecture from the legacy system has important significance in understanding, maintaining and evolving the system.Software architecture is the abstract form of the software, it’s the correct embodiment, it’s the way of communications between system developers, and it’s the abstract of reusable and transferable. Software architecture recover provide a hierarchical designing view to users, it make users easily to understand the system and find the code for maintaining. Software architecture recover attaches researchers attentions in reverse engineering.It’s important significance for software system understanding and maintaining to recover architecture form legacy system. Now, there are many clustering methods in architecture recover. In this paper, we improve the hierarchical clustering arithmetic by extract static and dynamic information; at last, we give a method to evaluate the result. The experience shows that this arithmetic can recover the architecture more accurately.In the end, we design tool to recover architecture, it implements to automate recover architecture and give us a view to understand the result. By testing open source, it proves the tool’s validity.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络