Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen
Download ReportTranscript Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen
Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen Dominik Benner Überblick Einleitung Was kann man visualisieren? Die Codevisualisierung Die Datenvisualisierung Probleme der Visualisierung AREDIS/AM AredisViewer Ausblick 2 Einleitung „Denken ohne Bilder ist unmöglich“ -Aristoteles 3 Einleitung Visualisierungen werden in der Medizin, der Physik, der Chemie und dem Maschinenbau besonders stark eingesetzt Informatiker schreiben diese Software, verwenden jedoch selbst kaum Visualisierungen 4 Einleitung Erster Schritt: UML Bereits vorhandene Legacy-Systeme müssen auch visualisiert werden können (Reverse Engineering) Softwarevisualisierung 5 Was kann man visualisieren? Die Hauptbereiche der Visualisierung: Codevisualisierung Datenvisualisierung 6 Die Codevisualisierung Visualisierung von Quellcode Darstellung von Methodenaufrufen Visualisierung des Programmablaufs Visualisierung von Threads Visualisierung der Kommunikation zwischen Programm und Betriebssystem 7 Die Codevisualisierung Visualisierung von Quellcode: Übersetzung des Quellcodes in geometrische Formen Darstellung der Abhängigkeiten dieser Objekte 8 Die Codevisualisierung Darstellung von Methodenaufrufen: Darstellung aller Klassen und Methoden als geometrische Objekte Visualisieren der Methodenaufrufe durch Pfeile Deckt unnötige Beziehungen auf 9 Die Codevisualisierung Visualisierung des Programmablaufs: Sequenzdiagramme zur Verdeutlichung des Programmablaufs Erkennung von Deadlocks 10 Die Codevisualisierung Visualisierung von Threads: Darstellung aller Threads eines Programms Erkennung von Schwachstellen in der Programmierung 11 Die Codevisualisierung Visualisierung der Kommunikation zwischen Programm und Betriebssystem: Darstellung zugewiesener Ressourcen Abhängigkeit zum Betriebssystem erkennen 12 Die Datenvisualisierung Visualisieren der Daten an sich (numerische Werte, Zeichen, Texte, Bilder etc.) Visualisieren von Datenstrukturen (mittels Bäume, Listen, Stacks, etc.) Darstellung des Hauptspeichers Visualisierung von Netzwerkdaten 13 Probleme der Visualisierung Viele Darstellungen sind zu umfangreich (Skalierbarkeit) Geschwindigkeit der Visualisierungssoftware Speicherplatzbedarf im Hauptspeicher Datenbeschaffung aus relevanten Systemen 14 AREDIS/AM Application Miner Firma Quintec IT Ermöglicht es Legacysysteme zu analysieren und somit Schwachstellen aufzudecken 15 AREDIS/AM 16 AredisViewer Bisherige Darstellungsform des AREDIS/AM: Tabellarische Form Ziel der Projektarbeit: Entwicklung eines Visualisierungstools dieser Daten 17 AredisViewer Anforderungen: • Einlesen der AREDIS/AM Parseroutputs • Selektion der anzuzeigenden Objekte • Auswahl eines Designs • Skalierbarkeit des Layouts • Anzeige von Objekteigenschaften 18 AredisViewer • Laden und Speichern • Drucken • Eigene Anmerkungen zu jedem beliebigen Objekt • Darstellung der Kopplungsstärke • Softwareanalyse mittels Softwaremetriken 19 AredisViewer Die Visualisierungskomponente: YFiles der Firma YWorks Interaktives Manipulieren der Grafik Fertiges Softwareprodukt Kostengünstiger als Eigenproduktion 20 AredisViewer Das Layout: IncermentalHierarchicLayout OrganicLayout 21 AredisViewer Auswahl des OrganicLayout 22 AredisViewer 23 AredisViewer 24 Ausblick Softwarevisualisierung ist noch eine sehr junges Thema Anforderungen an Visualisierungstools sehr umfangreich Es wird immer wichtiger alte Bestandssysteme zu optimieren Kosteneinsparungen der Unternehmen 25 Vielen Dank für Ihre Aufmerksamkeit! 26