Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Mastering software variability with FeatureIDE
Meinicke J., Thüm T., Schröter R., Benduhn F., Leich T., Saake G., Springer International Publishing, New York, NY, 2017. 243 pp. Type: Book (978-3-319614-42-7)
Date Reviewed: Mar 6 2018

Inherent variability in different industrial domains and business requirements poses a number of challenges in custom software development. Feature-oriented programming (FOP) based software development is an important approach to ease the customization of software development. However, at the current state of the art, it has the challenge of a lack of high-quality, stable, and easily configurable tools to handle the feature variability in different domains. The tool presented in this book represents a major step forward. The FeatureIDE tool is an open-source, Java-based Eclipse plug-in development type integrated development environment, which can be easily installed, configured, and used for necessary support for domain engineering, configuration, analysis, implementation, quality assurance (QA), and requirements analysis.

This book provides a detailed overview of the basics and advances of the FeatureIDE tool, its installation, and configuration procedures as well as stepwise tutorials for students and practitioners in the field. The major features of FeatureIDE are described in detail, along with its usage scenarios, in 19 chapters. The usage of this tool is elaborated with some easy-to-understand examples (“Hello World”) and a more detailed “elevator” example, along with code snippets.

In five parts, 19 chapters, and about 250 pages, this book offers step-by-step, handbook-type guidance to the user from downloading the product to final installation and its usage in product-line engineering. It covers almost all major aspects of the FeatureIDE tool including feature modeling, configuration, QA, support, FOP, and various tool supports, along with a variety of views and editors and some use cases to demonstrate actual implementation. Chapter 4 provides a running example of an elevator and its variability in design to satisfy different customer requirements regarding security and scheduling. Chapters 5 through 7 discuss the concept of feature models and creating these models using the editor to express the variability of a product line, in addition to product configuration and quality. Specifically, chapters 13 and 14 provide details about the other FOP tools, like FeatureHouse and AHEAD, and how they are integrated into the FeatureIDE. At the end of each chapter, the authors provide a summary of references for further in-depth reading and research. The screen shots, code snippets, and related figures in each chapter are very helpful in illustrating the concepts. Code examples are modifiable, and users can customize them based on their specific requirements.

Overall, this book is a very good contribution to the FOP literature and tools. However, the product seems like it is still evolving, despite having more than ten years in background and development. Therefore, it is my opinion that future updates may include some pattern-based development for specific industries using this tool. Patterns provide efficient, reliable, and speedy development templates for business requirements modeling in a variety of industrial scenarios and domains. Specific industry pattern-based feature development may add more value, reliability, and speed to the development of software products using this IDE specifically in real-world scenarios.

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. It provides necessary instructions for installation, implementation, configuration, and end-to-end usage of the FeatureIDE tool. 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.

Reviewer:  Sajjad Khan Review #: CR145898 (1805-0194)
Bookmark and Share
 
Integrated Environments (D.2.6 ... )
 
 
Design Tools and Techniques (D.2.2 )
 
 
Requirements/ Specifications (D.2.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Integrated Environments": Date
Modern languages and Microsoft’s component object model
Gray D., Hotchkiss J., LaForge S., Shalit A., Weinberg T. Communications of the ACM 41(5): 55-65, 1998. Type: Article
Aug 1 1998
Websphere studio application developer 5.0 practical J2EE development
Livshin I., APress, LP, 2003.  656, Type: Book (9781590591208)
Nov 4 2003
A generative approach to framework instantiation
Cechticky V., Chevalley P., Pasetti A., Schaufelberger W.  Generative programming and component engineering (Proceedings of the second international conference, Erfurt, Germany, Sep 22-25, 2003)267-286, 2003. Type: Proceedings
Jan 27 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy