Managed Software Evolution
Book Details
| Authors | Ralf Reussner, Michael Goedicke, Wilhelm Hasselbring, Birgit Vogel-Heuser, Jan Keim, Lukas Märtin |
| Publisher | Springer |
| Published | 2019 |
| Edition | 1st |
| Paperback | 439 pages |
| Language | English |
| ISBN-13 | 9783030134983, 9783030135010, 9783030134990 |
| ISBN-10 | 3030134989, 3030135012, 3030134997 |
| License | Creative Commons Attribution |
Book Description
This book presents the outcomes of the "Design for Future - Managed Software Evolution" priority program 1593, which was launched by the German Research Foundation ("Deutsche Forschungsgemeinschaft (DFG)") to develop new approaches to software engineering with a specific focus on long-lived software systems. The different lifecycles of software and hardware platforms lead to interoperability problems in such systems. Instead of separating the development, adaptation and evolution of software and its platforms, as well as aspects like operation, monitoring and maintenance, they should all be integrated into one overarching process.
Accordingly, the book is split into three major parts, the first of which includes an introduction to the nature of software evolution, followed by an overview of the specific challenges and a general introduction to the case studies used in the project. The second part of the book consists of the main chapters on knowledge carrying software, and cover tacit knowledge in software evolution, continuous design decision support, model-based round-trip engineering for software product lines, performance analysis strategies, maintaining security in software evolution, learning from evolution for evolution, and formal verification of evolutionary changes. In turn, the last part of the book presents key findings and spin-offs. The individual chapters there describe various case studies, along with their benefits, deliverables and the respective lessons learned. An overview of future research topics rounds out the coverage.
The book was mainly written for scientific researchers and advanced professionals with an academic background. They will benefit from its comprehensive treatment of various topics related to problems that are now gaining in importance, given the higher costs for maintenance and evolution in comparison to the initial development, and the fact that today, most software is not developed from scratch, but as part of a continuum of former and future releases.
This book is available under a Creative Commons Attribution license (CC BY), which means that you are free to copy, distribute, and modify it, as long as you give appropriate credit to the original author.
If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.
Download and Read Links
Share this Book
[localhost]# find . -name "*Similar_Books*"
Producing Open Source Software, 2nd Edition
The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and energy to create better software. The truth is, ho
97 Things Every Software Architect Should Know
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects - including Neal Ford, Michael Nygard, and Bill de hOra - offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and m
Rethinking Productivity in Software Engineering
Get the most out of this foundational reference and improve the productivity of your software teams. This book collects the wisdom of the 2017 "Dagstuhl" seminar on productivity in software engineering, a meeting of community leaders, who came together with the goal of rethinking traditional definitions and measures of productivity. The results of
Handbook of Software Engineering Methods, 2nd Edition
This book does not purport to teach the reader how to be a software engineer, a skill that is cultivated over time through practice. Instead, it focuses on software engineering methods - defined as the approaches people use to achieve specific objectives in the field - which can salvage a project. The author's objective is for readers to feel bette
Evidence-based Software Engineering
This book discusses what is currently known about software engineering based on an analysis of all publicly available software engineering data. This aim is not as ambitious as it sounds because there is not a lot of data publicly available. The analysis is like a join-the-dots puzzle, except that the 600+ dots are not numbered, some of them are ac
Introduction to Ethical Software Development
This open access book bridges the gap between ethical theory and software practice. It introduces foundational concepts in digital ethics, highlights the distinctive nature of software as a technology, and offers a systematic approach to integrating ethics into the development process. The book is structured in eight chapters: it starts with an Int