Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Informatique - Informatique Appliquée à la Gestion

Anwendung von Reverse Engineering für die Erzeugung von UML Diagrammen aus Quellcode

Titre: Anwendung von Reverse Engineering für die Erzeugung von UML Diagrammen aus Quellcode

Thèse de Bachelor , 2011 , 66 Pages , Note: 1

Autor:in: Andreas Dreer (Auteur)

Informatique - Informatique Appliquée à la Gestion
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

Diese Arbeit überprüft, ob die aktuell verfügbaren Werkzeuge für Reverse Engineering von JAVA-Code die Anforderungen aus der Literatur erfüllen. Bestandteile sind eine Begriffsbestimmung, Gründe für den Einsatz von Reverse Engineering Methoden, Anforderungen aus der Literatur und ein kleiner Kriterienkatalog für die Bewertung der Werkzeuge.
Gegenstand der Untersuchung waren folgende Tools: ArgoUML, Fujaba4Eclipse, Papyrus UML, Soyatec UML, EclipseUML, Taylor MDA und TOPCASED UML.

Es werden folgende Fragestellungen beantwortet:
• Welche Anforderungen stellt die Literatur an die Werkzeuge?
• Welche Werkzeuge existieren für Reverse Engineering von JAVA-Code?
• Erfüllen diese Werkzeuge die Anforderungen der Literatur?

Extrait


Inhaltsverzeichnis

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

Zielsetzung & Themen

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.

  • Analyse theoretischer Anforderungen an Reverse-Engineering-Tools
  • Entwicklung eines Kriterienkatalogs zur Bewertung der Diagrammqualität
  • Evaluierung von Eclipse-basierten Werkzeugen wie Soyatec eUML2 und EclipseUML
  • Teststellung anhand von komplexem Beispielcode (J2EE-Pattern-Umsetzungen)
  • Untersuchung der Roundtrip-Engineering-Fähigkeiten

Auszug aus dem Buch

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.

Zusammenfassung der Kapitel

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).

Schlüsselwörter

Reverse Engineering, UML, Java, Quellcode, Klassendiagramm, Sequenzdiagramm, Roundtrip-Engineering, Modellierung, Softwareentwicklung, Eclipse, Kriterienkatalog, IDE-Integration, Design Recovery, objektorientierte Softwareentwicklung, Programmverhalten.

Häufig gestellte Fragen

Worum geht es in der Arbeit grundsätzlich?

Die Arbeit untersucht, wie Software-Werkzeuge Quellcode in UML-Diagramme umwandeln können und ob dies den Anforderungen aus der Fachliteratur entspricht.

Was sind die zentralen Themenfelder?

Die zentralen Felder sind Reverse Engineering, UML-Modellierung, die Automatisierung von Dokumentationsprozessen und die Qualität von Werkzeugen in der Eclipse-IDE.

Was ist das primäre Ziel der Untersuchung?

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.

Welche wissenschaftliche Methode wird verwendet?

Es wird eine Literaturrecherche durchgeführt, um Kriterien zu definieren, gefolgt von einer praktischen Evaluation ausgewählter Werkzeuge anhand von selbst geschriebenem Test-Quellcode.

Was wird im Hauptteil behandelt?

Der Hauptteil behandelt die theoretischen Anforderungen an Werkzeuge, deren Selektion nach harten Kriterien (wie Eclipse-Integration) und deren detaillierte Prüfung anhand eines Kriterienkatalogs.

Welche Schlüsselwörter charakterisieren die Arbeit?

Wichtige Begriffe sind Reverse Engineering, UML, Java, Modellierung, Klassendiagramm, Roundtrip-Engineering und IDE-Integration.

Welche Werkzeuge haben die Anforderungen am besten erfüllt?

Die Untersuchung ergab, dass vor allem Soyatec eUML2 und EclipseUML die Anforderungen weitgehend erfüllen konnten.

Warum scheiterten viele andere untersuchte Tools?

Die meisten Tools scheiterten an der fehlenden nativen Integration in gängige Entwicklungsumgebungen wie Eclipse oder boten kein ausreichendes Reverse Engineering von JAVA-Code.

Welche Rolle spielt die IDE-Integration in dieser Arbeit?

Die IDE-Integration wird als kritische Voraussetzung betrachtet, da Reverse Engineering ohne nahtlose Einbindung in den normalen Entwicklungsprozess in der Praxis kaum Mehrwert bietet.

Was ist der Zweck des Anhangs A?

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.

Fin de l'extrait de 66 pages  - haut de page

Résumé des informations

Titre
Anwendung von Reverse Engineering für die Erzeugung von UML Diagrammen aus Quellcode
Université
Ferdinand Porsche FernFH
Note
1
Auteur
Andreas Dreer (Auteur)
Année de publication
2011
Pages
66
N° de catalogue
V205136
ISBN (ebook)
9783656317227
ISBN (Livre)
9783656318590
Langue
allemand
mots-clé
reverse engineering UML JAVA tool checklist Eclipse Soyatec UML EclipseUML ArgoUML Fujaba4Eclipse Papyrus UML Taylor MDA TOPCASED UML
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Andreas Dreer (Auteur), 2011, Anwendung von Reverse Engineering für die Erzeugung von UML Diagrammen aus Quellcode, Munich, GRIN Verlag, https://www.grin.com/document/205136
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  66  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint