Das  Stufendiagramm  (Stufen-Ablaufplan)
Ein neuartiges, einfaches Flussdiagramm / Struktogramm
Inhalt:

1     Kurzbeschreibung
2     Beispiel

3     Aufbau  eines Stufendiagramms:
3.1      Zeichenvorrat
3.2      Baugruppen
3.3      Zusammenfügen von Baugruppen
3.4      Zusätzliche Symbole

4     Bewertung:
4.1      Optischer Vergleich von 3 Diagrammarten
4.2      Nachteile von Flussdiagramm und Struktogramm
4.3      Vorteile des Stufendiagramms

5     Programm  zur Ausgabe eines Stufendiagramms
6     Dynamische  Darstellung des Programmablaufs
7     Stilarten  eines Stufendiagramms



1  Kurzbeschreibung

Ein Stufendiagramm ist eine neue Art von Flussdiagramm für Algorithmen der Strukturierten Programmierung [Programme ohne GOTO-Befehle].   Bei ihm sind grafische Darstellung und Programmtext nebeneinander angeordnet.   Deshalb wird der Programmtext nicht zerstückelt.
Das Diagramm ist leicht erfaßbar, platzsparend und sehr leicht automatisierbar. Denn es wird aus ASCII-Zeichen zusammengesetzt, deshalb ist kein Grafikprogramm nötig. Damit bietet ein Stufen-diagramm viele Vorteile gegenüber einem üblichen Flussdiagramm oder Struktogramm. Auch eine bewegte Darstellung des Programmablaufs im Stufendiagramm ist möglich, was didaktisch günstig ist.



2  Beispiel

Ein einfaches Beispiel zeigt alle Elemente eines Stufendiagramms:

Das Hauptprogramm (senkrechte Linie ganz links) enthält eine Schleife; (großes Rechteck), die selbst einen  Verteiler  (Pfeile) und eine innere Schleife (kleines Rechteck) enthält.   Der  Programmablauf im Diagramm ist  von oben nach unten   am rechten Rand entlang, in Schleifen im  Uhrzeigersinn:

  

  |           PROGRAM Beispiel
  |           Datei öffnen ..
  |
  |---o           WHILE NOT EOF
  |   |           Satz (8 Felder) von Datei lesen ..
  |   |           summe=0
  |   |
  |   |               CASE feld(1)
  |   |-->            IS 1:
  |   |                   feld(2)=0
  |   |                   feld(3)=0
  |   |-->            IS 2:
  |   |                   feld(2)=1
  |   |-->            IS 3:
  |   |                   feld(3)=1
  |   v               ENDCASE
  |   |
  |   |
  |   |---o           FOR i=4 TO 8
  |   |   |           'Felder summieren:
  |   |   |           summe=summe + feld(i)
  |   |---            NEXT i
  |   |
  |   |           PRINT summe
  |---            WEND
  |
  |           END


Obiges Beispielprogramm (teilweise in Pseudocode) tut Folgendes:   Zuerst wird eine Datei geöffnet. Von dieser Datei werden in einer Schleife (WHILE - WEND) Sätze gelesen und gedruckt. Diese äußere Schleife enthält 2 weitere Kontrollstrukturen:   Oben einen Verteiler (CASE - ENDCASE), der je nach Inhalt von Feld 1 die Felder 2 und 3 des gerade gelesenen Satzes manipuliert. Unten eine weitere Schleife (FOR - NEXT), welche die hinteren Felder des Satzes aufsummiert.


Man sieht sofort:   Der Programmtext ist nicht in die grafische Darstellung integriert (wie bei Flussdiagramm und Struktogramm), sondern steht rechts daneben: Jeder Programmzeile entspricht die links davon stehende Diagrammzeile.


Die senkrechte Linie ganz links symbolisiert die oberste Programmebene. Rechts an sie angefügt ist ein hohes schmales Rechteck: Es symbolisiert die äußere Schleife. Sie enthält 2 weitere Kontrollstrukturen: Das kleine Rechteck symbolisiert die innere Schleife, die Pfeile den Verteiler.


