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 ...
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 9<br />
Systematische Wiederverwendung muss geplant sein [16, 17]. Sie entsteht<br />
auch nicht einfach dadurch, dass z.B. eine bestimmte Programmiertechnik,<br />
wie die objekt-orientierte Technik angewendet wird. Unter systematischer<br />
Wiederverwendung versteht man eine Softwareentwicklung, die<br />
durch den geplanten Einsatz von Erzeugnissen des Domänen-Engineerings,<br />
wie dem Domänenmodell, der Domänen-Architektur und weiterer Software-Komponenten<br />
in aufeinanderfolgenden Phasen des Software-Engineering-Prozesses<br />
gekennzeichnet ist [15].<br />
2.2.1 Erwartungen an die Wiederverwendung<br />
Von der Wiederverwendung verspricht man sich folgenden Nutzen:<br />
• Weniger Entwicklungs- bzw. Wartungsaufwand: Weniger Zeitbedarf<br />
und tiefere Kosten bei der Spezifikation, dem Design, der Codierung<br />
und Fehlersuche, da bereits eine entwickelte Software-Komponente<br />
verwendet wird. Je häufiger diese verwendet wird, und je grösser<br />
eine Software-Komponente ist, desto grösser ist der Nutzen.<br />
• Reduktion des Wartungungsaufwand: In [13] wird von einem Wartungsaufwand<br />
4 heutiger Software-System von 67 % ausgegangen. Es<br />
kann gezeigt werden, dass die gleichen Entwicklungsziele, die zur<br />
Verbesserung der Wiederverwendbarkeit führen, auch die Wartbarkeit<br />
und Portierbarkeit eines Software-Systems fördern [13].<br />
• Erhöhung der Softwarequalität: Mehrfache Anwendung erhöht die<br />
Wahrscheinlichkeit, dass Fehler gefunden werden und zu einer laufenden<br />
Verbesserung einer Software-Komponente führen.<br />
2.2.2 Grundlegende Ansätze<br />
Auf der Stufe einer Software-Komponente unterscheidet man zwischen<br />
dem Black-Box-Ansatz und dem White-Box-Ansatz der Wiederverwendung.<br />
Beim Black-box-Ansatz werden grobkörnige und möglicherweise parametrierbare<br />
Komponenten ohne Änderungen in ein neues System eingebaut.<br />
Beim White-box-Ansatz werden feinkörnige und möglicherweise parametrierbare<br />
Komponenten mit Änderungen in ein neues System eingebaut.<br />
Der White-box-Ansatz ist flexibler. Er hat aber den Nachteil, dass wegen<br />
4 gemeint ist der Aufwand für die Fehlerbehebung und für Erweiterungen der Funktionalität<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