Traffic

Rückblick auf Q4/25

6. Januar

Fulminanter Start: Der Weihnachts-Content hat sich gelohnt. Vor allem der Countdown hob ab wie eine Rakete.

Weiterlesen
Eine Rakete ist startbereit.
Daten

Ordnung schaffen

10. März

Durch Kategorienbildung kann man sich in Datensammlungen leichter und rascher zurechtfinden.

Weiterlesen
Schön geordnete Schmetterlinge

Die neuesten Beiträge

Immer höher hinauf

Stufen der Abstraktion

Abstraktion soll nicht vage sein, sondern eine neue Bedeutungsebene schaffen, auf der man total präzise sein kann. – Edsger Dijkstra
Kieselsteine am Boden

Wir zoomen hinaus:

  • dieser kleine graue Kieselstein in meinem Garten (Konkret: bestimmter Gegenstand mit Ort, Grösse und Farbe)
  • ein kleiner grauer Kieselstein (Allgemein: Ort und Demonstrativpronomen „dieser“ entfernt)
  • ein grauer Kieselstein (Grössenangabe entfernt)
  • ein Kieselstein (Farbbeschreibung entfernt)
  • ein Stein (Verallgemeinerung der Art: „Kieselstein“ → umfassendere Kategorie „Stein“)
  • ein mineralischer Gegenstand (Verallgemeinerung der Zusammensetzung: Stein → mineralische Substanz)
  • ein physischer Gegenstand (abstrahiert zu jeder greifbaren Entität, unabhängig von ihrer Zusammensetzung)
  • eine Entität (erweitert um greifbare/nicht greifbare Existenzen)
  • ein Ding (universelles Singular: alle diskreten Existenzen)
  • alle Dinge (ultimative Abstraktion: die Gesamtheit aller Existenzen)

Beim Hinauszoomen verliert der eine, ganz bestimmte Gegenstand, der uns beschäftigt, immer mehr Details und konkrete Eigenschaften. An die Stelle des kleinen grauen Kieselsteins dort im Garten tritt bald nur noch „Stein“ und auf der zweitobersten Ebene „ein Ding“.

Wo wir beim Zoomen anhalten, hängt davon ab, welche Eigenschaften des Gegenstands uns interessieren. Kommt es weder auf die genaue Lage, die Grösse, noch auf die Farbe des Kieselsteins an, reicht „Kieselstein“. Kommt es auch nicht darauf an, um was für einen Stein es sich handelt, reicht „Stein“.

Aussagen, die wir auf dieser Ebene machen, gelten für alle darunterlieghenden Ebenen: „Stein kann man nicht essen“ trifft zu, egal, ob es ein Wackerstein, ein Rubin oder ein Kieselstein ist.

Business-Abstraktionen

Im Geschäftsleben haben wir es meist nicht mit Steinen zu tun, sondern mit Produkten, Lieferketten, Abrechnungen, Konten und dergleichen mehr.

Das Spannende ist nun, herauszufinden, auf welcher Abstraktionsebene wir Businessprobleme angehen können und sollen.

Betrachten wir das Problem, dass wir eine Rechnung als PDF und nicht als XML bekommen: Um die Rechnung zu prüfen, müssen wir jeden einzelnen Posten herauslösen und in seine Bestandteile zerlegen: Bestellnummer, Artikelbezeichnung, Preis. Das erledigen wir mit einem Python Script, das die PDF-Datei einliest, die einzelnen Posten isoliert und sie in eine Excel-Tabelle überführt.

Erhalten wir von der Bank einen Kontoauszug oder eine Kreditkartenabrechnung, müssen wir, obwohl die aus anderen Bestandteilen zusammengesetzt sind, im Prinzip wieder dasselbe tun: zusammengehörende Teile als Zeilen in eine Excel-Tabelle schreiben.

Aus dem Script, das eingehende Rechnungen von PDF nach Excel überführt, lässt sich mit wenigen Änderungen ein Script erstellen, das dasselbe mit Kontoauszüge oder Kreditkartenabrechnungen macht. Oder noch besser: Wir schreiben ein allgemeines Script, das beliebige eingehende Dokumente je nach Typ verarbeitet.

Damit sind wir auf der Leiter der Abstraktion eine Stufe höher gestiegen und haben statt eines bestimmten, eng umrissenen Problems eine ganze Klasse von Problemen gelöst. Das hat für uns die Komplexität und den Zeitaufwand reduziert.

Wenn wir noch höher steigen, kommen wir bald beim „Zustandsübergangsdiagramm“ (state transition diagram) oder kurz „Zustandsdiagramm“ an. Dieses Konzept spielt nicht nur bei der automatischen Verarbeitung von Rechnungen, Kontoauszügen usw. eine Rolle, sondern auch in ganz anderen Bereichen, etwa der Paketzustellung oder der Analyse der „Kundereise“, womit eine Abfolge von Aktionen und Erlebnissen einer Person gemeint ist, die im besten Fall am Ende der Reise ein Produkt kauft und bezahlt.

Hier bewegen wir uns bereits auf einer recht hohen Abstraktionsstufe. Ob sie zu hoch ist, hängt davon ab, welche Probleme wir im geschäftlichen Alltag zu lösen haben. Ist es immer nur eine Art von Problem, dann braucht uns nicht zu interessieren, welche anderen Arten von Problemen ähnliche Lösungen haben. Doch sobald wir mit mehreren Klassen von Problemen konfrontiert sind, ist es von Vorteil, wenn wir abstrahieren und herausfinden, was diese Klassen gemeinsam haben und worin sie sich unterscheiden.