Unraveling Software Maintenance and Evolution: Thinking Outside the Box
Autor Ervin Vargaen Limba Engleză Hardback – 9 feb 2018
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.
Toate formatele și edițiile | Preț | Express |
---|---|---|
Paperback (1) | 306.73 lei 6-8 săpt. | |
Springer International Publishing – 6 iun 2019 | 306.73 lei 6-8 săpt. | |
Hardback (1) | 313.16 lei 6-8 săpt. | |
Springer International Publishing – 9 feb 2018 | 313.16 lei 6-8 săpt. |
Preț: 313.16 lei
Preț vechi: 391.45 lei
-20% Nou
Puncte Express: 470
Preț estimativ în valută:
59.94€ • 62.34$ • 50.23£
59.94€ • 62.34$ • 50.23£
Carte tipărită la comandă
Livrare economică 13-27 martie
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9783319713021
ISBN-10: 3319713027
Pagini: 292
Ilustrații: XV, 336 p. 54 illus. in color.
Dimensiuni: 155 x 235 mm
Greutate: 0.67 kg
Ediția:1st ed. 2017
Editura: Springer International Publishing
Colecția Springer
Locul publicării:Cham, Switzerland
ISBN-10: 3319713027
Pagini: 292
Ilustrații: XV, 336 p. 54 illus. in color.
Dimensiuni: 155 x 235 mm
Greutate: 0.67 kg
Ediția:1st ed. 2017
Editura: Springer International Publishing
Colecția Springer
Locul publicării:Cham, Switzerland
Cuprins
1 Introduction.- 2 Context, Rules and Principles.- 3 Maintainability and Development.- 4 Architecture and Evolution.- 5 Ad-hoc Development.- 6 Disciplined Development.- 7 Re-Engineering and Reverse Engineering.- 8 Multi-faceted Loose Coupling.- 9 Monitoring and Logging.- 10 Scale of Deployment.
Notă biografică
Ervin Varga has been in the software industry as a professional software engineer since 1994 and today is the owner of the software consulting company Expro I.T. Consulting and a technical advisor of Mainflux. In addition, he is an IEEE Software Engineering Certified Instructor, and an associate professor at the University of Novi Sad, Serbia. Ervin is also author of several books and scientific journal/conference papers and has contributed to the JUnitPerf framework.
Textul de pe ultima copertă
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.
Caracteristici
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