Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen...

Post on 06-Apr-2015

103 views 0 download

Transcript of Grafische Visualisierung von Softwarestrukturen Projektarbeit SS07-WS07/08 Universität Siegen...

Grafische Visualisierung von Softwarestrukturen

Projektarbeit SS07-WS07/08Universität Siegen

Dominik Benner

2

Überblick

Einleitung Was kann man visualisieren? Die Codevisualisierung Die Datenvisualisierung Probleme der Visualisierung AREDIS/AM AredisViewer Ausblick

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