Geht man vom linken Rand des Diagramms, der Grundlinie, nach rechts und zählt die überquerten Kontrollstrukturen (Schleife / Auswahl), so erhält man die Tiefenschachtelung der Programmzeile.


Man kann den Programmablauf als Weg im Stufendiagramm nachvollziehen: Man beginnt oben und geht nach unten. In einer Schleife bewegt man sich im Uhrzeigersinn, nur an einem Kringel kann man zwischen erneutem Durchlauf oder Verlassen der Schleife wählen. Bei einer Auswahl werden v.o.n.u. alle Bedingungen (= Pfeile) geprüft. Ist eine Bedingung erfüllt, wird das folgende Progammstück (bis zum nächsten Pfeil) abgearbeitet, dann wird nach unten zum Ende des Verteilers gesprungen. Das ganze Geschehen (außer dem Rücksprung in Schleifen) spielt sich also am rechten Rand des Stufendiagramms ab. (Siehe Kapitel 6 "Dynamische Darstellung des Programmablaufs")




3  Der Aufbau eines Stufendiagramms


3-1  Zeichenvorrat

Zur Darstellung des Stufendiagramms auf einem Bildschirm oder Drucker benötigt man keinen Grafik-modus, sondern nur eine Schrift  (optimal eine Festbreitenschrift)  mit folgenden 6 Standard-Zeichen:

  
           Leerzeichen
    |      senkrechter Strich
    -      Minuszeichen
    o      Kleinbuchstabe "o"
    v      Kleinbuchstabe "v"
    >      "größer"-Zeichen

Man erzielt aber eine höhere Bildqualität (durchgehende Linien), wenn auch grafische Sonderzeichen verfügbar sind wie senkrechter Strich, waagrechter Strich, Ecken, Pfeil statt ->
(siehe Beispiel ganz rechts am Ende von Abschnitt 3.3)



3.2  Baugruppen

Es gibt 3 Arten von Baugruppen:   Grundlinie, Schleife, Auswahl.
Sie alle werden senkrecht gedehnt auf die Länge des zugehörigen Programms bzw. Programmteils.   Schleifen und Auswahlen gibt es in mehreren Variationen:


  |
  |           Grundlinie  des Programms oder Unterprogramms
  |



   ---o
  |   |       Schleife  mit Test auf Verlassen am Anfang
  |   |                 (Typ WHILE - WEND  oder  FOR - NEXT)
  |   |
   ---



   ---        Schleife  mit Test auf Verlassen "mittendrin"
  |   |                 (Typ DO -LOOP, Verlassen durch EXIT
  |   o                 Anweisung;  EXIT  mehrfach möglich, 
  |   |                 auch in den anderen Schleifentypen)
   ---



   ---
  |   |       Schleife  mit Test auf Verlassen am Ende
  |   |                 (Typ  REPEAT - UNTIL)
  |   |
   ---o


  |-->
  |            Auswahl  Folge von Programmstücken (mindestens 1,
  |                     hier 3), von denen maximal 1 durchlaufen
  |-->                  wird.  Jeder  Pfeil  markiert den Beginn
  |                     eines zur Wahl stehenden Programmstücks,
  |-->                  das  v  das Ende der Auswahl
  |
  v

Die Schleifendarstellungen zeigen nur die Position des Tests auf Verlassen der Schleife, aber nicht den Typ des zugehörigen Programmbefehls: Eine Schleife mit Test am Anfang kann eine Zähl- oder Bedingungsschleife oder eine Kombination von beiden sein.

