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.

2.2. SOFTWARE-WIEDERVERWENDUNG 11<br />

– Schwierigkeit beim Herausfinden, welche Komponenten wiederverwendbar<br />

sind. Dies bedeutet, Gemeinsamkeiten in verschiedenen<br />

Anwendungen zu erkennen, zu klassifizieren und zu beschreiben.<br />

– Mangelnde Standardisierung der Komponenten<br />

– Fehlende Entwicklungswerkzeuge zur Herstellung wiederverwendbarer<br />

Komponenten<br />

– Kosten Nutzen-Frage: Rechtfertigung von Initialkosten und Mehraufwand<br />

für die Herstellung einer Komponente<br />

– Rechtliche Fragen, Schutz von geistigem Eigentum<br />

<strong>Eine</strong> Schwierigkeit einer wiederverwendbaren Komponente ist deren Abgeschlossenheit<br />

(Black-Box). Damit lässt sie sich nachträglich nicht problemlos<br />

an neue Anforderungen anpassen. Meyer [18] formuliert daher<br />

das Open-Closed-Prinzip, das folgende wünschenswerte Eigenschaften<br />

einer wiederverwendbaren Software-Komponente festhält:<br />

• <strong>Eine</strong> Software-Komponente ist offen, wenn sie nachträglich erweitert<br />

werden kann, ohne dass ihr Quelltext geändert werden muss oder existierende<br />

Klienten davon betroffen werden. Mögliche Erweiterungen<br />

sind das Hinzufügen von neuen Elementen zu Datenstrukturen oder<br />

das Hinzufügen von zusätzlichen Funktionen.<br />

• <strong>Eine</strong> Software-Komponente ist abgeschlossen, wenn sie mit einer<br />

klar definierten Schnittstelle in einer Bibliothek für die Wiederverwendung<br />

zur Verfügung gestellt wird.<br />

Diebeidenansichgegensätzlichen Wünsche werden deutlicher, wenn man<br />

zwischen Schnittstelle und Implementierung einer Software-Komponente<br />

unterscheidet. Der Klient möchte eine stabile d.h. abgeschlossene Schnittstelle<br />

zu Software-Komponenten. Als Anbieter wiederverwendbarer Software-Komponenten<br />

möchte man zulassen, dass die Schnittstellen, wie in<br />

Abbildung 2.2 dargestellt, von verschiedenen Klienten in verschiedenen<br />

Varianten implementiert werden können. Dabei soll es die Klienten nicht<br />

betreffen, wenn verschiedene Varianten aus einer benutzten Software--<br />

Komponente gebildet werden.<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!