11.10.2013 Aufrufe

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

Diss.-ETH 12317 Diss.-ETH 12317 Diss.-ETH 12317 Diss.-E Eine ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

24 KAPITEL 2. KONZEPTE DES SOFTWARE-ENGINEERING<br />

Framework<br />

GetAElem(..)<br />

in MeinNtor<br />

überschreibt<br />

GetAElem(..) in<br />

VNtor<br />

VNtor<br />

GetAElem(..)<br />

MeinNtor<br />

GetAElem(..)<br />

vom Klienten durch Ableitung definierte Erweiterungen<br />

Abbildung 2.8: Funktionsweise eines Frameworks<br />

Programmfluss<br />

wendung einbaut und damit in eher traditioneller Weise Software-Produkte<br />

für einen Endbenutzer erstellt. In einem Forschungsumfeld ist der Klient<br />

oft selber Endbenutzer.<br />

Der durch Wiederverwendung gesteuerte Software-Engineering Prozess<br />

ist dadurch gekennzeichnet, dass es vom Klienten eine Rückkopplung zum<br />

Framework-Entwickler gibt. Die Kommunikation zwischen diesen Akteuren<br />

ist entscheidend. Das Verbessern und Erweitern des Frameworks ist in<br />

diesem iterativen Prozess möglich, solange der Klient dies benötigt.<br />

In [12] werden Erfahrungen mit diesem Prozess dargestellt, die bei der<br />

Produktion von Software für Flugsimulatoren gemacht wurden.<br />

2.5.3 Anwendung<br />

Kann ein Klient bei seiner Problemstellung auf einem Framework aufbauen,<br />

so ist bereits ein Teil der Entwurfsarbeit vom Framework-Entwickler<br />

erbracht worden. Der Klient benutzt ein Framework, indem er an den dafür<br />

vorgesehenen Stellen eigene Klassen ableitet. Der Klient überschreibt<br />

Methoden und ändert damit das vom Framework vorgegebene Standard-<br />

Verhalten. In Abbildung 2.8 wird die Anpassung eines Frameworks an<br />

einem einfachen Beispiel aufgezeigt. Die Klasse VNtor sei eine Klasse<br />

des Frameworks, die dazu angelegt ist, vom Klienten in einer abgeleiteten<br />

Klasse, hier MeinNtor, konkretisiert zu werden. Der Klient liefert eine<br />

eigene Version zu der Methode GetAElem(..), um dieser Methode ein<br />

spezielles Verhalten zu geben. Man beachte aber, dass GetAElem(..) unabhängig<br />

von den Änderungen des Klienten vom Framework zur geeigneten<br />

Zeit aufgerufen wird. Diese Art der Wiederverwendung ist in Kapitel<br />

<strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-<strong>ETH</strong> <strong>12317</strong> <strong>Diss</strong>.-E

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!