Abstract

Even though software change is inevitable, accurate maintenance can extend software lifespan in a subtle way when both budget and time constraints get in the way of software replacement. In the University of Aveiro, the project PmatE – a quiz web platform created to encourage students to like Math – emerged in the early 1990’s and stacked several applications over the decades without major planning, cleaning or upgrade. This resulted in a huge-sized framework that was crucial to be always available and online and had high operational cost, leading to an increasing amount of technical debt. After 3 decades, the project was studied, refactored and refurbished, leading to a stable consistent framework ready for evolution and software spinouts. This work shows how to manage and engineer solutions to maintain a legacy system and evolve it even when tied up to heavy constraints.

Highlights

  • Software systems that are developed specially for an organization have usually a long lifetime (Sommerville, 2016)

  • One can come across several issues: the system may be using application/service rules that are not properly documented elsewhere; there are clients/processes that are reliant on the legacy system; legacy systems rarely have complete specifications - during their lifetime usually have undocumented major changes

  • We present a case study within a university, showing how to evaluate the state of a legacy system in an academic organization and how to implement a reengineered solution that can deliver a quality product with extendable architecture and low maintenance

Read more

Summary

Introduction

Software systems that are developed specially for an organization have usually a long lifetime (Sommerville, 2016). Such systems, developed many years ago, using technologies and interfaces that are obsolete, are still in use and remain vital for the normal functioning of business and represent a substantial investment for organizations (Newby, 1994). There is a significant business risk in scrapping a legacy system and replacing it with a system that has been developed using recent technology (Sommerville, 2016). One can come across several issues: the system may be using application/service rules that are not properly documented elsewhere; there are clients/processes that are reliant on the legacy system; legacy systems rarely have complete specifications - during their lifetime usually have undocumented major changes

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call