This book is a self-contained, practical introduction how to use FeatureIDE for modeling and implementing variable systems. In particular, readers learn how to analyze domains using feature models, specify requirements in form of configurations, and how to generate code based on conditional compilation and feature-oriented programming. Given the interactive style of the book, readers can directly try out the open-source development environment. All code examples are available in the standard distribution on GitHub and can immediately been used for individual modifications. Each part of the…mehr
This book is a self-contained, practical introduction how to use FeatureIDE for modeling and implementing variable systems. In particular, readers learn how to analyze domains using feature models, specify requirements in form of configurations, and how to generate code based on conditional compilation and feature-oriented programming. Given the interactive style of the book, readers can directly try out the open-source development environment. All code examples are available in the standard distribution on GitHub and can immediately been used for individual modifications. Each part of the book is presented as a step-by-step tutorial and additionally illustrated using an ongoing example of elevator control software written in Java. Written by the core development team of FeatureIDE, this book is suitable for students using a tool for deepening the theoretical foundations of variability modeling and implementation, and as a reference for practitioners needing a stable and scalable tool for industrial applications. FeatureIDE is the most used open-source tool for feature modeling and has been continuously improved since 2004. The success of FeatureIDE is due to being a vehicle for cutting-edge product-line research by still providing an easy-to-use and seamless integration into Eclipse.
Jens Meinicke is a PhD student at University of Magdeburg, Germany. Since 2011 he has developed FeatureIDE as a programmer and a researcher, and since fall 2016 he is working at Carnegie Mellon University in Pittsburgh as Visiting Researcher. Thomas Thüm is a postdoctoral researcher at TU Braunschweig, Germany. In 2010, his master thesis had received the Software Engineering Award 2011 of the Ernst-Denert-Foundation, and in 2015, he received the Dissertation Award of the University of Magdeburg. He made substantial contributions to the source code between 2007 and 2010. Since then, he manages the development and releases of FeatureIDE. Reimar Schröter is a PhD student at University of Magdeburg, Germany. Since 2012, he has been responsible for the integration of several extensions into FeatureIDE. He supervised courses in which students used FeatureIDE for product-line development and extend withnew functionalities. Fabian Benduhn is a PhD student at University of Magdeburg, Germany. He has contributed to the development of FeatureIDE, used it for teaching, and has been involved in preparing FeatureIDE for industrial application together with METOP GmbH. Thomas Leich is Professor for Requirements Engineering at Harz University of Applied Sciences in Wernigerode, Germany. He is also Executive Director of METOP GmbH, an affiliate institute to the University of Magdeburg. Since 2001 he worked for several DAX 30 companies as consultant and software architect. In 2004, he initiated FeatureIDE as a part of the FeatureC++ project at the University of Magdeburg. Until today he is responsible for industrial extensions and consulting of FeatureIDE. Gunter Saake is Professor for Databases and Software Engineering at University of Magdeburg, Germany. He has more than 200 publications covering various areas of data base management, formal methods, and software engineering. He is the author of several basic and graduate text books on database technology and an introductory book for computer science students. He is also co-author of the book "Feature-Oriented Software Product Lines" (Springer, 2013) presenting the foundations of feature-oriented software product-line engineering.
Inhaltsangabe
1 Software Variability.- 2 Getting Started.- 3 FeatureIDE in a Nutshell.- 4 An Elevator as a Running Example.- 5 Feature Modeling.- 6 Product Configuration.- 7 Feature Traceability in Feature Models and Configurations.- 8 Quality Assurance for Feature Models and Configurations.- 9 Conditional Compilation with FeatureIDE.- 10 Developing an Elevator with Conditional Compilation.- 11 Feature Traceability for Conditional Compilation.- 12 Quality Assurance for Conditional Compilation.- 13 Feature-Oriented Programming with FeatureIDE.- 14 Developing an Elevator with Feature-Oriented Programming.- 15 Feature Traceability for Feature-Oriented Programming.- 16 Quality Assurance for Feature-Oriented Programming.- 17 Tool Support Beyond Preprocessors and Feature Modules.- 18 Tool Support for Product-Line Maintenance.- 19 Overview on FeatureIDE.
1 Software Variability.- 2 Getting Started.- 3 FeatureIDE in a Nutshell.- 4 An Elevator as a Running Example.- 5 Feature Modeling.- 6 Product Configuration.- 7 Feature Traceability in Feature Models and Configurations.- 8 Quality Assurance for Feature Models and Configurations.- 9 Conditional Compilation with FeatureIDE.- 10 Developing an Elevator with Conditional Compilation.- 11 Feature Traceability for Conditional Compilation.- 12 Quality Assurance for Conditional Compilation.- 13 Feature-Oriented Programming with FeatureIDE.- 14 Developing an Elevator with Feature-Oriented Programming.- 15 Feature Traceability for Feature-Oriented Programming.- 16 Quality Assurance for Feature-Oriented Programming.- 17 Tool Support Beyond Preprocessors and Feature Modules.- 18 Tool Support for Product-Line Maintenance.- 19 Overview on FeatureIDE.
1 Software Variability.- 2 Getting Started.- 3 FeatureIDE in a Nutshell.- 4 An Elevator as a Running Example.- 5 Feature Modeling.- 6 Product Configuration.- 7 Feature Traceability in Feature Models and Configurations.- 8 Quality Assurance for Feature Models and Configurations.- 9 Conditional Compilation with FeatureIDE.- 10 Developing an Elevator with Conditional Compilation.- 11 Feature Traceability for Conditional Compilation.- 12 Quality Assurance for Conditional Compilation.- 13 Feature-Oriented Programming with FeatureIDE.- 14 Developing an Elevator with Feature-Oriented Programming.- 15 Feature Traceability for Feature-Oriented Programming.- 16 Quality Assurance for Feature-Oriented Programming.- 17 Tool Support Beyond Preprocessors and Feature Modules.- 18 Tool Support for Product-Line Maintenance.- 19 Overview on FeatureIDE.
1 Software Variability.- 2 Getting Started.- 3 FeatureIDE in a Nutshell.- 4 An Elevator as a Running Example.- 5 Feature Modeling.- 6 Product Configuration.- 7 Feature Traceability in Feature Models and Configurations.- 8 Quality Assurance for Feature Models and Configurations.- 9 Conditional Compilation with FeatureIDE.- 10 Developing an Elevator with Conditional Compilation.- 11 Feature Traceability for Conditional Compilation.- 12 Quality Assurance for Conditional Compilation.- 13 Feature-Oriented Programming with FeatureIDE.- 14 Developing an Elevator with Feature-Oriented Programming.- 15 Feature Traceability for Feature-Oriented Programming.- 16 Quality Assurance for Feature-Oriented Programming.- 17 Tool Support Beyond Preprocessors and Feature Modules.- 18 Tool Support for Product-Line Maintenance.- 19 Overview on FeatureIDE.
Rezensionen
"This is a very useful, practical manual specifically for students of FOP, aspect-oriented programming (AOP), domain modeling, and variability modeling who are interested in learning about state-of-the-art tools and products in these areas. ... I would strongly recommend this book for students, researchers, software developers, and other practitioners in the fields of FOP software development, AOP, and product engineering for industrial projects." (Sajjad Khan, Computing Reviews, March, 2018)
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Shop der buecher.de GmbH & Co. KG Bürgermeister-Wegele-Str. 12, 86167 Augsburg Amtsgericht Augsburg HRA 13309