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.