22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

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.

Bauen wir nun einen Betrieb nach dem Süßer-Senf(Burger)-Konzept auf, so wird dort Weißwurst mit süßen<br />

Senf zusätzlich zum normalen Burger angeboten, und nach dem Scharfer-Senf(Backhuhn)-Konzept würde<br />

Weißwürste mit scharfem Senf zusätzlich zu Backhühnern angeboten.<br />

Erst durch das Konzept <strong>der</strong> Vererbung läßt sich die am Anfang angesprochene evolutionäre Entwicklung<br />

effizient realisieren. Die Sprachen, die Klassifizierung über Vererbung und Typparameter zulassen, sind Eiffel<br />

und C++. In den an<strong>der</strong>en werden gerade solche Erweiterungen eingebaut.<br />

1.3.7 Zusammenfassung<br />

Die obige Reihenfolge <strong>der</strong> Strukturierungskonzepte gibt ihre geschichtliche Entwicklung wie<strong>der</strong>. Die Strukturierung,<br />

wie sie bei <strong>der</strong> Systementwicklung durchgeführt wird, erfolgt genau umgekehrt. 6 Zuerst wird die<br />

Frage nach <strong>der</strong> Strukturierung <strong>der</strong> Daten gestellt, das System grob in Klassen zerlegt und die Beziehung<br />

<strong>der</strong> Klassen (Vererbung und Benutzung) zueinan<strong>der</strong> festgelegt. Anschließend werden für jede einzelne Klasse<br />

ihre Leistungen festgelegt und jede Leistung in Form eines Kontraktes beschrieben. Ein Kontrakt ist das<br />

Versprechen des Programmierers, daß, wenn die gefor<strong>der</strong>te Eingangsbedingung (Precondition) erfüllt ist, er<br />

garantiert, daß die Ausgangsbedingung (Postcondition) ebenso erfüllt ist.<br />

Damit ist dann die Entwurfsphase beendet, und es beginnt die Implementierungsphase, in <strong>der</strong> jede Leistung<br />

einer Klasse entsprechend dem Kontrakt programmiert wird. Die Programmierung benutzt dann die schrittweise<br />

Verfeinerung im Falle, daß die Implementierungsprache eine imperative o<strong>der</strong> maschinennahe Sprache ist.<br />

Man könnte natürlich auch die einzelnen Leistungen in einer logischen o<strong>der</strong> funktionalen Sprache realisieren,<br />

unter <strong>der</strong> Beachtung <strong>der</strong> Verfeinerungkonzepte, die diese Sprachen bieten.<br />

Die Fähigkeit zum Umgang mit formalen Systemen ist in allen diesen Phasen unumgänglich. Aus diesem<br />

Grunde werden wir zunächst die wichtigsten Teile <strong>der</strong> Logik und formaler Sprachbeschreibungen besprechen<br />

müssen, bevor wir die Konzepte von Programmiersprachen genauer vorstellen.<br />

6 Aus diesem Grunde folgen wir in dieser Vorlesung auch nicht <strong>der</strong> geschichtlichen Entwicklung son<strong>der</strong>n steigen “von oben”<br />

in die Programmierkonzepte ein.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!