Prototyp

Die Software besteht aus vier Teilmodulen, wobei eine kom­plex aufgebaute Regelmaschine entsteht, die Abfragen auf dem Meta­modell und den Zuordnungen in der relationalen Datenbasis ausführt und für die typischen Anwendungsfälle einer Befragungssoftware Logik ausführt.

Software-Module

Fragebogenerfassung

Im Bereich der Fragebogenerfassung geht es darum, dem Benutzer die Möglichkeit zu geben, Fragen und ihre Eigenschaften zu erfassen und - in dieser Software neu - auch dem Metamodell zuzuordnen. In einer traditionellen Software würde man hier ohnehin nur aus einem begrenzten statisch vorgegebenen Frageartenkanon konkrete Fragen erfassen. In der geplanten Software soll es darüber hinaus auch noch möglich sein, die Beziehungen zwischen Fragen und ihre Skalen zu erfassen, um diese für spätere Auswertungen nutzen zu können. Die Ontologie wird hierbei genutzt, um die konkreten Ausprägungen Metamodell-Elementen zuzuweisen.

Umfragedurchführung

Auch die Umfragedurchführung richtet sich direkt an den Benutzer, wobei es in diesem Fall nicht um einen Administrator, sondern um den Probanden geht. Diese erhalten gemäß ihrer Eigenschaften, die durch vorherige Antworten ermittelt wurden, und sonstigen Beziehungen zwischen Fragen und ihren eigenen Eigenschaften entsprechende Fragebögen oder Fragebogenteile angezeigt. Hierbei geht es darum, auf Basis der Ontologie und den Beziehungen, die zwischen den Objekten im Metamodell vorgegeben sind, passende Oberflächen aufzubauen. Dieser halbautomatische Vorgang ist ebenfalls neuartig, da im Normalfall in gängigen Systemen die Fragebögen statisch konstruiert und lediglich angezeigt werden. Hier ist lediglich der angezeigte Fragetext dynamisch für bspw. Mehrsprachigkeit ausgewählt.

Berichtsformaterfassung

Antworten gehören zu Fragen und beziehen sich auf zu Fragen passende Skalen. Diese werden mit bestimmten auch zu Skalen verfügbaren Techniken ausgewertet. Bei der Berichtsformaterfassung ist das Ziel, Reihenfolgen von ausgewerteten Fragegruppen und ggf. auch Bedingungen bei der Auswertung zu erfassen, um dann für Probandengruppen oder Themenbereiche Berichte auszugeben. Dieser Teil ist besonders innovativ und kann wahrscheinlich nur als reiner Prototyp konstruiert werden. Dies ist damit zu begründen, dass hier potenzielle Kunden dieser Software ihre unternehmenseigenen und teilweise auf bestimmte Auswertungstechniken beruhenden Ergebnisdarstellungen benötigen und die Anzahl der Möglichkeiten unüberschaubar ist. Für eine Demo-Version ist es allerdings denkbar, eine Reihe von Standardauswertungsverfahren und insbesondere auch Diagrammen anzubieten.

Auswertung

Auf Basis der typischerweise in einer XML-Struktur erfassten Berichtsformatierung erfolgt dann die eigentliche Auswertung. Diese ist natürlich abhängig von der Berichtsformatierung, der Ontologie, in der die Skalen, Berechnungsarten etc. für die möglichen Fragen hinterlegt sind. Da diese Ontologie zwar theoretisch denkbar, aber aufgrund von Marketing- und Nutzeranforderungen schwierig abschließend auch als Software denkbar ist, ist dies als Demo-Variante denkbar.

Architektur

Die nachfolgende Abbildung fasst die einzelnen Module der Software in einer übersichtlichen Darstellung zusammen.

Die folgende Abbildung zeigt schematisch die Funktionsweise, wie ein Fragebogen von seinen anzuzeigenden Daten her ermittelt, zusammen gesetzt und schließlich zur Benutzerschnittstelle gesandt und dort gerendert wird.

Technologien

Bereich Modul- Technik Kommentar

Datenbank

