Ist Feature Oriented Programming Magie?

Erzähle ich Entwicklern von Feature Oriented Programming und werde ungläubig angeschaut: „Das geht doch gar nicht“. Um das zu verdeutlichen, dieser Comic:

Code generated from specification

Doch was genau IST Code?

In modernen Programmiersprachen basiert der Quellcode immer noch auf den alten Prinzipien der ALGOL-Programmiersprache: Variablen, die man setzen kann, Kontrollstrukturen wie IF und WHILE, Prozeduren, die man aufrufen kann. Eine Software ist am Ende ein Programm, also eine Liste von Anweisungen, die abgearbeitet werden müssen.

Doch wer ist so erbsenzählerisch und kleinkariert, dass er ein komplexes Software-System, zum Beispiel ein ERP, alles in hintereinander abgearbeiteten Code-Zeilen niederschreibt? Richtig. Entwickler.

Doch bevor es dazu kommt, arbeitet meist ein Informatiker an einer Planung: Mit Stift und Papier zeichnet er den groben Aufbau der Software-Struktur, damit der Entwickler einen Leitfaden für die Implementierung hat. Diese Methode nennt sich Modellierung und ähnelt der Modellierung aus Styropor, die ein Architekt betreibt, bevor er Maurern die Anweisungen gibt, Stein auf Stein zu setzen.

Und da genau setzt FOP an: Anstatt die Modellierung getrennt von der Entwicklung zu betrachten, ist bei FOP die Modellierung gleichzeitig die Grob-Spezifikation. Entwickler müssen nun nur noch die Feinheiten hinzufügen. Das komplette „Einhacken“ des Gesamt-Codes entfällt aber.

Das hat für den Kunden mehrere Vorteile:

  • Software kann aus Modulen und Features zusammengesetzt werden
  • Module und Features können mehrmals verkauft werden und sind somit billiger als individuell programmierter Code
  • Software ist wesentlich schneller fertig
  • Durch die Verwendung von „weniger“ Code entstehen auch weniger Fehler
  • Trotzdem sind noch komplette Neuprogrammierungen möglich

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen