Home | Produkte | JAVA FGM | Beschreibung
www.proetcon.de | Produkte | JAVA FGM | Beschreibung
[JAVA FGM - Produktbeschreibung]
JAVA FGM (JAVA Flow Graph Manipulator)
JAVA FGM ist das Tool für
  • Analyse,
  • Reengineering und
  • Redokumentation
von komplexen, objektorientierten Java-Applikationen.

JAVA FGM parst die gesamte Java-Applikation (Klassen, Methoden, Attribute, Files, Packages, ...) und deren Beziehungen (Call, Vererbung, Assoziation, Typverwendung, Attributzugriff, Datenfluß, ...) und speichert die vollständigen Strukturinformationen in einem Repository. Das Repository bildet die Basis für komplexe Analysen. Die Analyseergebnisse werden in verschiedene Graphik- und Textformate exportiert (.xls, .wmf, ASCII, Postscript, HTML, ...).

Feingranulare Kenntnisse auf der Ebene des einzelnen Java-Programms werden kombiniert mit komplexem Applikationswissen. Parallel dazu entsteht eine verständliche Redokumentation.

Das Ergebnis ist die drastische Senkung des Wartungsaufwandes von komplexen, objektorientierten Java-Applikationen.
Alleinstellungsmerkmale
JAVA FGM
  • besitzt einen Parser, der als Compiler-Frontend ausgeprägt ist und die Analyseergebnisse in einem vollständigen, redundanzfreien, internen Syntaxbaum ("Abstract Syntax Tree") ablegt. Nur so sind feingranulare Analyseergebnisse zu erzielen.

  • wurde in Übereinstimmung mit der Java-Philosophie auf der Basis von Unicode realisiert. Die Verarbeitung diakritischer Zeichen wie z.B. das französische "acute accent" (´, "U+00B4") oder das "circumflex accent" (^, "U+005E") stellen JAVA FGM ebensowenig vor Probleme wie das japanische Währungssymbol "YEN SIGN" (¥, "U+00A5").

  • ist in der Lage, verschiedene Formate zu analysieren. Die Informationen zu einem Java-Programm existieren in inhomogener Form, z.B. in .java- und .class-Files bzw. in .jar-Archiven. Bei der Analyse der import-Klausel eines Java-Programms ist nicht ersichtlich, in welchem dieser Formate die zu importierenden Objekte vorliegen. Deshalb wurde der Parser von JAVA FGM für die Analyse dieser unterschiedlichen Formate ausgelegt. Nur aus diesem Grund ist eine vollständige Sicht auf die gesamte Java-Applikation möglich.

  • speichert die Analyseergebnisse in zwei unterschiedlichen Repositories:
    Für feingranulare Ergebnisse auf der Ebene eines einzelnen Programms ist ein RDBMS ungeeignet, weil zu starr. Aus diesem Grund werden die Analyseergebnisse eines einzelnen Programms in einem sogenannten Datenflußgraphen (Compilertechnik) verwaltet.

    Die Informationen über die Gesamtapplikation (grobgranulare Sicht auf Beziehungen zwischen Programmen, Files und Packages, ...) lassen sich effizient als Relationen realisieren und werden in einem RDBMS (MySQL) gespeichert.

    Natürlich merkt der Nutzer bei seiner Arbeit mit JAVA FGM nicht, ob die realisierten Ergebnisse aus dem Datenflußgraphen oder der relationalen Datenbank stammen. Die Analyseergebnisse werden einheitlich und transparent über das GUI kommuniziert.
Ausgewählte Analyseergebnisse
Datenfluß
Datenflußgraphen dokumentieren alle Beziehungen von Programmobjekten zu anderen Objekten innerhalb einer Java-Source.
[PDF] Beispiel eines Datenflußgraphen[24 KB]
CALL
Aufrufgraphen zeigen rekursiv alle von Java-Methoden direkt und indirekt gerufenen Methoden.
[PDF] Beispiel eines Aufrufgraphen[24 KB]
Vererbung
Graphen dokumentieren Vererbungsbeziehungen zwischen ausgewählten Klassen und Interfaces oder der gesamten Applikation.
[PDF] Beispiel eines Vererbungsgraphen[40 KB]
Implementierungsbeziehungen
Graphen dokumentieren, welche Klassen bzw. Interfaces andere Klassen/Interfaces implementieren.
[PDF] Beispiel für Implementierungsbeziehungen[23 KB]
Software-Qualität bewerten
Zur Bewertung der Software-Qualität sind eine Reihe von Metriken implementiert, z.B.:
  • Komplexe Programmstatistik (LOC, Kommentarzeilen, Leerzeilen, ...),
  • Halstead (Länge, Vokabular, Volumen und Schwierigkeitsgrad eines Programms sowie der Programmieraufwand),
  • McCabe (Anzahl der unabhängigen Wege im Kontrollflußgraphen eines Programms),
  • Anzahl angelegter Instanzen und öffentlicher Methoden von Klassen.
