StruktEd

Die mühsame Entwicklung von Struktogrammen (nach Isaac Nassi und Ben Shneidermann) von Hand wird durch StruktEd erleichert und somit können Bleistift und Radiergummi beiseite gelegt werden. Die durchgängig blockorientierte Bedienung ermöglicht auch bei der Entwicklung von Algorithmen das leichte Einfügen, Entfernen oder Verschieben eines Befehlsblocks.

Screenshot von StruktEdDas Programm StruktEd (die Abkürzung steht für Struktogramm-Editor) ist rund 1 MB groß und wurde bereits 1996 mit Hilfe der Software Delphi für Windows 1.0 der Firma Borland von Michael Bellinghausen während seiner M.A.-Ausbildung an der RWTH Aachen entwickelt - eigentlich für ihn selbst und seine Kollegen. Doch die Software hat sich dann wohl mehr oder weniger selbstständig im Internet verbreitet, weshalb das stillgelegte Projekt nach mehreren Rückfragen von zufriedenen Benutzern etwa um die Jahrtausendwende wieder reaktiviert wurde. Ziel war es, das vorhandene StruktEd 0.99b aus Zeiten von Microsoft Windows 3.1 (und damit auf 16 Bit beschränkt) zu erweitern und an aktuelle Betriebssysteme anzupassen.

Frederic Faber (damals an der Lycée Technique des Arts et Métiers in Luxemburg) begann gegen Ende 2000 mit der Entwicklung von StruktEd32, welche einige Spracherweiterungen und natürlich die Umstellung auf 32 Bit aufweist. Diese weiterentwickelte Version 0.99c wurde jedoch Anfang 2003 auf Wunsch des Autors aufgrund von Fehlern bzw. Problemen wieder zurückgezogen.

Bekannt ist, dass es bei der Berechnung der Größe von bedingten Anweisungen ein Problem gibt, bei welchem sich ab einer bestimmten Größe des Bedingungsblocks der Block auf Standardgröße verkleinert. Ein Schließen und erneutes Öffnen behebt dieses Verhalten jedoch. Und zudem unterstützt die 32 Bit-Version die Beschriftung von Endlosschleifen als Zählschleife, was aber nicht konform zu DIN 66261 ist. Ein Problem der sowohl 16 Bit- als auch 32 Bit-Versionen ist, dass der Maus-sensitive Bereich bei den einzelnen Elementen vertikal verschoben scheint. Dies verschlimmert sich bei langen Struktogrammen entsprechend.

StruktEd 2.0 wurde für den 1. März 2003 angekündigt und sollte eine 32 Bit-Version mit neuer Oberfläche und konfigurierbaren Symbolleisten werden, welche die bisherigen *.str-Dateien (von StruktEd 0.99b und StruktEd32 0.99c) importieren kann und XML als Datenformat verwenden sollte. Gleichzeitig sollten verschiedene Punkte von StruktEd32 eingearbeitet werden und Sprachressourcen für Übersetzungen zur Verfügung stehen, technisch war die Benamung der Attribute in englischer Sprache vorgesehen. Aufgrund eines Umzugs von Michael Bellinghausen ist die Entwicklung bei dem Problem der unterschiedlichen Dateiformate für StruktEd 2.0 stehengeblieben und offensichtlich nicht wieder aufgenommen worden. Anfang 2009 wurde die StruktEd-Homepage unter www.strukted.de kompromittiert und schließlich etwa Mitte 2010 offline genommen. Seit Januar 2012 ist die Webseite zwar wieder erreichbar, allerdings wird diese nun von einem gänzlich anderen Domaininhaber betrieben und hat gar nichts mehr mit dem Struktogramm-Editor zu tun.

Nachdem die StruktEd-Homepage unter www.strukted.de (einschließlich dem Download) nun nicht mehr verfügbar ist, halte ich auf die Kopien der jeweils letzten 16- und 32 Bit-Version als ZIP-Archive zum Herunterladen vor. StruktEd 0.99b ist die 16 Bit-Version, während StruktEd32 0.99c die 32 Bit-Version ist. Gemäß der zu StruktEd bzw. StruktEd32 gehörenden *.hlp-Hilfedatei für Microsoft Windows ist diese Verbreitung kein Problem: StruktEd ist Freeware und kann somit frei kopiert und weitergegeben werden.

Nach dem Start der 16 Bit-Version sieht StruktEd sehr nach Microsoft Windows 3.x aus und unterstützt auch lediglich 8.3-Dateinamen. Doch das Aussehen wird durch die Leistung des kostenlosen und praktischen Tools wett gemacht. Und selbst bei der Benutzung unter Microsoft Windows XP (x86, also 32 Bit) konnte ich keine Probleme entdecken, sofern ein Druckertreiber installiert ist. Für diese wichtige Mindestvoraussetzung kann im Zweifelsfalle sogar ein beliebiger Druckertreiber an den Anschluss FILE: konfiguriert werden. Ein moderneres Aussehen bringt erst StruktEd32 mit, welches vor allem auch längere Dateinamen unterstützt. Ich persönlich würde, obwohl StruktEd in der 16 Bit-Version damals recht verbreitet war, bei der täglichen Arbeit unbedingt StruktEd32 bevorzugt verwenden und einsetzen, da es trotz einiger Fehler einen größeren Funktionsumfang aufweisen kann. Zudem ist ausschließlich die 32 Bit-Version von StruktEd auf aktuellen Betriebssystemen und Hardware-Architekturen wie Microsoft Windows 8 x64 (also 64 Bit) lauffähig, da generell seit Microsoft Windows XP x64 (also der 64 Bit-Edition) keine 16 Bit-Anwendungen mehr unterstützt werden, weil das 16 Bit-Subsystem nicht zur Verfügung steht.

Von der linken Symbolleiste können die unterschiedlichen Komponenten (Anweisung, bedingte Anweisung, kopf-/fußgesteuerte Schleife, Endlosschleife, Fallunterscheidung, Aufruf, Aussprung) ausgewählt und via Mausklick dann an der entsprechenden Stelle auf dem weißen Blatt eingefügt werden. Wichtig ist dabei die genaue Position des Mauszeigers, denn auch Verschachtelungen sind problemlos möglich - der zuvor erwähnte Verschiebungsfehler sollte jedoch im Hinterkopf bleiben. Beschriftet werden können die Felder mithilfe einer entsprechenden Option, für die sich ebenfalls in der linken Symbolleiste ein Button findet.

Ist das Struktogramm fertig, so lässt es sich im StruktEd-eigenen Format (*.str) abspeichern, das leider von keinem fremden Editor gelesen werden kann oder es lässt sich als Grafik exportieren, in einem Bildbearbeitungsprogramm einfügen und dort abspeichern um es anschließend weiterzuverwenden. Mit StruktEd abgespeicherte Struktogramme können in vielen Fällen nicht mit dem neueren StruktEd32 geöffnet werden, daher müssen unter Umständen beide StruktEd-Versionen eingesetzt werden.

Obwohl StruktEd bzw. StruktEd32 äußerst praktische und kleine Programme sind, so sind sie leider nicht Open Source sondern nur Freeware, was eine Weiterentwicklung (abgesehen vom Autor selbst) sehr unwahrscheinlich macht. Auch wenn ich diesen (vermutlich ausführlichsten) Artikel über StruktEd geschrieben habe, so war mein letzter Kontakt zu Michael Bellinghausen im September 2003. Leider liegen mir keine gültigen Kontaktdaten von ihm oder Frederic Faber mehr vor; bislang konnte ich noch keinen der beiden im Internet ausfindig machen. Insgesamt sehr schade eigentlich...