Auch die grafische Baugruppe "Auswahl" zeigt nur die Programmlogik, aber nicht den Typ des zugehörigen Programmbefehls:

 - Eine  grafische Baugruppe  "Auswahl"  mit 1 Pfeil kann realisiert werden durch eine einfache
   IF - Anweisung (ohne ELSE), oder durch einen Verteiler mit nur einem Ausgang (ohne ELSE)

 - Eine Auswahl mit 2 Pfeilen ist als Programmtext eine zweiseitige IF - ELSE Anweisung oder ein
   Verteiler mit 2 Ausgängen (2 "normale", oder 1 "normaler" Ausgang und 1 ELSE - Ausgang)

 - Eine  Auswahl mit 3 oder mehr Ausgängen ist als Programmtext  ein Verteiler mit ebensovielen
   Ausgängen  (ELSE mitgezählt, falls vorhanden)





3.3  Zusammenfügen von Baugruppen




         |                                     |
         |                                     |
         |---o                                 |-->
         |   |                                 |
         |   |                                 |-->
         |---                                  |
         |                                     v
         |                                     |


    Grundlinie + Schleife              Grundlinie + Auswahl



          ---o                                  ---o
         |   |                                 |   |
         |   |                                 |   |-->
         |   |---                              |   |
         |   |   |                             |   |-->
         |   |   |                             |   |
         |   |---o                             |   v
         |   |                                 |   |
         |   |                                 |   |
          ---                                   ---


    Schleife + Schleife                  Schleife + Auswahl


Benachbarte Schleifen kann man mit sich berührenden großen und kleinen Zahnrädern vergleichen: Schleifen weiter rechts drehen sich öfter, wie kleinere Zahnräder.



         |-->                                  |-->
         |                                     |
         |                                     |
         |-->                                  |-->
         |    ---                              |   |-->
         |   |   |                             |   |
         |   |   |                             |   |-->
         |    ---o                             |   v
         |                                     |
         |-->                                  |-->
         v                                     v



    Auswahl + Schleife                    Auswahl + Auswahl


Die Darstellungen von Schleife und Auswahl sind 5 Zeichen breit (Auswahl-Pfeilen folgt rechts 1 Leerzeichen). Jede Baugruppe überlappt die linke um 1 Zeichen.



Hier folgen noch 3 kompliziertere Beispiele eines Stufendiagramms:

- Links:     Stufendiagramm mit maximaler Tiefe von 5 Strukturen. Insgesamt enthält es 4 Schleifen und
                  3 Auswahlen. Die letzte "Auswahl" mit nur 1 Pfeil ist de facto eine einfache IF-Anweisung.
- Mitte:     Das Beispiel vom Artikelanfang, ergänzt um eine Schleife im ersten Zweig des Verteilers
- Rechts:  Dasselbe Diagramm in besserer Bildqualität (Grafik oder grafischer Zeichensatz)

|
|
|--- 
|   |
|   |---
|   |   |
|   |   |
|   |---o
|   |
|   |
|   |
|   |
|   |---
|   |   |
|   |   |
|   |   |
|   |   |
|   |   |-->
|   |   |
|   |   |    ---o
|   |   |   |   |
|   |   |   |   |
|   |   |   |   |-->                   
|   |   |   |   |
|   |   |   |   |-->
|   |   |   |   v
|   |   |    ---
|   |   |
|   |   |-->
|   |   |
|   |   |
|   |   |
|   |   |
|   |   |   |-->
|   |   |   |
|   |   |   v
|   |   v   
|   |   |
|   |   |
|   |   |
|   |---o
|   |
|   |
|   |
|---o
|
|


|
|
|---o
|   |
|   |
|   |-->
|   |    ---o
|   |   |   |
|   |   |   |
|   |    ---
|   |-->
|   |
|   |-->
|   |
|   v
|   |
|   |---o
|   |   |
|   |   |
|   |---
|   |
|---
|

3.4  Zusätzliche Symbole

