Inhaltsverzeichnis   Programmierhandbuch


Problemanalyse und Realisation

Problemanalyse

Die Problemstellung lautet die in einer SQL-Server Datenbank gespeicherten Daten zu den Veranstaltungen der Fh-Wedel im WWW darzustellen. Die Informationen, welche im WWW dargestellt werden sollen, umfassen auch Daten zur neuen ECTS-Norm. Diese Norm soll es ausländischen Studenten erleichtern die Veranstaltungen verschiedener Fachhochschulen miteinander zu Vergleichen. Die hierfür benötigten Daten sind zur Zeit noch nicht in der Datenbank vorhanden und müssen in das Datenmodell integriert werden. Bei der Analyse des Datenmodells ist aufgefallen, das zur Zeit noch keine Unterstützung von mehreren Sprachen vorgesehen ist.



Die Veranstaltungen welche im WWW dargestellt werden sollen umfassen alle in den für die einzelnen Studienrichtungen jeweils aktuellen Studienordnungen vorhandenen Veranstaltungen, inklusive Übungen und Praktika. Die Informationen welche für die einzelne Veranstaltung dargestellt werden sollen sind im folgenden kurz aufgeführt:

Merkmal Beschreibung Beispiel
prüfungsordnung Angabe in welchen Prüfungsordnungen diese Veranstaltung enthalten ist und im welches Semester sie gehalten wird WI 5, DI 2, ...
semester Angabe, ob die Veranstaltung im Sommersemester oder im Wintersemester stattfindet. SS, WS
sws Anzahl der Semesterwochenstunden dieser Vorlesung 2
StundenVorlesung Zeitbedarf der Veranstaltungen während des Semesters in Zeitstunden 30
StundenPruefung Zeitbedarf für Prüfungsvorbereitungen und Prüfungen 15 min
credits Arbeitsaufwand eines Studierenden, der mit der jeweiligen Veranstaltung verbunden ist gemäß ECTS 4
assessment zu erbringender Nachweis am Ende des Semesters Klausur, Test, Nachweis, teilgenommen, ...
mitarbeiter Titel, Vorname und Nachname des Mitarbeiters, der die Veranstaltung hält Prof. Dr. U. Schmitt
bezeichnung Name der Veranstaltung Produktionswirtschaft
kategorie Kategorie der Veranstaltung Management
unterkategorie Unterkategorie der Veranstaltung  
beschreibung Beschreibung der Veranstaltung Ziel dieser Veranstaltung ist es, die Grundlagen ...
kommentar Kommentar zur Veranstaltung Klausur in jedem Semester zusammen mit Marketing
referenz Literatur (mind. zwei Titel in Englisch) Dilworth, James B.; Operations Management; 1996; McGraw-Hill; 0-07-017021-5

Die Daten sollen bevor sie im WWW dargestellt werden in eine XML Datei gespeichert werden, die einen Plattformunabhängigen Datenaustausch erlaubt. Zu diesem Zweck muß vorher eine DTD erstellt werden, die die Struktur der XML Datei beschreibt.

Gemäß Aufgabenstellung soll nun ein Programm A die Daten aus der SQL-Server Datenbank auslesen und diese in einem XML-Dokument gemäß der entwickelten DTD bereitstellen.
Ein Programm B parst dann die XML Datei und generiert daraus HTML Seiten, welche im WWW angezeigt werden können.

Programm B

Bei Programm B ergeben sich folgende Fragestellungen:

  1. Wie greife ich auf die XML-Datei zu und extrahiere die relevanten Daten ?
  2. Nach welchen Kriterien soll der Benutzer die Menge aller Vorlesungen einschränken können ?
Fragestellung 1
Es gibt mehrere Möglichkeiten auf die Menge aller Vorlesungen zuzugreifen

Variante 1: Variante 2: Variante 3:
Fragestellung 2
  1. Es werden allen dargestellten Felder der Vorlage dem Benutzer als Selektionskriterien zur Verfügung gestellt.

    Titel, Kategorie, Unterkategorie, Pruefungsordnung, ECTS-Credits,
    Semester, SWS, Mitarbeiter, Assessment, StundenVorlesung,
    StundenPruefung, Beschreibung, Referenz, Kommentar

    - zu komplex
    - einige Kriterien sinnlos

  2. Es werden nur "sinnvolle" Kriterien angeboten.
    Titel, Kategorie, Unterkategorie, Pruefungsordnung,
    Semester, Mitarbeiter, Assessment, Hoererstatus

Realisation

Aufgrund der in der Analyse gewonnenen Informationen muß die bestehende Datenbank erweitert werden. Die genauen Änderungen können unter dem Punkt Datenstrukturen eingesehen werden.

