... the only eclipse plugin for feature oriented software development.
feature
A feature is a unit of functionality of a software system that satisfies a requirement, represents a design decision, and provides a potential configuration option. The basic idea is to describe a software system in terms of the features it provides. The goal is to construct well-structured software that can be tailored to the needs of the user and the application scenario. Typically, from a set of features, many different software systems can be generated that share common features and differ in other features. The set of software systems generated from a set of features is also called a software product line.
three success factors
structure
how is your codebase organized
reuse
how to achieve stable and high quality software
variation
managing variation by identifying and designing features
IDE
Integrated Development Environment
FeatureIDE is an open-source framework for feature-oriented software development (FOSD) based on Eclipse.
problem space - plan and implement your productline
-
domain analysis
- capture the variabilities and commonalities of a software-system domain
- build a feature model
-
domain implementation
- implementing all software-systems of the domain at the same time
- mapping the code assets to features
problem space
domain specific abstraction
solution space - select features and generate products
-
requirements analysis
- requirements are mapped to the features of the domain
- features needed for a customized software system are selected, resulting in a configuration
-
software generation
- software system is automatically built
- based on a configuration and the domain implementation
solution space
implementation oriented abstraction
timeline
network
screenshots
feature model editor
constraint wizard
configuration editor
collaboration diagram
collaboration outline