Ein Stufendiagramm zeigt die Struktur eines Programms, der Quellcode rechts daneben die Details. Es kann nützlich sein, zur besseren Übersicht größere Details (Unterprogrammaufruf, Dateizugriff) auch im Diagramm hervorzuheben.   Das ist möglich durch Symbole links neben der Grundlinie:

 
     |
   F |           F markiert eine FILE-Operation
     |
   C |           C markiert eine COMMON-Anweisung
     |
   + |           + markiert einen UNTERPROGRAMM-Aufruf
     |
     |---o
     |   |       trotz nachgeordneter Kontrollstruktur:
   + |   |       Symbole liegen  links  der Grundlinie,
     |---        dann sind sie leicht zu finden
     |

Wenn man solche Symbole verwendet, ist eine weise Beschränkung nötig, um das Stufendiagramm
nicht unübersichtlich zu machen.   Am Bildschirm sollten solche Symbole ausblendbar sein.





4  Bewertung

4.1  Optischer Vergleich von 3 Diagrammarten


Hier eine  REPEAT - UNTIL  Schleife  als  Flussdiagramm,  Struktogramm  und  Stufendiagramm:



       ______________|
      |              |
      |         -----------
      |        | Anweisung |                    Flussdiagramm
      ^         -----------
      |              |
      |           ___|___
      |__________/ Ende? \
         nein    \_______/
                     |
                ja   v




      _______________________
     |  |                    |
     |  |      Anweisung     |                  Struktogramm
     |  |                    |
     |  ---------------------|
     | REPEAT UNTIL  Ende    |
      -----------------------





      ___       REPEAT
     |   |
     |   |      Anweisung                       Stufendiagramm
     |   |
      ---o      UNTIL  Ende



Man sieht leicht:

    -  Das  Stufendiagramm   ist optisch am einfachsten und somit am schnellsten erfassbar.

    -  Nur beim Stufendiagramm   ist der Programmtext außerhalb des Diagramms und nicht zerstückelt.

Das Sechseck im Flussdiagramm sollte eigentlich eine Raute sein, aber die lässt sich nicht mit ASCII-Zeichen darstellen.   Unmöglich ist das auch bei den langen Schräglinien der (hier nicht gezeigten)
IF- und CASE-Symbole eines Struktogramms, deren Neigungswinkel flach und variabel sind.




4.2  Nachteile von Flussdiagramm und Struktogramm

Der große Vorteil von Ablaufdiagrammen ist: Sie schaffen Übersicht. Das erleichtert den Programm-entwurf, hilft Programmierfehler vermeiden und verringert die Einarbeitungszeit in fremde oder alte Programme.       Aber die bekannten Flussdiagramme und Struktogramme haben viele Nachteile:


- Der Programmtext wird zerrissen

- Der grafische Aufwand ist hoch. Deshalb werden größere Diagramme unübersichtlich.

- Der Platzbedarf ist zu hoch: Die Diagramme werden schon bei einfachen Programmen sehr breit.
   Deshalb werden die Kästchen für die Anweisungen zu schmal.

- Eine automatische Erstellung der Diagramme ist aufwendig (Programmlogik; Grafikmodus nötig).
   Entsprechende Programme sind deshalb selten. Handgemalte Diagramme aber sind arbeits-
   aufwendig, fehleranfällig, änderungsfeindlich und deshalb oft nicht auf dem neuesten Stand.

- Aus diesen Gründen ist eine gleichzeitige Anzeige von Diagramm und Programmcode unmöglich.


Diese Nachteile bewirken, dass Diagramme auf den unteren Stufen des Programmentwurfs meist nicht eingesetzt werden.



4.3  Die Vorteile des Stufendiagramms

Ein Stufendiagramm weist keinen der oben erwähnten Nachteile auf:

Die lineare Folge der Programmbefehle bleibt erhalten. (Hierin gleicht das Stufendiagramm den wenig bekannten Strukturierten Ablaufdiagrammen von Schmitz und Hackstein [Zeitschrift ONLINE 10/1975], denen er auch sonst etwas ähnelt).

