This is a summary of Feature Diagramming taken from chapter 4, pp. 82-130 of Generative Programming by Krzysztof Czarnecki and Ulrich W. Eisenecker, Addison-Wesley, 2000.
The purpose of these diagrams is to capture the variation points within a system. I like these diagrams because they succinctly capture aspects of a system that UML has trouble articulating.
Introduction
A concept is the knowledge we have about the properties of an object that allow us to categorize or classify it. A feature is an important property of a concept. A feature model represents common and variable features of concepts and dependencies between the variable features. A feature diagram is a visual representation of these concepts, features, and relationships. It articulates the variation points in a system.
A feature diagram consists of concepts, which comprise features, which also comprise sub-features. The diagram can have as many levels as are necessary to describe the variation in the domain you are modeling.
(continued in Feature Diagram Overview, Part 2 )
______
This posting contributed to the following article: