Zum Inhalt springen

Feature Oriented Programming

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Mai 2017 um 17:57 Uhr durch Antisteo (Diskussion | Beiträge) (Artikel strukturiert, Belege hinzugefügt, Quellen-Vermerk entfernt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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. Von Modul-Systemen unterscheidet sich FOP, dass Features feingranularer in das Programm einwirken, während Module einer Kapselung unterliegen.[1]

Vereinfachung der Erstellung Produktreihen

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. Dies ermöglicht, komplexe Software wie CRM- und ERP-Systeme zusammensetzen können, bei denen ein hoher Individualisierungsbedarf bei gleichzeitigem Kostendruck existiert.

Zusammensetzung

Ein System, das das FOP-Paradigma umsetzt, besteht aus zwei Teilen: Einem Beschreibungs-System, sowie einem Code-Generator. Als Beschreibungssysteme kommen zum Einsatz:

Zur Code-Generierung wird meist ein Template-Systemen benutzt, um die Features zusammenzusetzen:

  • Mit Annotationen wie #ifdef können in C++ Features an- und ausgeschaltet werden[2]
  • Diverse AOP-Frameworks können so benutzt werden, dass sie das FOP-Paradigma umsetzen
  • Handgeschriebener Code kann das spezialisierte Programm generieren

Siehe auch

Einzelnachweise

  1. Feature Oriented Programming | LAUNIX. Abgerufen am 5. Mai 2017 (deutsch).
  2. a b Academic paper: Feature-Oriented Programming and Context-Oriented Programming: Comparing Paradigm Characteristics by Example Implementations. Abgerufen am 5. Mai 2017 (englisch).
  3. Beschreibungslogik beschert Ihnen die perfekte Datenbank-Software | LAUNIX. Abgerufen am 5. Mai 2017 (deutsch).
  4. Vorlesung Softwaretechnologie, Uwe Aßmann