Software systems now invade every area of daily living. Yet, we still struggle to build systems we can really rely on. If we want to work with software systems at any level, we need to get to grips with the way software evolves. This book will equip the reader with a sound understanding of maintenance and how it affects all levels of the software evolution process.
Part I: The Context to Maintenance: Introduction to the Basic Concepts; The Context to the Basic Concepts; The Maintenance Framework; Fundamentals of Software Change; Limitations and Economic Implications to Software Change; The Maintenance Process; Part II: What Takes Place During Maintenance: Program Understanding; Reverse Engineering; Reuse and Reusability; Testing; Management and Organisational Issues; Part III: Keeping Track of the Maintenance Process: Configuration Management; Maintenance Measures; Part IV: Building Better Systems: Building and Sustaining Maintainability; Maintenance Tools; Part V: Looking to the Future.