A comprehensive collection of influential articles from one of IEEE Computer magazine’s most popular columns
This book is a compendium of extended and revised publications that have appeared in the ‘Software Technologies’ column of IEEE Computer magazine, which covers key topics in software engineering such as software development, software correctness and related techniques, cloud computing, self-managing software and self-aware systems. Emerging properties of software technology are also discussed in this book, which will help refine the developing framework for creating the next generation of software technologies and help readers predict future developments and challenges in the field.
Software Technology provides guidance on the challenges of developing software today and points readers to where the best advances are being made. Filled with one insightful article after another, the book serves to inform the conversation about the next wave of software technology advances and applications. In addition, the book:
* Introduces the software landscape and challenges associated with emerging technologies
* Covers the life cycle of software products, including concepts, requirements, development, testing, verification, evolution, and security
* Contains rewritten and updated articles by leaders in the software industry
* Covers both theoretical and practical topics
Informative and thought-provoking throughout, Software Technology is a valuable book for everyone in the software engineering community that will inspire as much as it will teach all who flip through its pages.
Cuprins
Foreword
Preface
Acknowledgments
List of Contributors
Part 1: The Software Landscape
Chapter 1: Software Crisis 2.0
Brian Fitzgerald
Chapter 2: Simplicity as a Driver for Agile Innovation
Tiziana Margaria and Bernhard Steffen
Chapter 3: Inter-Component Dependency Issues in Software Ecosystems
Maëlick Claes, Alexandre Decan, and Tom Mens
Chapter 4: Triangulation Research Dissemination Methods: A Three Pronged Approach to Close the Research/Practice Divide
Sarah Beecham, Ita Richardson, Ian Sommerville, Padraig O’Leary, Sean Baker, and John Noll
Part 2: Autonomous Software Systems
Chapter 5: Apoptotic Computing: Programmed Death by Default for Software Technologies
Roy Sterritt and Mike Hinchey
Chapter 6: Requirements Engineering for Adaptive and Self-Adaptive Systems
Emil Vassev and Mike Hinchey
Chapter 7: Toward Artificial Intelligence through Knowledge Representation for Awareness
Emil Vassev and Mike Hinchey
Part 3: Software Development and Evolution
Chapter 8: Continuous Model-Driven Engineering
Tiziana Margaria, Anna-Lena Lamprecht, and Bernhard Steffen
Chapter 9: Rethinking Functional Requirements: A Novel Approach Categorizing System and Software Requirements
Manfred Broy
Chapter 10: The Power of Ten – Rules for Developing Safety Critical Code
Gerard J. Holzmann
Chapter 11: Seven Principles of Software Testing
Bertrand Meyer
Chapter 12: Analyzing the Evolution of Database Usage in Data-Intensive Software Systems
Loup Meurice, Mathieu Goeminne, Tom Mens, Csaba Nagy, Alexandre Decan, and Anthony Cleve
Part 4: Software Product Lines and Variability
Chapter 13: Dynamic Software Product Lines
Sven Hallsteinsen, Mike Hinchey, Sooyong Park, and Klaus Schmid
Chapter 14: Cutting-Edge Topics in Dynamic Software Variability
Rafael Capilla, Jan Bosch, and Mike Hinchey
Part 5: Formal Methods
Chapter 15: The Quest for Formal Methods in Software Product Line Engineering
Reiner Hähnle and Ina Schaefer
Chapter 16: Formality, Agility, Security, and Evolution in Software Engineering
Jonathan P. Bowen, Mike Hinchey, Helge Janicke, Martin Ward, and Hussein Zedan
Part 6: Cloud Computing
Chapter 17: Cloud Computing: An Exploration of Factors Impacting Adoption
Lorraine Morgan and Kieran Conboy
Chapter 18: A Model-Centric Approach to the Design of Resource-Aware Cloud Applications
Reiner Hähnle and Einar Broch Johnsen
Index
Despre autor
Mike Hinchey, Ph D, is a Professor and former Director of Lero – the Irish Software Research Centre at the University of Limerick, Ireland. Dr. Hinchey is also the President of the International Federation for Information Processing (IFIP), a former column editor for Software Technologies (IEEE Computer Magazine), and a senior member of the IEEE. He is the author of more than 200 papers, and has written multiple books.