Authors:
- Emphasizes the creative aspects of software maintenance, rather than the rigid and shortsighted application of “technical rationality”
- Allows the reader to develop a perception, as if she/he would have taken an active role in the maintenance process
- Packed with examples for every elaborated concept to increase its usability for both professionals and students and to showcase processes as they appear in the industry
- Presents the common approaches of using software product lines, frameworks, and code templates from a new perspective
Buy it now
Buying options
Tax calculation will be finalised at checkout
Other ways to access
This is a preview of subscription content, log in via an institution to check for access.
Table of contents (10 chapters)
-
Front Matter
-
Introduction to Key Concepts
-
Front Matter
-
-
Forward Engineering
-
Front Matter
-
-
Re-engineering and Reverse Engineering
-
Front Matter
-
-
DevOps
-
Front Matter
-
-
Back Matter
About this book
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.
Authors and Affiliations
-
Expro I.T. Consulting , Kikinda, Serbia
Ervin Varga
About the author
Bibliographic Information
Book Title: Unraveling Software Maintenance and Evolution
Book Subtitle: Thinking Outside the Box
Authors: Ervin Varga
DOI: https://doi.org/10.1007/978-3-319-71303-8
Publisher: Springer Cham
eBook Packages: Computer Science, Computer Science (R0)
Copyright Information: Springer International Publishing AG 2017
Hardcover ISBN: 978-3-319-71302-1Published: 09 February 2018
Softcover ISBN: 978-3-319-89060-9Published: 06 June 2019
eBook ISBN: 978-3-319-71303-8Published: 29 January 2018
Edition Number: 1
Number of Pages: XV, 336
Number of Illustrations: 54 illustrations in colour
Topics: Software Engineering, Software Management, Management of Computing and Information Systems, Professional Computing