MS SQL Server

Der MS SQL Server wird als zentraler Datenspeicher für die relational aufbereiteten Daten genutzt. Er unterstützt die Speicherung und Verarbeitung von XML-Daten direkt mit T-SQL und erlaubt die Programmierung von Funktionen/Prozeduren mit T-SQL und .NET. Für die Erstellung von einfachen Berichten wie bspw. für die Kontrolle des Umfragestatus (Fortschrittsabfrage) lassen sich die Reporting Services (Berichtssystem) nutzen.

Ontologie

OWL (XML)

Die Ontologie wird in Form einer OWL-Datei in XML-Form erstellt und enthält das Weltmodell, auf das in der Datenbank wieder verlinkt werden kann. So können dann über die Referenzen bspw. konkrete Fragen zu in der Ontologie beschriebenen Fragetypen zugeordnet werden.

Ontologie-DB-Brücke

C#.NET

Die Ontologie-DB-Brücke übersetzt die Referenzen zwischen Datenbank und Ontologie. Darüber hinaus ist sie notwendig, um in den Erfassungsformularen Werte für Auswahlfehler anzubieten, mit denen dann die Zuordnungen erfolgen können. Gleiche Werte sind auch in den Import-Textdateien notwendig und müssen wiederum aus diesen Importdateien bei der DB-Erfassung zu den Ontologie-Werten zugeordnet werden, sofern die Werte in der Import-Datei nicht direkt speicherbar sind. Für die Verwendung in der Oberfläche und in den Import-Dateien ist auch ein Mechanismus für Mehrsprachigkeit notwendig.

Fragebogen-
steuerung

C#.NET (ASP)

Die Fragebogensteuerung ruft in einer XML-Struktur, welche die Informationen aus der Ontologie mit den verfügbaren projektbezogenen Fragedaten in der Datenbank berücksichtigt und kombiniert, die in einem Fragebogen oder eine Fragebogenseite anzuzeigenden Fragen ab. Aus der voran gegangenen Daten, die vom Benutzer erfasst worden sind, wird zuvor ein Abgleich zwischen Ontologie und den projektbezogenen Daten durchgeführt. Auf Grundlage der Beziehungen zwischen den Fragen und den zuvor erfassten Antworten können dann notwendige weitere Fragen ermittelt und als XML-Datensatz ausgegeben werden. Die Auswahl und Filterung von Fragen gemäß der vorab angegebenen Hierarchien, Reihenfolgenbeziehung und inhaltlichen Abhängigkeiten bei bestimmten Antworten legt fest, welche Fragen überhaupt nach und nach abgerufen werden.

Formular-
generierung

XSLT / XHTML / CSS.NET / MS Silverlight

Die in XML abgerufenen Daten, welche die Fragen, die möglichen Antworten und Zusatztexte oder Bildreferenzen enthalten, müssen für die Darstellung in einem Browser ausgegeben werden. Mit Hilfe von XSLT lassen sich die abgerufenen logischen Daten in XHTML mit verschiedenen DIV-Containern und weiteren Block-Elementen umwandeln, während mit Hilfe von CSS die Textformatierung und Positionierung/Layout möglich ist. Diese beiden Techniken werden für die Erstellung einer oder mehrerer Standardanzeigeformate genutzt und können als Erweiterungsmöglichkeit projektbezogen ausgetauscht werden, um so individuelle Fragebögen zu erhalten.

Ontologie-zu-DB-zu-.NET-Brücke

Ontologie und Relationale Datenbank

Ontologie und XML Schema

Die nächste Abbildung enthält einen großen, aber im Hinblick auf die tatsächliche XML Schema-Datei bzw. die Inhalte der Ontologie nur sehr kleinen Ausschnitt aus der XML Schema. Es handelt sich lediglich um einen einzigen Fragetyp der Ontologie mit seinen diversen Eigenschaften. Die gesamte Definition ist ungefähr achtmal umfangreicher, da neben den eigentlichen Eigenschaften der verschiedenen Fragetypen auch der Fragebogen-Aufbau, die Beziehungsregeln und die Anzeigeinformationen enthalten sind.

