Wie baut man wiederverwendbaren Code?

In diesem Kurzartikel will ich eine neue Form der Individual-Softwareentwicklung vorstellenn, die den Softwaremarkt revolutionieren soll.

Die Krux mit den Individual-Bedürfnissen

Stellen Sie sich vor, Sie sind Softwareentwickler und bekommen eine Kundenanforderung, die in etwa so lautet:

Ich will ein CRM, das Kontakte von Xing importieren kann

Nun würden Sie anfangen, das CRM von Grund auf zu programmieren: Eine Programmiersprache auswählen, ein Framework nach Kriterien aussuchen, programmieren, designen. Alternativ nehmen Sie ein OpenSource-CRM und entwickeln eine Xing-Erweiterung dafür. Jetzt kommt der nächste Kunde und sagt:

Ich will ein CRM, das mir erlaubt, Angebots-PDFs anhand einer Kalkulations-Maske zu erstellen

Wieder würden Sie alles von Grund auf programmieren oder vorhandene Software abwandeln.

Logische Programmierung erlaubt das Spezifizieren von Software mit Begriffen

Wenn Sie die oberen zwei Beispiele zusammenfassen, verwenden Sie im Kundengespräch doch folgende Begriffe:

  • Ein CRM ist eine Kunden-Datenbank, die eine Liste von Kunden verwaltet und Features wie Wiedervorlage und E-Mail-Anbindung hat.
  • Xing-Kontakte sind die Kontakt-Einträge auf der Xing-Plattform, die mittels der Xing API ausgelesen werden können
  • Angebots-PDFs sind automatisch generierte PDF-Dokumente, die einen Adressaten im Briefkopf haben, eine Begrüßung, einen Einleitungstext und eine Tabelle.
  • Eine Kalkulations-Maske ist ein Formular mit hinzufügbaren Angebots-Posten, die die Daten für das Angebots-PDF sammelt.

Jetzt gibt es aus der Informatik-Forschung aus den 70er Jahren eine Form des Programmierens, die sich „logische Programmierung“ nennt. Dabei kann man beliebige Begriffe verwenden und später deren Bedeutung definieren. Durch diese Form der Programmierung ist es möglich, Software feingradig zu spezifizieren, ja sogar zwei verschiedene Softwaretypen zu verschmelzen, wie z.B. CRM und ERP.

Alles mit nur 2 Grundelementen: Fakten und Regeln

Die Grundlage logischer Programmierung ist sehr simpel gehalten, umso schwieriger ist es, damit Vernünftiges anzustellen. Dabei gibt es nur zwei Strukturelemente der logischen Programmierung: Regeln und Fakten.

Fakten sind Aussagen, die wahr sind. Sie bestehen aus einem Prädikat, sowie Parametern. Ein Beispiel: Die Tabelle.
Table<"kunden">.
Mit diesem Schnipsel Logik-Code ist es möglich, auszudrücken, dass es eine Tabelle „kunden“ in der Datenbank gibt. Analog die Spalte: Column<"kunden", "vorname", "text">.

Regeln sind hingegen Konstrukte, die aus vorhandenen Fakten neue Fakten erzeugen. Ein Beispiel: Table<table_name> -> MenuEntry<"$table_name$ ansehen">

Durch diese zwei Konstrukte ist es möglich, komplexe Software aus wenigen Zeilen Anforderungen zu konstruieren. Diese Form der Softwareentwicklung nennt man auch „Feature Oriented Programming“. Eine Software setzt sich aus Features bzw. Funktionen zusammen, die man jeweils mit einem Einzeiler Logik-Code beschreibt.

Feature Oriented Programming als Produkt von Launix

mit-innovationin-die-zukunft
Um Datenbanken für (fast) jedes Unternehmen erschwinglich zu machen, haben wir ein Produkt ins Leben gerufen, wo wir für Sie eine beliebige Software zu einem Festpreis anbieten. Das funktioniert deshalb, weil wir die Kosten für die Entwicklung der Features auf mehrere Kunden umlegen können. Normale Softwareentwicklung würde ein 10-faches von FOP kosten.

Klicken Sie hier, um mehr über FOP zu erfahren

de_DEGerman

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