literature review

Software maintenance is an ongoing process that takes place after software development is completed. Its goal is to keep the software functioning as expected and in line with users’ evolving needs. The importance of software maintenance is often underestimated, and it is often not given the attention it deserves. Software maintenance accounts for more than 50% of the overall cost of software development, according to Lehman and Belady (1985). This demonstrates how crucial software maintenance is to maintaining software quality. In this literature review, we will examine the role of software maintenance in ensuring software quality.

Software Maintentance Procedures

The case study conducted by Hassan and Holt(2003) in order to test the connection between software quality and software maintenance of a large software system in a financial institution was done by gathering both subjective and objective software quality measures. They then analyzed software system maintenance data for two years to establish the association between software quality and software maintenance. The study includes 23 empirical investigations that used various software quality measures, such as defect density, reliability, maintainability, and customer satisfaction .
Similarly, T. Mens and S. Demeyer (2008), proposed a reuse-based strategy to software maintenance and evolution instead of making random modifications to the code, they advised identifying common functionalities and developing reusable components that could be used to modify the source. This method entails identifying and abstracting common functionality in the software system, as well as developing reusable software components. It underlines the significance of reusing code in maintenance because it can save the time and effort necessary for bug repair and testing. A huge Java-based software system utilized by a Belgian bank was the subject of the case study. In the codebase, authors recognized specific common functionalities and constructed reusable components to implement these functionalities.

Software Maintenance Costs And Schedules

It is crucial to balance the need for maintenance with the need for new development to ensure that software remains stable and up-to-date while meeting the changing needs of its users.
Development cost: Software maintenance expenses can have an impact on a project’s development expenditures. The ability of the development team to allocate resources to the development of new functions or other projects may be impacted if the maintenance expenses are significant. This can cause software development to take longer and cost more money to complete. As depicted by Fig. 1, the cost of fixing bugs in a typical software development cycle. The cost of fixing bugs in the maintenance stage looks to be substantially higher than the cost of fixing issues in all other stages combined, as seen in the figure. As a result, proper software development requires solid design and ensuring that the software is extensively evaluated to remove problems as much as possible before the product is given to the market or customers so that the costs of maintaining the software are reduced.