Kapstadt

OOP vs. 4GL und  IT vs. DP

Objektorientierte Programmierung (OOP) entspricht heutzutage dem neuesten Stand der Technik - sie ersetzt die bisherigen Konzepte von 4GL - Sprachen der vierten Generation in der modernen Software-Entwicklung. Die meisten Programmierer, die mit beiden gearbeitet haben, werden Ihnen sagen, dass das Erstellen von OOP-basierten Systemen für Geschäftsanwendungen nicht durch OOP erleichtert wurde. Konzepte wie MVC - Model View Controller - wie sie in Programmiersprachen wie PHP oder Java implementiert sind, haben die Strukturierung von Internet / Intranet-basierten Anwendungen verbessert, aber auch die Komplexität solcher Anwendungen erhöht.

Moderne Anwendungen orientieren sich mehr an IT - Informationstechnologie - also das Finden und Anzeigen von Informationen als an DP - Datenverarbeitung. Ein kurzer Vergleich zwischen den beiden Konzepten folgt: 

Informationstechnologie (IT) Datenverarbeitung (DP oder EDV)
Unstrukturierte Daten, Bilder, Videos ... Strukturierte Daten, Tabellen
Suchen und Anzeigen Anwendungen  Eingabe - Verarbeiten - Ausgabe Anwendungen
Temporäre Dokumentenspeicherung Permanente Dokumentenspeicherung
Dynamische Verarbeitungsprozeduren Feste Verarbeitungsprozeduren

 

Eine typische IT-Anwendung ist ein Content Management System (CMS) - wie das, woraus Sie gerade lesen.

Eine typische DP-Anwendung ist ein Auftragsverarbeitungssystem (Fulfillment), das in einem Lager oder in einer Büroumgebung ausgeführt werden kann.

In einem CMS wählen Sie normalerweise die Site aus, geben eine Suche ein oder klicken auf einen Link, durchsuchen einen Inhalt und kaufen vielleicht etwas über einen Einkaufswagen, der eine Bestellung an den ausgewählten Shop sendet, um Ihre Bestellung zu liefern. Dies nenne ich eine Find-Display-Anwendung. Der gesamte Prozess ist dynamisch, er wird fast vollständig von Benutzeraktionen gesteuert, Sie können jederzeit unterbrechen, ganz abbrechen oder woanders hingehen und nach Belieben zurückkehren.

Die Bearbeitung einer Auftrag oder Bestellung ist eine ganz andere Art von Anwendung. Von der Auswahl der eingehende Bestellung und der zu bearbeitenden Artikel bis zur Lieferung der Artikel an den Kunden ist eine ganze Kette von Prozessen involviert. Die Prozesse sind detailliert definiert und in der Regel optimiert, um Aufwand und Kosten zu sparen. Wir nennen diese Prozesse Logistik oder einen Teil davon.

Die größte Problemquelle bei der Implementierung eines Auftragsverarbeitungssystems ist meiner Erfahrung nach die Kommunikation zwischen den Benutzern (im Büro, in der Werkstatt, in der Fabrik, im Lager ...) und den Programmierern.

OOP führte eine völlig neue Sprache ein - Klassen, Methoden, Eigenschaften, Vererbung, Konstruktoren ... - wodurch die Kommunikation zwischen dem Programmierer und dem Endbenutzer nicht einfacher wurde. Es folgten Konzepte zur Überwindung dieses Kommunikationsproblems - einige Beispiele:
UML - Einheitliche Modellierungssprache und
DDD - Domänengesteuertes Design

Diese Konzepte, ihre Sprache und ihre inhärente Komplexität sind dem durchschnittlichen Logistikarbeiter, wie einem Gabelstaplerfahrer, völlig fremd, und meine Aufgabe bestand darin, zu verstehen, welche Anforderungen er an das System hatte und wie ein System am besten implementiert werden kann, um diese Anforderungen zu erfüllen.

Der nächste Artikel dreht sich um meinen Ansatz zur Entwicklung eines Systems für den Endanwender in der realen Welt, Teil eines Logistik-Management-Systems.

 

 

 

Template by T. Knijff