Feature Oriented Programming
Feature-oriented programming ( FOP , Eng. Feature-oriented programming ) is a programming paradigm for developing software product lines .
Feature-oriented programming is based on software features that are taken into account as first-level elements during design and implementation. Features represent extensions of program functionality. Features differ from cross-cutting concerns in that they directly reflect the requirements of program users.
Simplification of the creation of product lines
The benefit of FOP is that it makes it easier to create product lines. If the same product (e.g. a CRM) is always required with different requirements each time, FOP allows the entire product range to be programmed in a uniform source code . A customer-specific product can then be generated on the basis of a parameterization of the product line by selecting features from the FOP code.
Implementation forms
Today's approaches mostly work with template systems that can put together complex software such as CRM and ERP systems. Feature Oriented Programming differs from normal module systems in that the control of the features is possible in a more fine-grained manner, and features can also be cross-module.
To represent the features of software, there are both graphic systems that work via checkboxes and allow software to be compiled using a GUI, as well as systems that work on the basis of description logics.
See also
Individual evidence
- ↑ Software technology lecture, Uwe Aßmann