Font Size: a A A

Research On Software Reengineering Of Large-Scale Legacy System

Posted on:2008-10-13Degree:DoctorType:Dissertation
Country:ChinaCandidate:X Y WangFull Text:PDF
GTID:1118360212984906Subject:Computer applications
Abstract/Summary:PDF Full Text Request
There are many problems in legacy systems: outdated technology, unstructured system, lack of document, high cost and so on. Many enterprise/organization reengineer the legacy systems into new software/hardware platform with modern technology to enhance reliability, reusability, maintainability and performance of the system. In recent 20 years, legacy system reengineering has been one of the most important research topics in software engineering field. Researchers have done much work on software reverse engineering, technology on software reengineering, reengineering process and methodology. Some detail topics are design recovery, business rules extraction, legacy system migration, testing for target system and so on. The common purpose is to resolve the problems on legacy system. But most of these methods are for the normal legacy system, and their usefulness is limited when they meet with the large-scale legacy systems.There are two big challenges in reengineering of the large-scale legacy systems: firstly, distribution has been a trend for large-scale system, it is very difficult to reengineer standalone legacy system into distributed environment. Component extraction from legacy system and deployment in the distributed environment are the two critical problems. Secondly, Comparing with the normal legacy system, large-scale legacy system is more difficult to extract business rules. The size of code is so large that normal textual slice representation does not provide much guidance in the understanding. There are thousands of domain variables and synonym variables, the normal management solutions affect readability of repertory; Presentation of many business rules in a large complex legacy system is also a problem. The business rules often belong to different departments and most of domain experts only master the business rules partly, so it raises a question how to present the business rules in multi-view. The research goal of this paper is to establish the effective and feasible frameworks for large-scale legacy system.This paper firstly proposes a framework to reengineer a standalone legacy system into J2EE partition distributed environment. The framework consists of four steps: The first step is the translation from C++ to Java code, which aims to enhance the MoHCA-JAVA with the modification indicator output. Because some manual work has to be done after the auto conversion, the flag is helpful for programmer tounderstand where and how the code should be modified. The second step is the extraction of the components using the clustering technology, where the CSWP metrics and the hierarchical agglomerative clustering algorithm for grouping the classes are used. The third step involves the modeling of the component interfaces using some heuristic rules in J2EE environment. Partition of the components in J2EE distributed environment will be the last step. Some design patterns can be applied in this step, and also the paper presents an algorithm for partition load balance. The two applications of this reengineering framework can prove the effectivity and feasibility.The paper also reports a new framework to recover business rules from large-scale legacy system. The framework consists of five steps: module recovery with program slicing which can provide more guidance in the understanding of large legacy system; Identification of domain variables that can express business rules (based on Information-flow Relations algorithm and Data Dependence Graph); Data analysis to analyze every slice and integrate items into business rules; Business rules presentation and validation. The framework can offer distinct advantages over normal recovery solutions. It has been successfully applied to a large complex financial legacy system. In summary, there are the following contributions in this paper:(1) Proposes a framework to reengineer a standalone legacy system into J2EE Partition distributed environment which is very good in performance, load balance ability and horizontal scalability.(2) Based on characteristics of large-scale legacy system, this paper presents a new component metrics (Connectivity Strength with Weight Parameter) which is used in component identification.(3) Reports several design pattern and component allocation strategy in J2EE Partition distributed environment.(4) Proposes a new framework to recover business rules from large-scale legacy system which can offer distinct advantages over normal recovery solutions.(5) Introduces two methods to identify domain variables automatically based on Information-flow Relations algorithm and Data Dependence Graph.The chapter 1 introduces the background on large-scale legacy system reengineering and the research status. The chapter 2 describes the framework to reengineer a standalone legacy system into J2EE Partition distributed environment in detail. The applications of the framework are reported in chapter 3. Chapter 4 proposes the framework to recover business rules from large-scale legacy system. As the critical part in the framework, automatic identification of domain vairables is described in detail in chapter 5. Finally, we will summarize the whole paper and give the future work.
Keywords/Search Tags:Legacy System, Software Reengineering, Software Reverse Engineering, J2EE, Partition, Distributed, Software Clustering, Interface, Component, Business Rules Extraction, Program Slicing, Domain Variable, Information-flow Relations, Data Dependence Graph
PDF Full Text Request
Related items