| As the largest online tickets-transaction site, StubHub needs strict quality testing to ensure the on-going stability of tickets services. Thus the DCT software system is developed in order to provide large amounts of various data for testing. However, after years of release iterations, feature improvement, and various modifications to the code, DCT has become more and more complex, with its maintainability and scalability declining. In the near future, new requirements need to be implemented and some API interfaces are to be upgraded. How to change the fact that every simple modification requires massive amounts of rework, how to improve the software performance to meet business expansion needs, and how to make most use of the legacy software system, these problems have become urgent and important.After analyzing present problems and the legacy software system, we studied the research status of refactoring legacy systems, evaluated and weighed these solutions, and decided to refactor the DCT software system through value-increasing transplantation. Firstly MVC design pattern is introduced to refactor the architecture, constructing a standard three-tier architecture based on Spring MVC framework. Then improve feature implementation, optimize and standardize coding to reach high readability, scalability, maintainability and reusability. After refactoring, new features are implemented. During the process, Hibernate, AJAX, Web Service and other advanced techniques are also used.After refactoring, the new DCT software system is now on-line in practical work instead of the legacy software system. It has maximized the use of legacy software system, meanwhile supporting future business expansion. With improved performance and stable features, it has been accepted by a large group of testers now. Through this project, we explored the application and effect of refactoring in industrial development, explained how to design an appropriate soluction based on the actual situation, and summarized some general rules during implementation. |