Ed Yourdon

Kürzlich ist der Softwarepionier Edward Yourdon gestorben. Neben Joel Spolsky und Martin Fowler war er einer der Vordenker, der meine Ansichten über Softwareentwicklung maßgeblich geprägt hat. Seine Hauptwerke stammen aus den 80ern und frühen 90ern  und da ich selbst nicht so alt bin, sind mir in meinem beruflichen Leben bisher wirklich wenige Leute begegnet, die mit Yourdon bzw. dessen alten Design-Methoden vertraut waren. Hier den Plural anzuwenden ist schon fast übertrieben, denn es war genau eine Person.

Als ich zum ersten Mal auf den Bereich Structured Analysis gestoßen bin (das Buch “Structured Analysis” ist von Tom DeMarco, aber Yourdons Bücher und Best Practices sind da durchaus eng verwandt), war ich verwundert, wie viele hilfreiche Mittel von damals in der Objektorientierten Analyse verloren gegangen sind.

Also habe ich einmal so einen alten Schinken aufgeschlagen: YOURDON Systems Method anno 1993.

Beispielsweise das Konzept der Entity-Event-Table. Dort wird tabellarisch aufgestellt, was wo mit einer Entity wo passiert:

Entity/System Product Catalogue Product Shop Shop Admin UI
Product Read Read Write
Order Write Read
VisitorStat Write Read

Diese Übersicht, in welchem Systemteil eine Entity geändert wird und wo gelesen, ist für viele Systeme interessant, weil dies oft nicht offensichtlich ist. Man kann natürlich beliebige Events verwenden und nicht nur Read/Write. Wer das alte Buch zur Hand hat, wird feststellen, dass ich die Tabelle schon abgewandelt habe, ist ja auch nicht die Bibel. Dort werden anstatt grober Systemteile feingranulare Events bzw. Prozessschritte verwendet.

Ein anderes Konzept was mir gut gefällt ist die Minispec. Dort geht es darum einen kleines Detail des Systems sehr fokussiert darzustellen, z.B. wie sich die Preisberechnung in einem Warenkorb vollzieht, entweder in strukturierter Prosa (noch so ein Tool, was heutzutage verkümmert ist) oder in graphischen Darstellungen.
Ich glaube nicht daran, dass man so etwas heute nicht mehr braucht, nur weil es heute produktive Entwicklungstools gibt. Quelltext ist morastig und der essentielle Algorithmus ist immer von unsäglichen technischen Details überlagert.

Etwas was ich nicht bei Ed Yourdon, sondern in dem Buch “Structured Systems Design” von Meilir Page-Jones gefunden habe, was aber genauso gut Yourdon hätte schreiben können, ist das Konzept der funktionalen Dekomposition. Systeme müssen hierarchisch zerlegt werden. Auf Makroebene und auf Mikroebene. Solche Denkweisen fehlen mir heutzutage in der Softwareentwicklung. Überhaupt scheint mir das Wort “strukturiert” aus der Mode gekommen zu sein. Mit streng hierarchisch zerlegten Systemen erzielt man aber Stabilität. Und die ist nun einmal die erste Grundvoraussetzung für eine erfolgreiche Software.

Vor einigen Jahren war SOA in Mode, heute sind Microservices en vogue. Wenn man die Prinzipien von damals nicht in die heutige Zeit übertragen kann, sind das wertlose Buzzwords. Ein strukturiertes Vorgehen schafft strukturierte Software. Das ist die simple Erkenntnis, die ich aus den Werken von Ed Yourdon ziehe.