Der grafische Aufwand ist gering: Das Beipiel am Anfang kann in 8 Sekunden von Hand gezeichnet werden (Striche durchgezogen). Die optische Erfaßbarkeit ist gut.

Der Platzbedarf ist gering: Während z.B. ein Verteiler mit 8 Ausgängen ein Flussdiagramm oder Struktogramm sprengt, verbreitert er ein Stufendiagramm nur um 4 Zeichen.

Deshalb ist die parallele Anzeige von Stufendiagramm und Programmtext nebeneinander auf einem Bildschirm oder DIN A5 - Blatt möglich.

Ein Stufendiagramm ist leicht automatisch darstellbar:   Denn das Programm dafür ist kurz (siehe Kap. 5), und kein technischer Aufwand (Grafikmodus) ist nötig. Der Stufendiagramm selbst wird nicht abgespeichert (wozu auch), sondern jedesmal neu aus dem Programmtext erzeugt und ist somit garantiert immer aktuell.

Die sukzessive Darstellung eines Stufendiagramms parallel zur Programmerfassung auf dem Bildschirm ist problemlos: Der Textcursor steht zu Beginn der Programmeingabe etwa in Spalte 10. Sobald eine Programmzeile eingetippt ist, wird links davon in derselben Zeile die zugehörige "Grafik" ausgegeben. Enthielt die Programmzeile Anfang (oder Ende) einer Kontrollstruktur, so steht der Textcursor in der nächsten Zeile anfangs 4 Spalten weiter rechts (oder links) als der Textanfang der Zeile darüber.

Auch das Ändern eines Stufendiagramms ist problemlos: Werden Programmzeilen gelöscht, so entfallen einfach die zugehörigen Diagrammzeilen, das Stufendiagramm wird vertikal verkürzt. Werden Programmzeilen hinzugefügt, so wird quasi das Diagramm an dieser Stelle waagrecht aufgetrennt und ergänzt.

Weil Ändern problemlos ist, braucht man anfangs nur den Programmrahmen entwerfen: Man gibt nur die Kontrollstrukturen und Kommentare ein. Später werden die Kommentare durch echte Anweisungen ergänzt oder ersetzt.

Es ist beim Programmieren sehr vorteilhaft, die Programmstruktur ständig vor Augen zu haben.

Meiner Ansicht nach ist nur das Stufendiagramm voll praxistauglich. Auch für die weiter unten beschriebene dynamische Darstellung des Programmablaufs ist ein Stufendiagramm besser geeignet als ein Flussdiagramm (Struktogramme sind hierfür völlig ungeeignet).



5  Programm zur Ausgabe eines Stufendiagramms

Es liest ein Programm von einer Datei und gibt den Programmtext und das dazugehörige Stufendiagramm nebeneinander aus.

Das Programm ist in der Sprache des Anfangsbeispiels geschrieben. (Die 3 Kommentare sind noch durch echte Anweisungen zu ersetzen). Auch das zu listende Programm muss in dieser Sprache geschrieben sein (sonst muss der Algorithmus entsprechend angepasst werden, was aber meist einfach ist). In ihr beginnt und endet jede Kontrollstruktur mit einem eigenen Schlüsselwort. Und in einer Programmzeile beginnt oder endet höchstens 1 Kontrollstruktur. Deshalb ist der Analyse-Algorithmus besonders einfach.(Es wird unterstellt, dass das zu listende Programm syntaktisch richtig ist, dass z.B. zu jedem REPEAT ein UNTIL existiert).



