Feature Oriented Programming

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.
Bitte die Anforderungen für geeigneten Quellen beachten. (Februar 2017)

Feature-orientierte Programmierung (FOP, engl. feature-oriented programming) ist ein Programmierparadigma zur Entwicklung von Software-Produktlinien.

Grundlage der Feature-orientieren Programmierung sind Softwaremerkmale (Features), die bei Design und Implementierung als Elemente erster Ebene berücksichtigt werden. Features stellen Erweiterungen von Programmfunktionalität dar. Dabei unterscheiden sich Features von Cross-Cutting Concerns dahingehend, dass sie Anforderungen von Programmnutzern direkt widerspiegeln.

Vereinfachung der Erstellung Produktreihen[Bearbeiten | Quelltext bearbeiten]

Der Nutzen von FOP ist die Vereinfachung der Erstellung von Produktreihen. Wird immer dasselbe Produkt (z.B. ein CRM) mit jedes mal abweichenden Anforderungen benötigt, erlaubt FOP das Programmieren der kompletten Produktreihe in einem einheitlichen Quellcode. Ein kundenspezifisches Produkt kann dann anhand einer Parameterisierung der Produktreihe durch Auswählen von Features aus dem FOP-Code generiert werden.

Umsetzungsformen[Bearbeiten | Quelltext bearbeiten]

Heutige Ansätze arbeiten meist mit Template-Systemen, die komplexe Software wie CRM- und ERP-Systeme zusammensetzen können. Feature Oriented Programming unterscheidet sich von normalen Modul-Systemen dadurch, dass die Ansteuerung der Features feingranularer möglich ist, sowie Features auch Modul-übergreifend sein können.

Zur Repräsentation der Features einer Software gibt es sowohl grafische Systeme[1], die über Checkboxen arbeiten und eine Software mittels einer GUI zusammenstellen lassen, als auch Systeme, die auf der Basis von Beschreibungslogiken arbeiten.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Vorlesung Softwaretechnologie, Uwe Aßmann