Abschlussarbeit

Ein Eclipse-Framework zur automatischen Bestimmung nützlicher Interfaces in Java-Programmen

Verfasser/in:
Frank Fiedler
Betreuer/in:
Prof. Dr. Friedrich Steimann
Status:
abgeschlossen
Jahr:
2007
Download:
PDF
Die Entkopplung von Klassen durch die Benutzung von Interfaces gilt allgemein als wichtiges Element eines guten objektorientierten Programmierstils. Untersuchungen zeigen jedoch, dass davon in der Praxis zu wenig Gebrauch gemacht wird. Deshalb werden in dieser Arbeit Werkzeuge neu und weiterentwickelt, die die Einführung neuer Interfaces unterstützen sollen. Besonderes Augenmerk liegt dabei auf der nachträglichen Einführung, die in verschiedenen Situationen wünschenswert ist. Die Schwierigkeit besteht darin, zu erkennen welche neuen Interfaces sinnvoll sind und was diese genau beinhalten sollen. Hierfür wird jeweils für einen konkreten Typ zunächst analysiert, wie er genau genutzt wird. Es wird dann ein Werkzeug angeboten, mit dem man gestützt auf diese Analyse neue Interfaces entwerfen kann. Dabei gilt es, eine Balance zwischen maximaler Entkopplung und der Anzahl der neu eingeführten Typen zu erreichen. Als Unterstützung hierfür wird eine Möglichkeit integriert, diese Faktoren automatisch abzuschätzen und ein oder mehrere Interfaces für jeden Typ vorzuschlagen. Dazu werden eine Metrik und ein kombinatorischer Algorithmus benutzt, die mit dem Eclipse-Erweiterungsmechanismus integriert sind, so dass ihre Implementierungen ausgetauscht werden können. Einige Beispielimplementierungen sind bereits enthalten; deren Verhalten wird unter verschiedenen Aspekten untersucht.
10.05.2024