• Feature model

Feature model is a technical method for product line engineering.

Product line engineering addresses the problem of efficient system development. In order to meet the demand of constraints on software system development which is fast and low-cost, we have to consider about the reuse of software/system component rather than the development of products one by one from scratch.

Feature model is an approach to the product line engineering. Feature modeling is one of the most popular techniques, which analyzes commonality and variability in a domain to develop highly reusable core assets for a product line.

  • what is feature?

A feature [C&E 4.9.1] is "anything users or client programs might want to control about a concept. Thus, during feature modeling, we document no only functional features ... but also implementation features, ..., various optimizations, alternative implementation techniques, and so on."

Features express the variabilities and commonalities among programs in a software product line.

Features are an abstract concept for describing commonalities and variabilities. What this means precisely needs to be decided for each Product Line.

A feature in this sense is a characteristic of a system relevant for some Stakeholder. Depending on the interest of the Stakeholders a feature can be for the example a requirement, a technical function or function group or a non-functional (quality) characteristic.
Software Product Line Engineering with Feature Models