Reverse engineering is an imperfect process when comprehending a legacy system with large volume of source code and complicated business rules. It is important for the adopted software process to shorten the time to market and minimize the risks especially in distributed environment. In this paper, Extreme Programming (XP) was evaluated in a distributed legacy system reengineering project to handle the imperfect system requirement and response to rapid business request combination while the customer was offshore. Some important adjustment was made to the XP process according to the project environment. The reengineering tasks of large scale were divided into several subtasks through evolving reengineering. XP made these tasks comparatively independent, reduced the workload of analysis in reverse engineering, and improved the performance of analysis. Localized analysis made testing and tracing easier, so the complexity of reengineering project was reduced. Evolving reengineering helped us to conduct and fulfill reverse engineering and forward engineering in parallel and shorten project lifecycle. XP enabled us to deliver better quality code in a shorter period of time with low cost.
Index Terms:
Reengineering, Extreme Programming, reverse engineering, forward engineering, evolving reengineering
Citation:
Bin Xu, "Extreme Programming for Distributed Legacy System Reengineering," compsac, vol. 2, pp.160-165, 29th Annual International Computer Software and Applications Conference (COMPSAC'05) Volume 2, 2005