[PDF] Beispiel für das JAVA FGM-Metrikpaket[28 KB]
Das GUI
Objektbrowser
Eine komfortable Oberfläche erlaubt Ihnen die Kontrolle über alle Aktivitäten von JAVA FGM.
Graphviewer
Komplexe Prozesse werden mittels Graphik verständlich. Der Graphviewer generiert aus Sourcecode übersichtliche Graphiken (Aufrufgraph, Datenfluß, ...).
Fileviewer
Der integrierte Fileviewer schafft eine direkte Verbindung zwischen graphischer Anzeige und Sourcecode.
Skriptbibliothek
FGM stellt ein offenes API zur Verfügung. Formulieren Sie Ihre firmeninternen Anforderungen an die Analyse und speichern Sie diese als Bibliothek zur Wiederverwendung!
[JAVA FGM - GUI]
Die Architektur
JAVA FGM basiert auf einer 3-Schichten-Architektur.
Schicht 1: Analysator (Parser)
  • Der Java-Analysator (Parser) ist als Compiler-Frontend ausgelegt. Der Sourcecode wird mit der Granularität eines Compilers analysiert.
  • Der Parser ist in der Lage, die verschiedenen Formate, in denen ein Java-Programm vorliegen kann (.java, .class, .jar), zu verarbeiten.
Schicht 2: Server
Die Parseranalyse liefert zwei Ergebnisse:
  1. Eine vollständige, redundanzfreie, interne Darstellung der Java-Source in einem Repository. Die Darstellungsform des Repositories wird in der Compilertheorie als Flußgraph (Flow Graph) bezeichnet.
  2. Einträge in eine SQL-Datenbank, welche das Wissen über die Gesamtapplikation verwaltet:
    • Welche Programme verwenden welche Packages?
    • Wie ist die Aufrufstruktur zwischen den Programmen realisiert?
    • Welche Klassen erben von welchen Klassen?
    • Welche Klassen/ Interfaces implementieren andere Klassen/Interfaces?
    • ....
Der Server verwaltet sowohl das Repository des einzelnen Java-Programms als auch die SQL-Datenbank mit Applikationswissen (in Analogie zu einem Datenbank-Server). Er nimmt vom Client Aufträge entgegen und realisiert diese.
Schicht 3: Client
Mit dem Client formuliert der Nutzer Anfragen an den Server. Die Client-Komponenten (Objektbrowser, Fileviewer, Graphviewer, Navigator, ...) können die Analyseergebnisse in verschiedenen Dokumentationsformaten (z.B.: .xls, .wmf, ASCII, Postscript, HTML) dokumentieren.

Je nachdem, ob Detailwissen zu einem bestimmten Java-Programm oder Wissen zur vollständigen Applikation gefragt ist, beziehen sich diese Anfragen auf das Repository oder die Applikationsdatenbank.

[JAVA FGM - Architektur]
Technische Daten
Version JAVA FGM 2.4
Analyse von Java 2 Plattform, J2SE 5.0 und J2EE 1.4.2 SDK
Systemanforderungen
  • Betriebssystem: Windows 2000 / XP
  • Arbeitsspeicher: min. 256 MB RAM
  • freier Festplattenspeicher: ca. 100 MB
  • vorhandene Installation von TCP/IP-Protokoll
  • RDBMS: MySQL Classic, ab Version 3.23
Datenblatt und Handbuch zu JAVA FGM 2.4 finden Sie im Download-Bereich.
Der o.a. Text kann Firmenbezeichnungen, Marken, Kennzeichen oder Produktnamen enthalten, die den jeweiligen Eigentümern gehören. Ihre Wiedergabe erfolgt nicht in marken- oder zeichenrechtlichem Sinn.