14.01.2014 Aufrufe

Übungsblatt 7 - Lehrstuhl Software-Systemtechnik - BTU Cottbus

Übungsblatt 7 - Lehrstuhl Software-Systemtechnik - BTU Cottbus

Übungsblatt 7 - Lehrstuhl Software-Systemtechnik - BTU Cottbus

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.

VL <strong>Software</strong>technik 10. Juni 2013 <strong>BTU</strong> <strong>Cottbus</strong><br />

LS <strong>Software</strong>-<strong>Systemtechnik</strong><br />

<strong>Übungsblatt</strong> 7<br />

Aufgabenbeschreibung<br />

Dieses Aufgabenblatt beschäftigt sich mit den Themen Bad Smells in Theorie (Aufgabe 1) und Praxis (Aufgabe<br />

2) sowie Code-Restrukturierung und Refactoring (Aufgabe 3).<br />

Aufgabe 1<br />

In dieser Aufgabe setzen Sie sich theoretisch mit Bad Smells auseinander. Suchen Sie sich hierzu aus den<br />

in der Vorlesung vorgestellten Bad Smells 5 heraus, überlegen und beschreiben Sie in welchem Kontext<br />

derartige Programmierprobleme auftreten können und diskutieren Sie den Aufwand der nötig ist, um diese<br />

im Rahmen eines Refactorings zu beheben.<br />

Aufgabe 2<br />

Viele Entwicklungsumgebungen bieten bereits Techniken, um einfache Refactorings zu automatisieren. Ein<br />

typischer Vertreter einer solchen IDE ist Eclipse. Suchen Sie sich aus den von Eclipse zur Verfügung gestellten<br />

Refactoring-Mechanismen 4 aus und erläutern Sie diese. Testen Sie zusätzlich für die gewählten Techniken,<br />

welche manuelle Nacharbeit nötig ist um das Refactoring vollständig durchführen zu können.Die<br />

Refactoring-Komponenten finden Sie ab Eclipse 4.2 in der Menüleiste unter Refactor.<br />

Zusatz: Welche Refactoring-Aufgaben lassen sich mit Eclipse nicht umsetzen? Warum nicht?<br />

Aufgabe 3<br />

Im Material ist ein Java-Programm zur Verwaltung von Bibliotheksgebühren enthalten. Dieses Programm<br />

soll mit geringem Aufwand an folgende Änderungen der Anforderungen anpassbar sein:<br />

• Einführung neuer Gebührenarten. Diese soll im Wesentlichen durch das Einführen einer oder mehrerer<br />

einfacher neuer Klassen möglich sein und nur minimale Änderungen an bestehenden Klassen<br />

erfordern.<br />

• Änderung der Benutzeroberfläche für die Eingabe und Änderung der Gebühren. Diese soll lediglich<br />

das Ersetzen einer oder mehrerer Klassen erfordern, die nicht zu ersetzenden Klassen sollen unverändert<br />

bleiben. Dabei soll so wenig wie möglich Quelltext ersetzt werden, damit neue Benutzeroberflächen<br />

mit geringem Aufwand erstellt werden können.<br />

1. Überlegen und beschreiben Sie welche Bad Smells im mitgelieferten Quelltext auftreten. Notieren<br />

Sie sich auch die Zeilennummern.<br />

2. Restrukturieren Sie das gegebene Programm so, dass sich die beiden genannten Typen von Anforderungsänderungen<br />

mit geringem Aufwand umsetzen lassen. Das nach außen sichtbare Verhalten des<br />

restrukturierten Programms soll gegenüber dem vorgegebenen Programm unverändert bleiben!<br />

3. Notieren Sie grob die von Ihnen durchgeführten Refactoring-Schritte. Welche dieser Schritte konnten<br />

automatisiert werden, welche nicht?<br />

Weisen Sie die Effektivität der Restrukturierung nach, indem Sie Beispiele für die genannten Anforderungsänderungen<br />

umsetzen und die dafür notwendigen Änderungen des restrukturierten Quelltextes protokollie-<br />

Seite 1 von 2


VL <strong>Software</strong>technik 10. Juni 2013 <strong>BTU</strong> <strong>Cottbus</strong><br />

LS <strong>Software</strong>-<strong>Systemtechnik</strong><br />

ren:<br />

2. Führen Sie die neue Gebührenart Benachrichtigungsgebühr ein. Die Höhe der Gebühr für eine Benachrichtigung<br />

richtet sich nach dem Versandmedium: Sie beträgt 0.50 e per eMail, 1.00 e per Brief,<br />

und 2.00 e per Telefon. Der Benutzer soll das Medium aus einer Auswahlliste (ComboBox) auswählen<br />

können. Listen Sie kurz die zur Einführung der neuen Gebührenart erforderlichen Veränderungen<br />

am Programm aus Teilaufgabe 1 auf.<br />

3. Ersetzen Sie die Eingabe und Änderung der Gebühren mit GUI-Dialogen durch eine textbasierte Eingabe<br />

und Änderung in der Konsole. Listen Sie kurz die erforderlichen Veränderungen am Programm<br />

aus Teilaufgabe 1 auf.<br />

Welche Eigenschaften erfüllen die Änderungen, welche aus den obigen Aufgaben resultieren? Definieren<br />

Sie alle für Sie erkennbaren Eigenschaften, die Restrukturierungsmaßnahmen zugrunde liegen. Finden Sie<br />

darüber hinaus weitere sinnvolle Eigenschaften.<br />

Seite 2 von 2

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!