Abstraction Layered Architecture: Improvements in Maintainability of Commercial Software Code Bases
MetadataShow full metadata
Software maintainability significantly impacts the productivity of developing and main-taining a software code base in Software Development Life Cycle (SDLC). It is saidthat 90% of commercial software is under maintenance, so any improvements in main-tainability can provide high rewards in terms of time and expense. Increased softwaremaintainability can help improve a company’s profitability by directly reducing ongoingsoftware development costs.Abstraction Layered Architecture (ALA) is an innovative reference architecturewhich aims to improve the maintainability of a software code base in the long run.However, its effectiveness in real projects has remained unexplored. This researchexplores the extent to which ALA improves the maintainability of commercial softwarethrough a joint industry/academic project. In this research, an existing Windows desktopapplication from Datamars Limited was re-developed by using ALA and comparedwith the original application based on ISO 25010 maintainability model and ISO25023 maintainability measures. Specifically, the evaluation of ALA’s effectivenesswas carried out based on the five sub-characteristics of maintainability: modularity,reusability, analysability, modifiability and testability.Our experiments show that ALA provides significant improvements in maintain-ability. During the evaluation, it was found that modularity, reusability, analysabilityand testability of the re-developed ALA application were overall higher than for theoriginal application. However, the modifiability of the ALA-based application was2 not as high as expected. We investigated the reason for the low modifiability of theALA application, concluded that modifiability measures may improve during long-termmaintenance of commercial projects, while the other metrics will remain unaffected.