Ontologie und Klassen-Struktur

Wie schon im Rahmen der Planung festgelegt und dann während der überlegungen, die bei der Ontologie-Entwicklung und Anforderungsbeschreibung angestellt wurden, bestätigt wurde, erwies sich die Nutzung einer sehr umfangreichen XML-Struktur für die Abbildung des Fragebogens und auch der Antworten als besonders zielführend. Durch die Nutzung von XML bot sich hier die Möglichkeit, Schnittstellendefinitionen in XML Schema (und für die Ontologie auch in OWL) anzugeben, welche dann für unterschiedliche Software-Module des Prototyps wie auch für andere Produkte (Datenintegration oder -auswertung sowie Datenumwandlung in andere Formate wie Excel/CSV) wieder zum Einsatz kommen können. Da das vollständige System als Server-Software geplant ist, geht man davon aus, dass die Verwendung von Web Services, die ja auch XML-basiert sind, für die Kommunikation zwischen Server- und Client-Software oder auch von anderen Software-Bausteinen ebenfalls problemlos möglich ist. Die XML-Strukturen können dann in sehr ähnlicher Form direkt auch als Nachrichten für die SOAP-Nachrichten bei der Web Service-Nutzung und die XML Schema-Definitionen in der WSDL-Definition des Web Service zum Einsatz kommen.

Ein großer Teil der Arbeit in diesem Arbeitspaket bestand aus der übertragung des schriftlichen und teilweise in Zeichnungen vorliegenden Ontologie-Modells in OWL als direkt für Ontologien nutzbare Syntax und in ein eigenes XML-Format, das mit XML Schema umgesetzt wurde. Als zweiter großer Aufgabenbereich galt es, zwischen XML Schema bzw. den XML-Daten und der Software eine Schnittstelle zu schaffen, welche es einfach ermöglicht, beide Welten zu verbinden und damit auch eine tatsächliche System-Schnittstelle zu entwickeln, die für die unterschiedlichen Einsatzbereiche (Web Service, Import/Export, Kommunikation zwischen Software-Schichten etc.) geeignet ist.

Die nachfolgenden beiden Abbildungen geben einen kurzen Eindruck in den Programmquelltext, mit dem der Zusammenhang (das Mapping) zwischen Klassendefinitionen und den Regeln in XML Schema, also dem Datenbestand, der von der Ontologie beschrieben wird, eingerichtet wird. Man kann deutlich die Zuordnungen von Klassen und ihren Eigenschaften zu Elementen von XML Schema erkennen. Dies musste aufgrund der Komplexität der Ontologie/des Datenmodells manuell durchgeführt werden, da die Standard-Serialisierung in XML zu einfach war und daher nicht zum Einsatz kommen konnte.

Ontologie, XML Schema und XML-Instanz

Wie schon zuvor erläutert, wurde ein Weg gesucht, die sehr komplexen Daten eines Fragebogens mit seinen zahlreichen Einstellungen sowie dann auch die Daten, Beziehungsregeln und Anzeigevorgaben sowie Validierungen zu speichern und zwischen den einzelnen Software-Bausteinen/Schichten zu übertragen. Auch hierzu wird das XML Schema verwendet, welches aus der beschriebenen Ontologie abgeleitet und dazu genutzt wurde, ein Objektmodell aufzubauen und mit der selbst definierten übertragungsstruktur zwischen den Bausteinen Datenbanken mit Tabellen- und Spaltenstruktur, der Anzeigesoftware für den Fragebogen, der Software für die Fragebogendefinition bzw. das Design desselben und schließlich der Umfragesteuerung zu kommunizieren. Zusätzlich kann es zum Einsatz kommen, wenn Import- und Exportformate definiert werden, andere Anwendungen per Web Services auf die Server-Software oder die Datenbank zugreifen wollen oder überhaupt ein maschinenlesbares Datenformat benötigt wird, in dem die Ergebnisse der Ontologie-Erstellung enthalten sind.