Unraveling Software Maintenance and Evolution


Book Description

Software maintenance work is often considered a dauntingly rigid activity – this book proves the opposite: it demands high levels of creativity and thinking outside the box. Highlighting the creative aspects of software maintenance and combining analytical and systems thinking in a holistic manner, the book motivates readers not to blithely follow the beaten tracks of “technical rationality”. It delivers the content in a pragmatic fashion using case studies which are woven into long running story lines. The book is organized in four parts, which can be read in any order, except for the first chapter, which introduces software maintenance and evolution and presents a number of case studies of software failures. The “Introduction to Key Concepts” briefly introduces the major elements of software maintenance by highlighting various core concepts that are vital in order to see the forest for the trees. Each such concept is illustrated with a worked example. Next, the “Forward Engineering” part debunks the myth that being fast and successful during initial development is all that matters. To this end, two categories of forward engineering are considered: an inept initial project with a multitude of hard evolutionary phases and an effective initial project with multiple straightforward future increments. “Reengineering and Reverse Engineering” shows the difficulties of dealing with a typical legacy system, and tackles tasks such as retrofitting tests, documenting a system, restructuring a system to make it amenable for further improvements, etc. Lastly, the “DevOps” section focuses on the importance and benefits of crossing the development versus operation chasm and demonstrates how the DevOps paradigm can turn a loosely coupled design into a loosely deployable solution. The book is a valuable resource for readers familiar with the Java programming language, and with a basic understanding and/or experience of software construction and testing. Packed with examples for every elaborated concept, it offers complementary material for existing courses and is useful for students and professionals alike.







Effective Software Maintenance and Evolution


Book Description

With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reve




Software Maintenance


Book Description

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.







Software Maintenance


Book Description

Designing for maintenance; The methodology revolution; Packages. Performing the maintenance function; Viewing the future.




Emerging Technologies for the Evolution and Maintenance of Software Models


Book Description

Model-driven software development drastically alters the software development process, which is characterized by a high degree of innovation and productivity. Emerging Technologies for the Evolution and Maintenance of Software Models contains original academic work about current research and research projects related to all aspects affecting the maintenance, evolution, and reengineering (MER), as well as long-term management, of software models. The mission of this book is to present a comprehensive and central overview of new and emerging trends in software model research and to provide concrete results from ongoing developments in the field.




Software Evolution


Book Description

Software evolution and maintenance. Change management; Impact analysis. System release planning. Corrective maintenance. Adaptive maintenance. Perfective maintenance. Reengineering source code. Software testing. System release and configuration management. Implementing software evolution. Managing software Maintenance.







Software Maintenance Management


Book Description

This book explores the domain of software maintenance management and provides road maps for improving software maintenance organizations. It describes full maintenance maturity models organized by levels 1, 2, and 3, which allow for benchmarking and continuous improvement paths. Goals for each key practice area are also provided, and the model presented is fully aligned with the architecture and framework of software development maturity models of CMMI and ISO 15504. It is complete with case studies, figures, tables, and graphs.