19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 10<br />

Implementierung<br />

Dieses Kapitel gibt einen Überblick über die Umsetzung der Entwurfsgedanken,<br />

welche die Entwicklung von TaP vorangetrieben hat. Das System besteht aus fünf<br />

Hauptkomponenten, die im Folgenden detailliert betrachtet werden. Begonnen wird im<br />

nächsten Abschnitt mit der Implementierung des Punktdiagramms, gefolgt von einer<br />

Beschreibung des Desktops, in den die Diagramme eingebettet werden. Im Anschluss<br />

daran wird die Implementierung des Pie-Menüs beschrieben. Es folgen Abschnitte, in<br />

denen die Implementierung des Multitouch-Frameworks <strong>und</strong> der Datenbankanbindung<br />

erläutert werden.<br />

10.1 Punktdiagramm<br />

Die Analyse findet in TaP hauptsächlich durch ein Punktdiagramm statt. Dieses<br />

besteht aus einem Modell, dem DiagramDataModel, <strong>und</strong> der eigentlichen grafischen<br />

Repräsentation, welche im Diagram realisiert ist. Diese beiden Komponenten werden<br />

im Folgenden dargestellt. Außerdem werden noch die Drop-Zonen erklärt, welche zur<br />

Bestimmung der ausgewählten Kennzahlen <strong>und</strong> Dimensionen benötigt werden.<br />

10.1.1 DiagramDataModel<br />

Die Klasse DiagramDataModel implementiert das Interface INotifyPropertyChanged,<br />

um andere Elemente über Veränderungen zu informieren. Diese enthält ein Property<br />

Axis, welches eine Zuordnung von den Achsen zu Level oder Measures darstellt. Bei<br />

diesem Property handelt es sich um ein Dictionary. Bei der Initialisierung melden sich<br />

die Achsen bei der zugehörigen Collection an. Hierfür holt sich die Achse ihre eigene<br />

Liste von HierarchicalOLAPObjects <strong>und</strong> meldet sich bei dieser als Beobachter für<br />

CollectionChanged-Events an. Des Weiteren enthält die Klasse einen booleschen Wert<br />

isWorking, welcher angibt, ob gerade eine Datenbankabfrage ausgeführt wird. Sobald<br />

eine Datenbankabfrage gestartet wird, wird dieser Wert vom DiagramDataModel

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!