Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
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):