Bachelorarbeit, 2011
66 Seiten, Note: 1
1 Einleitung
1.1 Motivation
1.2 Zielsetzung
1.3 Vorgehensweise
2 Reverse Engineering
2.1 Begriffsbestimmungen
2.2 Einsatzarten für UML
2.3 Weitere Ziele für Reverse Engineering
3 Welche Anforderungen stellt die Literatur an die Werkzeuge?
3.1 Allgemeine Anforderungen
3.2 Erkennen des Programmverhaltens
3.3 Abgeleitete Anforderungen
3.4 Kriterienkatalog
4 Evaluation der Werkzeuge
4.1 Kurzeinführung in den JAVA-Quellcode
4.2 Auswahl der Werkzeuge
4.3 Soyatec eUML2
4.4 EclipseUML
4.5 Zusammenfassung
5 Zusammenfassung und Ausblick
A Quellcode
A.1 Main
A.2 Package DAO
A.3 Package DAO.Dummy
A.4 Package Person
A.5 Package Kunde
Die Arbeit untersucht, inwieweit aktuelle Softwarewerkzeuge in der Lage sind, mittels Reverse-Engineering-Methoden präzise und nützliche UML-Diagramme aus bestehendem JAVA-Quellcode zu generieren. Dabei steht die Überprüfung der Praxistauglichkeit dieser Werkzeuge im Hinblick auf Anforderungen aus der wissenschaftlichen Literatur im Mittelpunkt, wobei besonderer Wert auf die IDE-Integration und die Abbildung von Klassenhierarchien sowie Sequenzdiagrammen gelegt wird.
1.1 Motivation
Die Arbeit eines Softwareentwicklers ist stetigen Änderungen unterworfen. Einerseits durch neue Programmiersprachenkonstrukte, von den ersten deklarativen Sprachen bis zu den objektorientierten Sprachen, andererseits auch durch veränderte Vorgehensweisen, die durch die Objektorientierung entstanden sind (Komponentenorientierung, Serviceorientierung). Hand in Hand mit diesen Veränderungen entwickelten sich auch die verwendeten Werkzeuge weiter: Einst wurde Code in einem einfachen Texteditor verfasst und dann manuell mit einem Compiler in ein ausführbares Programm übersetzt. Später kamen dann sukzessive Unterstützungen hinzu, sodass heute eine Entwicklungsumgebung ohne Hilfestellungen, wie “Syntax Highlighting“, Formulareditor oder Intellisense unvorstellbar wäre.
Diese Verbesserungen unterstützen den Entwickler allerdings nur während des Vorgangs der Implementierung, nicht bei der Planung einer Codeänderung, beim Verstehen von einzelnen Codepassagen, beim Ersichtlichmachen von Abläufen und Zusammenhängen oder beim Übersetzen eines Programmierkonzepts oder Modells in Programmcode.
Mit Hilfe von UML können auch die komplexesten Softwareprojekte überblickt werden, deshalb haben sich viele Werkzeuge etabliert, die den Softwareentwickler in der Modellierung mit UML unterstützen. Die Übersetzung eines detaillierten UML-Modells in Code ist häufig nur eine Routineaufgabe und wird daher ebenfalls von vielen Werkzeugen automatisiert. Einige dieser Werkzeuge können Code und Modell synchron halten oder das Modell aus dem Code ableiten. Im Idealfall integrieren sich diese Werkzeuge in die bevorzugte Entwicklungsumgebung des Entwicklers (zum Beispiel als Addin) und lassen damit erahnen, wie in naher Zukunft Entwicklungsumgebungen aufgebaut sein könnten.
1 Einleitung: Diese Einleitung beschreibt die Motivation des Softwareentwicklers, Reverse Engineering zur Modellierung zu nutzen, und definiert das Ziel der Arbeit, die Praxistauglichkeit solcher Werkzeuge zu bewerten.
2 Reverse Engineering: Hier werden zentrale Begriffe definiert, Einsatzarten wie Skizzen oder Blaupausen erläutert und die Bedeutung für Wartung, Weiterentwicklung und agile Prozesse hervorgehoben.
3 Welche Anforderungen stellt die Literatur an die Werkzeuge?: Dieses Kapitel arbeitet Anforderungen an Reverse-Engineering-Tools heraus, spezifiziert benötigte Diagrammtypen und erstellt einen detaillierten Kriterienkatalog zur Bewertung.
4 Evaluation der Werkzeuge: Die verschiedenen am Markt erhältlichen Werkzeuge werden unter anderem hinsichtlich ihrer IDE-Integration getestet, wobei Soyatec eUML2 und EclipseUML einer eingehenden Analyse unterzogen werden.
5 Zusammenfassung und Ausblick: Hier werden die Ergebnisse der Tool-Evaluierung zusammengefasst und Ansätze für zukünftige Forschungsarbeiten aufgezeigt.
A Quellcode: Dieser Anhang enthält den für die Tests verwendeten Beispielcode in den verschiedenen Paketen (Main, DAO, Person, Kunde).
Reverse Engineering, UML, Java, Quellcode, Klassendiagramm, Sequenzdiagramm, Roundtrip-Engineering, Modellierung, Softwareentwicklung, Eclipse, Kriterienkatalog, IDE-Integration, Design Recovery, objektorientierte Softwareentwicklung, Programmverhalten.
Die Arbeit untersucht, wie Software-Werkzeuge Quellcode in UML-Diagramme umwandeln können und ob dies den Anforderungen aus der Fachliteratur entspricht.
Die zentralen Felder sind Reverse Engineering, UML-Modellierung, die Automatisierung von Dokumentationsprozessen und die Qualität von Werkzeugen in der Eclipse-IDE.
Das primäre Ziel ist es, mittels eines Kriterienkatalogs zu prüfen, ob Reverse-Engineering-Tools für JAVA-Code in der Praxis effizient und vollständig funktionieren.
Es wird eine Literaturrecherche durchgeführt, um Kriterien zu definieren, gefolgt von einer praktischen Evaluation ausgewählter Werkzeuge anhand von selbst geschriebenem Test-Quellcode.
Der Hauptteil behandelt die theoretischen Anforderungen an Werkzeuge, deren Selektion nach harten Kriterien (wie Eclipse-Integration) und deren detaillierte Prüfung anhand eines Kriterienkatalogs.
Wichtige Begriffe sind Reverse Engineering, UML, Java, Modellierung, Klassendiagramm, Roundtrip-Engineering und IDE-Integration.
Die Untersuchung ergab, dass vor allem Soyatec eUML2 und EclipseUML die Anforderungen weitgehend erfüllen konnten.
Die meisten Tools scheiterten an der fehlenden nativen Integration in gängige Entwicklungsumgebungen wie Eclipse oder boten kein ausreichendes Reverse Engineering von JAVA-Code.
Die IDE-Integration wird als kritische Voraussetzung betrachtet, da Reverse Engineering ohne nahtlose Einbindung in den normalen Entwicklungsprozess in der Praxis kaum Mehrwert bietet.
Der Anhang enthält den spezifischen JAVA-Beispielcode (Data Access Object Pattern, Person- und Kunden-Pakete), der als Grundlage für die objektive Prüfung der Werkzeuge diente.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

