Definition „Structured Programming“

Was ist strukturierte Programmierung?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

Strukturierte Prgorammierung sorgt mittels einfacher Kontrollstrukturen für übersichtlicheren Code.
Strukturierte Prgorammierung sorgt mittels einfacher Kontrollstrukturen für übersichtlicheren Code. (Bild: lmonk72 - Pixabay.com / CC0)

Das Programmierparadigma der strukturierten Programmierung zielt auf verständlichen Code ab. Dies wird beispielsweise dadurch erreicht, dass auf Sprunganweisungen und andere intransparente Bedingungen sowie Abfragen verzichtet wird.

Der Begriff der strukturierten Programmierung wurde erstmals im Jahr 1968 erwähnt, aber bereits Ende der Fünfziger Jahre durch die Programmiersprachen ALGOL 58 und 60 geprägt. Ein Vorteil war und ist, dass sich das Paradigma auf die verschiedensten Programmiersprachen übertragen ließ und lässt.

Um den Erfolg und die Wirkung der strukturierten Programmierung begreifen zu können, muss zunächst die Ausgangslage vor der Einführung dieses Systems bekannt sein. Denn die strukturierte Programmierung war ein direktes Ergebnis der sogenannten Softwarekrise Mitte der 1960er Jahre. Zu diesem Zeitpunkt überstiegen die Kosten für die jeweilige Software die Hardware-Kosten oftmals deutlich.

Dies lässt sich unter anderem darauf zurückführen, dass für eine Anwendung geschriebener Quellcode sich eher selten einfach wiederverwenden ließ. Die Wartbarkeit litt zudem unter der Länge, intransparenten Bedingungen sowie Sprunganweisungen. Infolge dessen scheiterten viele Software-Projekte an der Finanzierung, sodass neue Möglichkeiten der Programmierung gefunden werden mussten.

Strukturiertes Programmieren als Weg aus der Krise

Es gab bei der Softwarekrise also verschiedene Auslöser. Zum einen die mangelnde Möglichkeit, Softwarefehler zu finden und diese zu beheben, aber auch die oftmals mehrfache Ausführung verschiedener Arbeiten an unterschiedlichen Stellen im Programmcode. Dies änderte sich durch die strukturierte Programmierung nachhaltig.

Bei der strukturierten Programmierung ging es vor allem um einen neuen Ansatz, Software-Programmierung in ihrer Gesamtheit überschaubarer und kontrollierbarer zu gestalten. Grundlegendes Element der strukturierten Programmierung war die Zerlegung eines einzelnen Programms in mehrere Teilprogramme, die einfacher sowie schneller programmiert und überprüft werden konnten. Darüber hinaus wurde in der untersten Ebene die Beschränkung auf drei einfache Kontrollstrukturen etabliert.

Die Kontrollstrukturen in der strukturellen Programmierung

Die ersten beiden grundlegenden Muster sind Sequenzen und bedingte Anweisungen. Sequenzen stellen eine Abfolge von Anweisungen und Subroutinen dar, die der Reihe nach abgearbeitet werden. Bedingte Anweisungen und Verzweigungen fragen den Status eines Programms bzw. seiner Variablen ab, hierzu zählen If…Then…Else- und Endif-Bedingungen.

Das dritte Kontrollstruktur-Muster ist die Wiederholung, sie wird mittels Iteration und Rekursion umgesetzt. Iterationen erlauben es, bestimmte Befehle bis zum Erreichen eines festgelegten Status zu wiederholen, hierunter fallen While- und For-Schleifen oder Repeat-Anweisungen. Im Falle der Rekursion ruft sich ein Befehl solange selbst auf, bis eine Endbedingung erreicht ist.

Dank der verbesserten Kontrollinstanzen in der strukturierten Programmierung war es den Programmierern möglich, einzelne Abschnitte in ihren Teilprogrammen auf Fehler zu überprüfen und somit auch termingerecht zu arbeiten. Dank der konsequenten Zusammensetzung einzelner Teilprogramme konnten Entwickler nicht nur Codewiederholungen vermeiden, sondern auch die Programme kürzer und somit verständlicher entwickeln.

Die Sprachen zur strukturierten Programmierung

Grundsätzlich lässt sich das Prinzip der strukturierten Programmierung auf beinahe alle gängigen Programmiersprachen anwenden. Allerdings bieten prozedurale Sprachen hier deutliche Vorteile. Zudem wurden mit der Etablierung der strukturierten Programmierung einige weitere Programmiersprachen entwickelt, die sich besonders gut für den Einsatz dieses Programmierparadigmas eignen. Populäre Vertreter sind Ada, ALGOL, C und C++, C# (C Sharp), COBOL, Fortran, Java, Pascal, Python oder auch Visual Basic.

Strukturierte Programmierung in der heutigen Zeit

Nachdem sich das Prinzip der strukturierten Programmierung erst einmal durchsetzen konnte, hat sich das Prinzip in beinahe allen Bereichen der Softwareentwicklung etabliert. Alle heute genutzten Möglichkeiten wie die aspektorientierte Programmierung oder auch die objektorientierte Programmierung basieren auf den damals etablierten Prinzipien der strukturierten Programmierung. Viele der Prinzipien wurden im Laufe der Zeit verbessert und erweitert, doch in der Grundstruktur sind die Regeln der strukturierten Programmierung auch heute noch zu finden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Lesbarkeit von Quellcode erhöhen

Strukturierte Anwendungsentwicklung, Teil 2

Lesbarkeit von Quellcode erhöhen

Nach der strukturierten Analyse eines Software-Auftrags geht es an die strukturierte Programmierung. Dabei handelt es sich nicht um das gleichnamige Programmier-Paradigma, sondern um die Struktur des Quelltextes an sich. Das kann in jeder Programmiersprache umgesetzt werden und bietet einige Vorteile. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45227225 / Definitionen)