ShopSpell

Unraveling Software Maintenance and Evolution: Thinking Outside the Box [Hardcover]

$42.99     $49.99   14% Off     (Free Shipping)
100 available
  • Category: Books (Computers)
  • Author:  Varga, Ervin
  • Author:  Varga, Ervin
  • ISBN-10:  3319713027
  • ISBN-10:  3319713027
  • ISBN-13:  9783319713021
  • ISBN-13:  9783319713021
  • Publisher:  Springer
  • Publisher:  Springer
  • Binding:  Hardcover
  • Binding:  Hardcover
  • Pub Date:  01-Apr-2018
  • Pub Date:  01-Apr-2018
  • SKU:  3319713027-11-SPRI
  • SKU:  3319713027-11-SPRI
  • Item ID: 101244290
  • List Price: $49.99
  • Seller: ShopSpell
  • Ships in: 5 business days
  • Transit time: Up to 5 business days
  • Delivery by: Nov 30 to Dec 02
  • Notes: Brand New Book. Order Now.

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 lals~