QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)

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

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

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

Einzelnachweise

Bearbeiten
  1. Vorlesung Softwaretechnologie, Uwe Aßmann

📚 Artikel Terkait di Wikipedia

FOP

Processor, ein Programm zur Verarbeitung von XSL-FO-Dokumenten Feature Oriented Programming, Modulare Abstraktion von Softwaremerkmalen Fibrodysplasia ossificans

Objektorientierte Programmierung

von 1999 definiert den Begriff object-oriented dagegen wie folgt: “Pertaining to a technique or a programming language that supports objects, classes

Beschreibungslogik

unerlässlich ist. Ein anderer Anwendungsfall findet sich im Bereich des Feature Oriented Programming, wo Beschreibungslogiken zur Beschreibung von Software-Konfigurationen

YAGNI

„Du wirst es nicht brauchen“. Es bezeichnet ein Prinzip des Extreme Programming (XP), das besagt, dass in einem Programm erst dann Funktionalität implementiert

Individualsoftware

kann mit Techniken wie Aspektorientierte Programmierung oder Feature Oriented Programming individuelle Software aus fertigen Standard-Komponenten sowie

Modellgetriebene Softwareentwicklung

Framework von itemis AG Enterprise Architect von Sparx Systems Feature Oriented Programming von Launix HyperSenses und ANGIE von DELTA Software Technology

Liste von Softwareentwicklungsprozessen

(Österreich) Catalysis Crystal Family Enterprise Unified Process Extreme Programming (XP) Feature Driven Development (FDD) Hermes: Das (IT-)Projektführungsmodell

Eiffel (Programmiersprache)

Liberty-Eiffel create make feature make is do print("Hello World.%N") end end class HELLO -- ECMA-Eiffel create make feature make do print("Hello World