|         PROGRAM Stufendiagramm
|         STRING Wort1
|         GLOBAL INT k, STRING Graf(20), Grafzeile, Programmzeile
|         k = 0
|         'öffne Datei, die den Programmtext enthält
|
|---o         WHILE NOT EOF
|   |         'lies Programmzeile von Datei
|   |         'Wort1 = erstes Wort dieser Zeile
|   |
|   |             CASE Wort1
|   |-->          IS "WHILE", "FOR":
|   |                 k = k + 1
|   |                 Graf(k) = " ---o";  Zeile_aus
|   |                 Graf(k) = "|   |"
|   |-->          IS "REPEAT", "DO":
|   |                 k = k + 1
|   |                 Graf(k) = " --- ";  Zeile_aus
|   |                 Graf(k) = "|   |"
|   |-->          IS "EXIT":
|   |                 Graf(k) = "|   o";  Zeile_aus
|   |                 Graf(k) = "|   |"
|   |-->          IS "WEND", "NEXT", "LOOP":
|   |                 Graf(k) = " --- ";  Zeile_aus
|   |                 k = k - 1
|   |-->          IS "UNTIL":
|   |                 Graf(k) = " ---o";  Zeile_aus
|   |                 k = k - 1
|   |-->          IS "CASE", "IF":
|   |                 k = k + 1
|   |                 Graf(k) = "|    ";  Zeile_aus
|   |-->          IS "IS", "THEN", "ELSE":
|   |                 Graf(k) = "|--> ";  Zeile_aus
|   |                 Graf(k) = "|    "
|   |-->          IS "ENDCASE", "ENDIF":
|   |                 Graf(k) = "v    ";  Zeile_aus
|   |                 k = k - 1;
|   |-->          ELSE:                   Zeile_aus
|   v             ENDCASE
|   |
|---          WEND
|         END


Das Unterprogramm "Zeile_aus" gibt eine Zeile aus: Zunächst linksbündig den Diagrammteil der Zeile, dann 8 Leerzeichen, dann den Programmtext dieser Zeile:


|         SUB Zeile_aus
|
|         Grafzeile_zusammensetzen
|         PRINT Grafzeile;"        ";Programmzeile
|
|         END SUB

Die Variable k gibt für die auszugebende Programmzeile die Anzahl der Kontrollstrukturen an. Deren grafische Darstellungen werden im String-Feld "Graf" gespeichert. Diese Grafikteile fügt das Unterprogramm "Grafzeile_zusammensetzen" zum String "Grafzeile" zusammen. Dabei überlappt jeder Grafikteil den linken um 1 Zeichen; aber ein Leerzeichen bleibt "durchsichtig", es verdeckt das darunterliegende Zeichen nicht.



|         SUB Grafzeile_zusammensetzen
|         STRING Hilf    '5 Zeichen lang
|
|         Grafzeile = "|"
|
|---o         FOR i = 1 TO k
|   |         Hilf = Graf(i)
|   |
|   |             IF Left$(Hilf) = " "
|   |-->          THEN
|   |                 Grafzeile = Grafzeile + RIGHT$(Hilf,4)
|   |-->          ELSE
|   |                 L = LEN(Grafzeile) - 1
|   |                 Grafzeile = LEFT$(Grafzeile,L) + Hilf               
|   v             ENDIF
|   |
|---          NEXT i
|         END SUB



6  Dynamische Darstellung des Programmablaufs

Ein Stufendiagramm zeigt, genau wie andere Ablaufdiagramme, die Programmstruktur. Doch in dieser Struktur sind an Wegen und Werten verschiedene Programmläufe möglich. Oft wäre es interessant, durchlaufene Programmteile hervorzuheben, oder gar den Programmablauf bewegt darzustellen. Auch das ist im Stufendiagramm möglich:

Der Programmablauf kann durch einen
roten Punkt dargestellt werden, der
sich durch das Diagramm bewegt - in
Zeitlupe oder schrittweise

Die gerade aktiven Kontrollstrukturen
könnten  farblich anders  (hier blau)  
dargestellt werden  als das restliche
Stufendiagramm.   Auch durchlaufene / nicht
durchlaufene Programmteile könnte man 
in  verschiedenen  Farben  darstellen

Auch Zähler können eingebaut werden

