If you know of any other books that are relevant but not included in the list below, please contact the author of this webpage.
This book focuses on novel trends in software evolution research and its relations with other emerging disciplines such as model-driven engineering, service-oriented software development, and aspect-oriented software development. The contributing authors provide broad overviews of realed work that together represent the community's body of knowledge.
In most software organizations, the budget for software maintenance is much larger than for software development. However, there is much less management attention focus on software maintenance than on software development. This book illustrates how process improvement models popular with software development can be applied to software maintainers. In particular, this book presents a new way of capturing the uniqueness of software maintenance activities in a model-based process improvement approach. The focus of this book is, therefore, on the uniqueness of software maintenance activities, on how to assess the software maintenance using the Software Maintenance Maturity Model (S3m model) and how to figure out improvement paths.
This book scientifically explores what software evolution is and why it is inevitable. It addresses the phenomenological and technological underpinnings of software evolution, and it explains the role of feedback in software development and maintenance.
L'objectif de ce livre est de permettre au gestionnaire et au personnel de la fonction de la maintenance du logiciel d'utiliser le modèle d'amélioration pour comparer la maturité de leurs processus face aux meilleures pratiques de l'industrie et de suggérer des itinéraires d'améliorations progressives. Ce livre apporte des éléments de réponses aux principales questions : Quel sont les processus, les pratiques et les activités de la maintenance du logiciel et de l'amélioration du logiciel ? Est-ce que les normes et les modèles actuels de l'amélioration du logiciel tiennent suffisamment compte des spécificités uniques à la maintenance des logiciels ? Comment répondre aux gestionnaires et à leur équipe lors de la mise en oeuvre d'un programme d'amélioration de la maintenance du logiciel ? Que contiendrait un modèle de l'amélioration spécifique de la maintenance du logiciel ?
The second edition of this textbook comprehensively covers the breadth of software maintenance issues.
A book containing a collection of scientific articles on the topic of software change impact analysis.
Another important milestone in software evolution, written by Arthur. Unfortunately no longer available.
This book, written by Lehman and Belady, is one of the very first that has been published on the topic of software evolution. Although it is no longer available, electronic versions of the book may be downloaded for free on the internet (for example, from the Publications section on the website of the ERCIM Working Group on Software Evolution).
This book applies the ideas of refactoring to database schemas.
An excellent book that describes the relationship between refactorings and design patterns and shows how to use refactorings to introduce design patterns in order to improve existing code. An appealing way to teach reluctant designers how to clean up their code base.
Martin Fowler's well-known book on refactoring object-oriented programs, an important subdomain of software restructuring.
Feathers shows how to deal with the "testing vs. reengineering'' dilemma. Before you reengineer you need a good suite of regression tests to ensure that the system does not break. However, the design of a system that needs reengineering typically makes testing very difficult and would benefit from reengineering.
This book provides a roadmap to implement a successful software modernization strategy. The proposed incremental approach encompasses changes in software technologies, engineering processes, and business practices. It exemplifies a case study of migrating legacy Cobol code to J2EE.
This book, written by Demeyer, Ducasse and Nierstrasz, provides a number of practical guidelines for re-engineering object-oriented legacy systems.
A book containing a collection of scientific articles on the topic of software reengineering.
This book illustrates how one should avoid risks while migrating legacy systems, namely by doing small successive steps.
This book, written by Haug et al. offers a variety of perspectives on software configuration/change management and requirements engineering.
This book describes how to set-up and maintain a product line architecture: a framework which allows to develop a series of products derived from a reusable core.