Postfuse Eclipse Plugin zum Visualisieren von Graphen

Werbung
Postfuse
Eclipse Plugin zum Visualisieren von
Graphen
Bachelorpraktikum - Review 2 - Design
05.02.2007
22
Gruppe: G2
Gliederung
Design Überlegungen
Architektur
Use-Cases Realisierungen
Stand der Dinge
Gliederung
Design Überlegungen
Architektur
Use-Cases Realisierungen
Stand der Dinge
Design Überlegungen
Benutzercharakteristik - GUI
Der GUI-Benutzer
I
weiß was ein Graph ist
I
ist in der Lage Eclipse zu benutzen
I
ist in der Lage ein Plugin von einer Update Site zu
installieren
I
ist in der Lage eine GUI zu benutzen
Design Überlegungen
Benutzercharakteristik - API
Der API-Benutzer
I
. . . (wie GUI-Benutzer)
I
kann Java Programmieren
I
ist in der Lage ein Eclipse Plugin zu erstellen
I
weiss wie man auf die APIs von anderern Plugins zugreift
Design Überlegungen
Standards
I
Betrifft hauptsächlich Dateiformate
I
GraphML für Graph-Dateien → XML konform erweitern
I
Bild Export: SVG, PNG
I
Plugin-Standards
I
Update Site Format
Design Überlegungen
sonstige Anforderungen
I
QS: Funktionalität
I
QS: Benutzbarkeit
I
freie Lizenz (BSD)
I
...
Gliederung
Design Überlegungen
Architektur
Use-Cases Realisierungen
Stand der Dinge
Architektur
Subsysteme und ihre Aufgaben
G222-Feature
Example-Feature
Prefuse-Plugin
Batik-Plugin
Postfuse-Plugin
API
Ext
(Postfuse Standalone)
Script-Feature
BeanShell-Plugin
Demo
Eclipse Plugin
das Postfuse nutzt
Groovy-Plugin
Architektur
Die API
Architektur
Die API - Filter
Architektur
Die API des Plugins
Architektur
Die GUI
Architektur
Erweiterungspunkte
I
Andere Skriptsprachen
I
Eigene Filter (Prädikate)
I
Umgebungen in denen die Skripts ausgeführt werden
I
Prefuse Erweiterbarkeit (teilweise) beibehalten
I
I
Layouter
Design der Elemente
Gliederung
Design Überlegungen
Architektur
Use-Cases Realisierungen
Stand der Dinge
Use-Cases Realisierungen
Graph erstellen und anzeigen
API-Benutzer
Postfuse-Plugin
createGraph()
erzeugen
RootGraph
Graph bearbeiten
showGraph
RootGraph
Use-Cases Realisierungen
Knoten & Kanten erstellen
API-Benutzer
Knoten hinzuf. 1
hinzugef. Knoten 1
Knoten hinzuf. 2
hinzugef. Knoten 2
Kante hinzufügen
hinzugef. Kante
Graph
Node
Knoten erzeugen
Knoten
Knoten erzeugen
Knoten
Kante erzeugen
Kante
Edge
Use-Cases Realisierungen
Skripte
Benutzer
GView
EdgePopupControl
Rechtsklick auf Knoten
Kontextmenü erzeugen
Kontextmenü
Kontextmenü zeigen
Skript ausführen
Skript starten
Skript beendet
Resultat des Skripts
Script
Use-Cases Realisierungen
Filter
API-Benutzer
Predicate
Prädikat erstellen
clearFilter()
setFilter(filter)
RootGraph
Use-Cases Realisierungen
Laden / Speichern
API-Benutzer
RootGraph
speichern
exportSVG
exportPNG
Graph laden
geladener Graph
Use-Cases Realisierungen
Knotenfaltung
API-Benutzer
Node
prefuseNode
GNodeRenderer
ausfalten
folded-flag löschen
folded-flag lesen
folded-flag
Gliederung
Design Überlegungen
Architektur
Use-Cases Realisierungen
Stand der Dinge
Stand der Dinge
Was geht bereits / Demo
I
Export: SVG, PNG
I
Laden / Speichern GraphML (noch nicht endgültiges
Dateiformat)
I
Anzeigen von Graphen ohne Subgraphen incl. Zoom und
Pan
I
Auf- und Zuklappen von Knoten
I
Skripte ausführen
I
Eclipse: Update Site Installation
I
Eclipse: MultiView mit *.gml Dateiassoziation
I
...
Stand der Dinge
Was geht noch nicht?
I
Subgraphen (Layout)
I
HTML in Nodes
I
MacOSX
I
...
Stand der Dinge
Arbeitszeiten
I
I
1000 h Zielmarke
390 h Bisher
I
I
I
I
I
I
5% Qualitätssicherung
20% Treffen für Designfragen & Pariprogramming
25% Ausarbeitung des Designs
20% Toolsuche und Installation
30% Implementierung
Schwerpunkt auf die Semesterferien gelegt
Stand der Dinge
Weitere Planungen
I
Subgraphen Komponenten erfordern große Änderugen
(neue Module)
I
I
I
Neuer Layouter (Mehrfachkanten, nichtüberlappende
Knoten, Subgraphen)
Renderer für Subgraphen
bessere Eclipse Integration (z.B. Extension-Points)
Fragen?
I
...
Herunterladen