Artifact: Feature Model
SPL Work Product for Domain Analysis
Purpose

A feature model represents the standard features of a family of systems in the domain and relationships between them.

The feature model serves as a communication medium between users and developers. To the users, the feature model shows what the standard features are, what other features they can choose, and when they can choose them. To the developers, the feature model indicates what needs to be parameterized in the other models and the software architecture, and how the parameterization should be done.

Relationships
Description
Main Description

A Feature Model consists of a diagram that represents features and the relationship between them.

The structural relationship consists of, which represents a logical grouping of features, is of interest.

Alternative or optional features of each grouping must be indicated in the feature model. For example, the automatic and manual features are alternatives and the air-conditioning feature is optional, as indicated in Figure below  by small arcs and circles, respectively. Each feature must be named distinctively and the definition should be included in the domain terminology dictionary.

Alternative features can be thought of as specializations of a more general category. For example, the automatic and manual transmission features can be thought of as specializations of the general "transmission" feature. The term "alternative features" is used (rather than "specialization features") to indicate that no more than one specialization can be made for a system. However, the attributes of (i.e., the description made for) a general feature are inherited by all its specializations. Composition rules define the semantics existing between features that are not expressed in the feature diagram.

All optional and alternative features that cannot be selected when the named feature is selected must be stated using the "mutually exclusive with" statement. All  optional and alternative features that must be selected when the named feature is selected must be defined using the "requires" statement.

Form and Structure of a Feature Model

A Feature model is represented as a diagram showing a hierarchical decomposition of features indicating optional and alternative features, and composition rules of the features. Moreover, it may include a textual definition of features encompassing features description and binding time constraints.

Example of a Feature Model

 

More Information