Font Size: a A A

Research On Software Engineering In Supporting Distributed Collaborative Legacy System Reengineering

Posted on:2005-10-11Degree:DoctorType:Dissertation
Country:ChinaCandidate:B XuFull Text:PDF
GTID:1118360152470041Subject:Computer applications
Abstract/Summary:PDF Full Text Request
Legacy systems are those large systems which developed years ago, but still vital to the organizations. Such system has the characteristics of large code volume, non-coherent document, degenerated system architecture, and strong coupling code. Thus, software clustering, software slicing, pattern matching and artificial intelligence technology are usually used as aid for system reengineering. However, even those technologies are adopted, the projects of legacy system reengineering still have a lot of difficulties, such as large manual workload, rough estimation of workload, formidable communication between customers and develop teams. Those difficulties cause considerable risk for the projects especially for distributed cooperative development. Software outsourcing is an important model for distributed cooperative development, it accounts for nearly one third of the total software development; while the large potential management cost of outsourcing greatly reduces expected return. With the analysis of the technology, methodology and tools of legacy system reengineering, difficulties of distributed cooperative legacy system reengineering are clarified and a software process- CORE which supports distributed cooperative legacy system reengineering is raised. CORE organically integrates discipline of Rational Unified Process and agility of Extreme Programming, and covers tasks of requirement, design, development, test, delivery, and project management. Basically, the main achievements of CORE focus on the following aspects:1) Improving the communication of requirement. In offshore legacy system reengineering projects, the communication channels and methods used among customers and development team impact the quality of requirement and project schedule very much. Hence, this paper defines the roles and responsibilities and puts forward a role-based communication platform in outsourcing legacy system reengineering projects. This communication platform will reduce the time and confirmation, consultation and facilitate the requirement communication. The multi-divisions system views also improve the communication between the roles.2) Optimizing and managing the requirement change. The main cost yielded by requirement change is the rework on the finished software phases. This paper suggests the process improvement based on Extreme Programming. While Extreme Programming reduced the effort of every rework at some extent, the improved software process can reduce the rework possibility significantly though the requirement change is still frequent.3) Dynamic cooperative task management. With the analysis of history project data, the component status transition graph is used to improve the estimationof task with traditional methods. The correlation matrix of workload is suggested to estimate and trace the projects in quantity. Since the ignore of dependence between components may induce the rework and too much stress on the dependence bring much delay in coordination, multiple component status transition graph is suggested on the basis of single component status transition graph to manage the dependence between components precisely. While the delay in synchronization is the main obstacle in distributed collaboration and always postpones the project, a method using communication queue is suggested in this paper improves the communication efficiency, the dynamical message subscription, transform, releasing and task management reduce the impact of coordination delay between customers and development team efficiently. On the condition that the same. coordination delays, this method can reduce the possibility of project delay efficiently.4) Suggesting a design and develop framework based on software reuse. Software reuse may shorten software development lifecycle efficiently while improve the quality of software delivery. On basis of software reuse in development, a design and development framework is suggested in reverse engineering of legacy system, so as to reduce the effort in comprehending the legacy system. With the development...
Keywords/Search Tags:Legacy system, software reengineering, global collaborative, process improvement, waterfall model, software maturity model, requirement management, requirement change
PDF Full Text Request
Related items