Als nächstes wurde die DTD aufgestellt. Die Definition befindet sich ebenfalls im Punkt Datenstrukturen.

Es folgt nun eine kurze Beschreibung des ersten Programms, welche das XML Dokument erstellt. Das Programm wurde als Perlskript geschrieben und greift mittels ODBC auf die Datenbank zu. Unter dem Punkt Partnerveranstaltung wird einmal die direkte Zuordnung aus der Tabelle Veranstaltung und zum anderen die Veranstaltungen die zum gleichen Schein gehören zusammengefaßt. Das Programm konvertiert alle Sonderzeichen in eine XML konforme Schreibeweise, z.B. wird aus & gleich &.

Programm B
Für den zweiten Aufgabenteil wurde die Skriptsprache TCL gewählt. Das Parsen des XML-Dokuments erfolgt mittels TclXML, einem in TCL geschriebenen XML-Parser.

Tests haben ergeben, daß das Parsen eines XML-Dokuments mit 200 Einträgen zu lange dauert. Das XML-Dokument wird deshalb nur bei deren Generierung durchgeparst. Dabei werden aus dem XML-Dokument sämtliche Informationen gelesen und in Tcl-Listen und assoziative Arrays abgespeichert. Die gefüllten Listen und Arrays - im folgenden Indexstrukturen genannt - werden nach dem Parsevorgang auf der Festplatte abgespeichert. Stellt der Benutzer nun eine Anfrage, wird ein CGI-Skript aktiviert, das die gesicherten Indexstrukturen einliest und die Anfrage ohne Zugriff auf das XML-Dokument bearbeitet. Die Definition der Indexstrukturen sind im Abschnitt "Datenstrukturen" zu finden.

Die Menge aller Vorlesungen kann der Benutzer durch die Kriterien Titel, Kategorie, Unterkategorie, Pruefungsordnung, Semester, Mitarbeiter, Assessment, Hoererstatus einschränken. Zu jedem Selektionskriterium existiert eine Indexstruktur.

Die Seiten zur Einschränkung der Vorlesungen und die der Anzeige einer einzelnen Veranstaltung werden dynamisch aus den Indexstrukturen erzeugt.

Beim Erzeugen der Indexstrukturen wird eine HTML-Einstiegsseite erzeugt, auf der sich ein Link befindet, der eine Seitenanforderung an das CGI-Skript sendet.

Das CGI-Skript, das von einem Web-Server verwaltet wird, wird durch folgende URL aufgerufen:
http : / / 127.0.0.1 / cgi-bin / .. / search-cgi ? seite=0 & language=DE & titel=alle & kategorie=alle & unterkategorie=alle & pruefungsordnung=alle & semester=alle & mitarbeiter=alle & assessment=alle & hoererstatus=ss
Die durch das kaufmännische Und & getrennten Ausdrücke enthalten die Selektionseinschränkungen. Die URL-Anfrage muß erweitert werden, wenn das System um weitere Kriterien ergänzt werden soll.

Bestandteile:
seite=0 Nummer der angeforderten HTML-Seite, die dynamisch erzeugt werden soll
language=DE ausgewählte Sprache, in der die HTML-Seite angezeigt werden soll
titel=alle Der Wert alle bewirkt, daß nur die Titel aufgelistet werden. Ansonsten werden die Vorlesungen, die den Selektionskriterien entsprechen, detailliert angezeigt.
kategorie=alle ausgewählte Kategorie
unterkategorie=alle ausgewählte Unterkategorie
pruefungsordnung=alle ausgewählte Prüfungsordnung
semester=alle ausgewählte Semester, in der die Vorlesung gelesen wird
(SS Sommersemester; WS Wintersemester)
mitarbeiter=alle ausgewählter Mitarbeiter, der die Vorlesungen betreut
assessment=alle ausgewählte Prüfungsleistung
hoererstatus=ss Angabe, ob der Benutzer im Sommer- oder Wintersemester, das Studium begonnen hat

Das Schlüsselwort alle zeigt an, das keine Einschränkung vorgenommen worden ist.

Die Indexstrukturen sind im System als globale Variablen definiert.

Der Quellcode des Tcl-Skripts ist in 7 Dateien definiert:
  • header.tcl
  • part.tcl
  • parse_xml.tcl
  • search.cgi
  • access.tcl
  • htmlSites.tcl
  • toolbox.tcl

    weiter: Beschreibung grundlegender Datenstrukturen
    zurück: Entwicklungskonfiguration
     

      Inhaltsverzeichnis   Programmierhandbuch