Software Maintenance: Concepts And Practice, Second Edition

The aims of this book have been to facilitate understanding of
The context of maintenance: the fundamentals of software change, the maintenance framework, maintenance process models, the different types of maintenance activity, the problems facing maintenance organisations and some of the solutions to these problems.
What happens during maintenance: program comprehension, reverse engineering, software reuse, testing and the management of the process.
How to keep track of the maintenance process: overall and at a more detailed level.
How to build better systems: the use of support tools and the means by which maintainability may be built into software systems.
This final section of the book aims to reflect on the past and present of software maintenance as an academic discipline and as a trade dating back to the late 1970 s, highlighting some pertinent research issues. It also attempts to make a prognosis of the maintenance-related challenges that lie ahead within the software industry.
Software maintenance as an academic subject and as an occupation has come a long way. In the early days, the wider issues of software maintenance were simply not understood. The fact that software systems evolved was not fully appreciated, let alone the implications of this continual need for change.
In academia historically, maintenance received far less attention than development of new systems [26]. This is evident in the comparatively small number of publications and active researchers in the area in the early days of the discipline. In industry, the...