Solche Darstellungen sind didaktisch wertvoll und auch zum Testen von Programmen nützlich. Sie benötigen aber Software - Aufwand: Der Programmeditor sollte parallel zum Eintippen des Programms auch das Stufendiagramm ausgeben. Zum Testen sollte Einzelschritt möglich sein (heute Standard), aber auch Zeitlupe. Zusätzlich könnte der Programmeditor auch Teile des Stufendiagramms farblich verändern, und evtl auch Schleifendurchgangszähler anzeigen. Gemessen am Gesamtaufwand eines Programmeditors wäre der Aufwand aber gering.

Doch ist eine solche dynamische Darstellung nur eine Zusatzoption, die nicht den Blick dafür trüben sollte, dass ein statisches Stufendiagramm sehr einfach, übersichtlich und leicht zu erstellen ist.



7  Verschiedene Stilarten eines Stufendiagramms

Unten links ein Diagramm mit einer Auswahl und 3 Schleifen (mit Ausgang am Anfang, Mitte, Ende). Daneben einige optisch leicht verschiedene Diagramme, die aber per Definition dasselbe bedeuten.

|
|
|
|---o
|   |
|   |
|   |
|   |-->
|   |    ---
|   |   |   |
|   |    ---o     
|   |-->
|   |
|   |-->
|   |
|   v
|   |
|   |
|   |---
|   |   |
|   |   o
|   |   |
|   |---
|   |
|   |
|---
|
|


|
|
|
|---o
|   |
|   |
|   :
|   :-->
|   :    ---
|   :   |   |
|   :    ---o     
|   :-->
|   :
|   :-->
|   :
|   v
|   |
|   |
|   |---
|   |   |
|   |   o
|   |   |
|   |---
|   |
|   |
|---
|
|


|
|
|
|---o
|   |
|   |
|   |
|   |--
|   |    ---
|   |   |   |
|   |    ---o     
|   |--
|   |
|   |--
|   |
|   -
|   |
|   |
|   |---
|   |   |
|   |   o
|   |   |
|   |---
|   |
|   |
|---
|
|


|
|
|
|---o
|   |
|   |
|   |
|   |...
|   |  . ---
|   |  .|   |
|   |  . ---o
|   |...
|   |  .
|   |...
|   |  .
|   |...
|   |
|   |
|   |---
|   |   |
|   |   o
|   |   |
|   |---
|   |
|   |
|---
|
|

Standard        Auswahl punktiert      ohne Pfeilspitzen       systematisch



Vor- und Nachteile der verschiedenen Stilarten:

Standard:           gute optische Unterscheidung von Schleife und Auswahl

Auswahl punktiert:  die Auswahl-Grundlinie ist punktiert

ohne Pfeilspitzen:  grafisch einfacher, übersichtlicher, minimal

systematisch:       alle Kontrollstrukturen (Schleife und Auswahl) sind als
                    Kästchen dargestellt (Auswahl punktiert): unübersichtlich


Man könnte ein Stufendiagramm auch als Landkarte auffassen: Die durchgezogenen Linien sind ein Straßennetz (oder Schienennetz). Die Verteiler sind ein Straßenstück mit Abzweigungen in Sackgassen. Die Sequenzen von Programmbefehlen zur eigentlichen Datenverarbeitung (keine Kontrollstrukturen) sind Fabriken. Die Variablen sind Kisten (ihr Inhalt Variablenwerte), die in die Fabriken geliefert, bearbeitet und wieder wegtranportiert werden.




Ein Stufendiagramm unterliegt keinen Patentrechten.   Seine Benutzung ist frei.

Man könnte ein Stufendiagramm auch "Terassendiagramm" nennen, denn wenn man es um 90 Grad nach links dreht (sinnvoll bei Schreibrichtung v.u.n.o.), ähnelt es Terassen mit Gebäuden und Pflanzen.   (Früher habe ich den Namen "Miniplan" verwendet).


Autor und Erfinder: Leonhard Heinzmann              Homepage                    Stand: 6. 2. 2023