ABSTRACT

Software maintenance is an important component of the software life cycle and inability to undertake it efficiently, cheaply, and safely can lead to many problems. This chapter presents important aspects of software maintenance. Organizations around the world spend a vast amount of money on software maintenance. The importance of software maintenance varies from one organization to another. Software maintenance focuses on four aspects of system evolution simultaneously: maintaining control over the day-to-day operations of the system, maintaining control over modifications associated with the system, perfecting existing and acceptable functions, and preventing degradation of system performance to unacceptable levels. The maintenance of software systems is difficult because they are already operational. Software maintainability may be viewed in two different ways: reflecting the external view of the software, reflecting the internal view of the software. There are various measures for internal attributes of software relating to maintainability proposed by many researchers.