12.04.2014 Aufrufe

Die Realisierungsphase und der Softwaretest, Kap ... - W3service.net

Die Realisierungsphase und der Softwaretest, Kap ... - W3service.net

Die Realisierungsphase und der Softwaretest, Kap ... - W3service.net

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Bild 6.6: Aufruf einer d-Struktur<br />

Das gemeinsame Kennzeichen <strong>der</strong> so definierten d-Strukturen ist die Existenz genau<br />

eines definierten Eingangs <strong>und</strong> genau eines definierten Ausgangs. Wird also eine<br />

d-Struktur durch den Rechner abgearbeitet, so gibt es genau eine definierte Stelle, an<br />

<strong>der</strong> sie betreten <strong>und</strong> eine ebenso definierte Stelle, an <strong>der</strong> sie verlassen wird. Innerhalb<br />

einer d-Struktur verläuft <strong>der</strong> Kontrollfluss streng Richtung Ausgang <strong>der</strong><br />

d-Struktur. Der Verlauf des Kontrollflusses in umgekehrter Richtung gelingt nur mit<br />

Hilfe von bedingten Wie<strong>der</strong>holungen.<br />

<strong>Die</strong> durch die rekursive Formulierung <strong>der</strong> d-Strukturen mögliche Schachtelung erfolgt<br />

automatisch <strong>der</strong>art, dass eine d-Struktur immer vollständig in einer an<strong>der</strong>en liegt o<strong>der</strong><br />

diese vollständig umfasst. Es gibt keine partiellen Überschneidungen. Mathematisch<br />

ausgedrückt: <strong>Die</strong> möglichen Wege in einer d-Struktur sind immer durch einen<br />

planaren Graphen darstellbar. Es ist leicht vorstellbar, das <strong>der</strong>artige Strukturen beson<strong>der</strong>s<br />

leicht überschaubar <strong>und</strong> testbar sind.<br />

6.3 Der unbedingte Sprung<br />

Es mag schon aufgefallen sein, dass d-Strukturen prinzipiell keine unbedingten<br />

Sprünge enthalten. Man bezeich<strong>net</strong> deshalb die strukturierte Programmierung auch<br />

als die GOTO-lose Programmierung. Über das Für <strong>und</strong> Wi<strong>der</strong> von GOTOs ist viel geschrieben<br />

<strong>und</strong> gestritten worden; hier sollen einige Fakten aufgezeigt werden, die die<br />

Befürworter <strong>der</strong> GOTO-losen Programmierung anführen.<br />

- <strong>Die</strong> Semantik einer Sprunganweisung ist nicht selbsterklärend. Das bedeutet,<br />

dass die Verwendung einer Sprunganweisung die Information verwischt, ob diese<br />

Sprunganweisung Teil eines bedingt auszuführenden o<strong>der</strong> Teil eines wie<strong>der</strong>holt<br />

auszuführenden Programmteils ist. Bedingt auszuführende <strong>und</strong> wie<strong>der</strong>holt auszuführende<br />

Programmteile sollten aber wegen ihres semantischen Unterschieds<br />

als solche klar erkennbar sein.<br />

- <strong>Die</strong> Linearität des Programmablaufs ist nicht gewährleistet. Mit einem Sprung ist<br />

es möglich, in beliebige Stellen eines Algorithmus o<strong>der</strong> einer Ablaufstruktur<br />

hineinzuspringen o<strong>der</strong> diese mit beliebigem Ziel zu verlassen. Das Denken in<br />

d-Strukturen wird nicht unterstützt.<br />

- Da - vor allem nachträglich - mittels GOTO in je<strong>der</strong> Ablaufstruktur ein "emergency<br />

entry" o<strong>der</strong> "emergency exit" eingebaut werden kann, führt die historische Entwicklung<br />

des Modulinneren zu unübersichtlichen Lösungen <strong>und</strong> umgeht den<br />

Zwang, den Algorithmus von Gr<strong>und</strong> auf neu zu überdenken <strong>und</strong> zu strukturieren.<br />

54

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!