07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

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.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 66<br />

(6.11) Entwurf von Systemen<br />

Entsprechend der Eigenart des Menschen, nur einen begrenzten Bereich gleichzeitig erfassen<br />

und beschreiben zu können, gibt es für ihn nur eine einzige Möglichkeit, komplexe Systeme<br />

zu beherrschen, nämlich diese logisch (und auch physikalisch) zu unterteilen, um sie<br />

anschließend wieder zusammenzusetzen.<br />

Anhand des Kriteriums, wie man unterteilt, unterscheiden sich die verschiedenen Programmierstile;<br />

dieses Kriterium kann sogar einer ” Weltanschauung“ unterliegen, nämlich einer<br />

Art, wie man die Welt sieht und begreift. Zwei Arten seien herausgegriffen, da sie für diese<br />

Vorlesung wichtig sind:<br />

• Ablauforientierte Zerlegung, ” strukturierte Programmierung“<br />

(auch algorithmische oder prozedurale Zerlegung):<br />

Die Zerlegung geschieht anhand des Handlungsablaufs, des Tuns.<br />

• Objektorientierte Zerlegung, ” objektorientierte Programmierung“:<br />

Die Zerlegung geschieht anhand der in der nachzubildenden Welt anzutreffenden, mit<br />

gewisser Eigenständigkeit versehenen Einheiten ( ” Objekte“ wie Dinge, Menschen, Ereignisse,<br />

gedachte Einheiten, z. B. Organisationseinheiten). Diesen Objekten übergibt man<br />

weitgehende Eigenverantwortung für ihr Handeln; sie kommunizieren miteinander, indem<br />

sie Nachrichten austauschen und so andere Objekte bitten, gewisse (Teil-)Aufgaben<br />

zu übernehmen, die diese ggf. weiter delegieren dürfen.<br />

Ferner gibt es die datenorientierte Zerlegung, dazu auch unterschiedliche Mischformen.<br />

(6.12) Bei jeder Zerlegungart – unabhängig vom Zerlegungskriterium (6.11) – ist es zweckmäßig, in<br />

sich abgeschlossene Baueinheiten zu erstellen. Diese Baueinheiten enthalten häufig auch<br />

wieder Baueinheiten feinerer Granularität oder sind in solchen größerer Granularität enthalten.<br />

(6.13)<br />

Die Baueinheiten (Steckerkomponenten, Prozeduren/Funktionen, Module, Objekte) kann<br />

man, wenn sie sinnvoll entworfen sind, in zwei weitgehend voneinander entkoppelten Aspekten<br />

betrachten:<br />

• Von außen: ” Was?“<br />

der Benutzer oder Anwender der Baueinheit muss wissen, was die Baueinheit leistet,<br />

nicht wie sie es verwirklicht ( ” black box“). Ferner kann er diese Baueinheit beliebig<br />

oft einsetzen, ohne sie jeweils neu konstruieren zu müssen. Notwendig für den richtigen<br />

Einsatz: genaue Kenntnis der Übergabestelle (Schnittstelle).<br />

• Von innen: ” Wie?“<br />

der Erbauer oder Konstrukteur der Baueinheit muss wissen, wie er die Anforderungen<br />

verwirklicht, die der Benutzer erwartet, z. B. welchen Algorithmus er einsetzt, welche<br />

Daten er verwendet. Er muss nicht die Anwendungsfälle kennen, solange er die Schnittstellenvereinbarung<br />

beachtet.<br />

Anm Entsprechend dieser beiden Betrachtungsweisen soll jetzt der Erbauer einer Baueinheit von<br />

dem Benutzer dieser Baueinheit (ein Programmierer mit nicht unbedingt minder guten Programmierkenntnissen)<br />

unterschieden werden.<br />

Bsp In vielen Programmiersprachen ist die Sinusfunktion implementiert:<br />

• Von außen: der Benutzer von sin(x) muss nur wissen, dass x im Bogenmaß anzugeben ist.<br />

• Von innen: der Erbauer muss ein geeignetes Näherungspolynom für die Sinus-Berechnung implementieren.<br />

Damit dieses Zusammenspiel zwischen Außen- und Innenbetrachtungsweise (zwischen Benutzer<br />

und Erbauer) richtig läuft, muss die Schnittstelle genau festgelegt sein, nämlich die<br />

Übergabestelle der Informationen zwischen außen und innen, zwischen der Benutzer- und<br />

der Erbauer-Sicht.<br />

(a) Es hat große Vorteile, wenn das Innere einer Baueinheit dem Benutzer gegenüber weitgehend<br />

verborgen ist (Geheimnisprinzip), wenn ihm nur ein kleiner Teil direkt zugänglich ist<br />

(Öffentlichkeit):

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!