Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 65<br />
6 Konstruktion von Baueinheiten,<br />
Problem der Trennung in Verborgenheit und Öffentlichkeit<br />
(sprachunabhängige Betrachtung)<br />
6.0 Überblick<br />
Dieses Kapitel – ebenso wie Kap. 2 unabhängig von einer speziellen Programmiersprache –<br />
stellt die Grundprinzipien dar, wie man bei größeren Programmen verfahren muss, um sie<br />
übersichtlich zu erhalten.<br />
In Unterkap. 1 wird erläutert, dass diese Übersichtlichkeit für den Menschen grundsätzlich<br />
nur möglich ist, indem er das zu bearbeitende Problemfeld in Teile unterteilt. Diese Zerlegungsteile<br />
– unabhängig davon, in welcher Art sie tatsächlich konstruiert werden – werden<br />
hier Baueinheiten genannt. Dieser Begriff ist kein feststehender Begriff in der Informatik;<br />
er wurde hier bewusst gewählt, um die grundlegenden Eigenschaften der Zerlegungsteile unabhängig<br />
von der Realisierung entsprechend eines gewählten Programmierstils zu beschreiben.<br />
Keine Softwareentwicklung ist möglich ohne ein Verständnis für das Prinzip, Baueinheiten<br />
zu konstruieren und sie zu benutzen. Eine sinnvoller Entwurf solcher Baueinheiten<br />
nutzt dabei die Chance aus, dass die Außensicht und die Innensicht dieser Baueinheiten<br />
durch Kapselung weitgehend entkoppelt werden kann. Die Sicht von außen beantwortet die<br />
Frage nach dem ” Was?“, die Sicht von innen die Frage nach dem ” Wie?“: Was leistet die<br />
Baueinheit? Wie verwirklicht sie es?<br />
Anschließend wird gezeigt, wie in drei unterschiedlichen Programmierstilen solche Baueinheiten<br />
gebaut und benutzt werden.<br />
• In der Prozeduralen Programmierung (Unterkap. 2) baut man sog. Funktionen<br />
oder Prozeduren, die jeweils einen kleinen oder auch größeren Teil des Lösungsweges<br />
beinhalten, nämlich die Kapselung einer Reihe von Aktionen.<br />
• Die Modulare Programmierung (Unterkap. 3) kapselt mehrere zusammengehörige<br />
Funktionen mit den zugehörigen Daten. Diese Daten sind je Modul genau einmal<br />
vorhanden.<br />
• Die Objektorientierte Programmierung (Unterkap. 4) generiert ebenso Kapseln<br />
aus Funktionen und Daten, deren Bauplan hier in Form sog. Klassen festgelegt wird.<br />
Zur Laufzeit können aus diesen Klassen (Bauplänen) beliebig viele Objekte erzeugt<br />
werden (mit jeweils einem eigenen Datensatz), die unabhängig voneinander benutzt<br />
und zerstört werden können.<br />
Außerdem wird in Unterkap. 3 der Begriff der Speicherklasse zur Charakterisierung der<br />
Art und Dauer der Speicherplatzreservierung für Daten zur Laufzeit eingeführt. Es werden<br />
dabei zwei verschiedene Speicherklassen vorgestellt: “automatisch“ (begrenzte Lebensdauer<br />
zur Laufzeit mit automatischer Verwaltung durch das Laufzeitsystem) und ” statisch“<br />
(Speicherplätze während der gesamten Programmlaufzeit vorhanden).<br />
6.1 Entwurf von Systemen: Baueinheiten und Geheimnisprinzip<br />
(6.10) Übb Größere Programme sind für den Menschen nur dann beherrschbar, wenn das Problemfeld<br />
in Teile aufgeteilt wurde; die Art dieser Zerlegung hängt stark vom Programmierstil<br />
ab ((6.11). Diese Zerlegungsteile werden hier Baueinheiten genannt.<br />
Völlig unabhängig vom Programmierstil ist es sinnvoll (eigentlich sogar zwingend), diese<br />
Baueinheiten gekapselt zu konstruieren; dadurch wird es möglich, dass die zwei Sichten auf<br />
sie (nämlich die von außen und die von innen) weitgehend entkoppelt sind. Die erste Sicht<br />
beantwortet die Frage nach dem ” Was?“ (d. h. Was tut die Baueinheit?), die zweite nach<br />
dem ” Wie?“ (d. h. Wie verwirklicht sie es?), s. (6.12). Durch die weitgehende Entkopplung<br />
der Außen- von der Innensicht (6.13) ist die Benutzung der Baueinheit und ihre Konstruktion<br />
unabhängig voneinander; sie kann z. B. auch durch verschiedene Personen(gruppen)<br />
geschehen. Für die Benutzung (Anwendung) ist nur die Kenntnis des Was nötig, für die<br />
Konstruktion benötigt man die Beantwortung des Wie.