Universität Bielefeld - Fakultät für Wirtschaftswissenschaften - Lehrstuhl für Angewandte Informatik

BI-Projekt PHP und Datenbanken III (WS 2002/2003)
 
Einarbeitungsaufgaben Große Übungsaufgabe Abschlussaufgaben Abschlussdokumentation Links


Veranstalter:

Dipl. Kfm Arne-Christian Sigge
Prof. Dr.-Ing. Thorsten Spitta

Ort, Zeit und Termine:

MO, 10-12, W9-109
MO, 14-16, FR 12-14 in V0-133

Beginn ist der 21.10.2002. Es besteht Anwesenheitspflicht.

Bei den Terminen am MO und FR handelt es sich um Rechnerzeit in VO-133. In dieser Zeit haben Studenten dieses Projektes ein Vorrecht auf die Rechner in V0-133.
Es stehen auch 6 Rechner in U9-151 und ein Rechner in V9-151 zur Verfügung.

Ort, Zeit und Termine:

Achtung: Neuer Server. Aus NICK wird MASON. Bitte Mail beachten.

Thema:

Die Anmeldung zu diesem Projekt läuft über eine PHP-Anwendung, die auf den Arbeiten meines letzten BI - Projektes im SS 2002 basiert. Ziel in diesem Projekt ist es wieder eine Web-Anwendung zu erstellen, die einen Zugriff auf die Datenbank mit der Skriptsprache PHP realisiert. In diesem Semester kommt zusätzlich auch die (Vor-)verarbeitung von Daten durch andere Skriptsprachen wie z.B. AWK hinzu.

Ablauf:

  1. Einführung in HTML, PHP, SQL und LaTeX
  2. Übungsaufgaben und Referate
  3. Eigenständige Arbeit an den Projektaufgaben.
Die Einführungsphase wird kurz aber heftig. Eine eigenständige Einarbeitung in HTML, ein wenig PHP und die Aufarbeitung der Kentnisse aus Grundlagen BI über Datenmodellierung und SQL werden dringend empfohlen! Übungsaufgaben und kleiner Referate sollen das Erlernte praktisch umsetzen und Defizite aufzeigen. Basierend auf dieser Grundlage kann die eigentliche Projektarbeit begonnen werden. Sie beginnt in diesem Semester bereits im laufenden Semster. Die Programmierarbeiten sollen VOR der Klausurphase abgeschlossen sein. Die Dokumentation soll bis kurz nach der Klausurphase vorliegen. Die Dokumentation wird in LaTeX erstellt (s.u.). Eine korrekte Abgabe umfaßt ein in unserer Arbeitsumgebung fehlerfrei teXbares Dokument und einen Ausdruck auf Papier. Mit Umlauten und Grafiken sind nach Projektvorgaben zu behandeln.

Voraussetzungen:

  • Grundlagen BI
  • Vordiplom
  • Software Engineering, Info-Management, Algorithmen und Datenstrukturen oder Simulation
Einarbeitungsphase 

Kleine Übungsaufgaben zur Einführung in PHP, SQl und HTML:

  1. Taschenrechner: Zwei Eingabefelder für Werte und Schaltflächen für Operatoren (+,-,*,/). Nach Click auf die Schaltfläche wird das Ergebnis auf einer 2. Seite ausgegeben.
  2. Funktion Tabelle(x,y): Erzeigt eine HTML-Tabelle der (variablen) Dimension X,Y mit leeren Feldern.
  3. Dateizugriff: Schreiben und Lesen in/aus eine(r) Textdatei über PHP
  4. Datenbakzugriff (ODBC): Greift auf eine Datenbank (biprojekt) zu (Zugriffsdaten im Projekt) und gibt das Resultat der SQL Abfrage "Select nachname from Student where mtknr < 1000000" aus.
  5. Funktion ZeigeSQL(string): Erzeugt eine Tabelle, die das Resultat der übergebenen SQL-Abfrage ausgibt (vorzugsweise natürlich Select). Spalten und Zeilenzahl werden dabei zur Laufzeit ermittelt.
  6. Speichern in Datenbank: Aus einer Drop-Down-Liste wird ein Name Ausgewählt. Die zugehörige Matrikelnummer wir in der Datenbanktabelle Anmeldung zusammen mit der Prüfungsnummer 1401 gespeichert Die Tabelle heißt Anmeldung und enthält die Felder mtknr und pnr
  7. Eine PHP Seite mit 2 Frames. Ein Steuerframe und ein Anzeigeframe. Im Steuerframe soll mit einer Drop-Down-Box ein Studentenname (Anzeige des Namens, Auswahl der Mtknr) und ein Sortierkriterium (Note, Datum, Veranstaltungsname) auswählbar sein. Im Anzeigeframe werden dann die Noten, Veranstaltungsname, und Prüfungsdatum aus der Tabelle Leistungen (id, mtknr, VeranstName, Note, pdatum) angezeigt.
  8. FKT nextPK(Tabelle, Spalte): ermittelt für die Tabelle mit der Spalte als Primärschlüssel den Maximalen Wert und errechnet daraus den nächsten Wert eines Primärschlüssels.
  9. Eine PHP Seite mit 2 Frames. Ein Steuerframe und ein Anzeigeframe. Im Steuerframe soll mit einer Drop-Down-Box ein Studentenname (Anzeige des Nachnamens +VorNamens, Auswahl der Mtknr) und eine Prüfung auswählbar sein. Der Student wird zu der ausgewählten Prüfung angemeldet (Einfügen in die Tabelle Anmeldung (id, mtknr, Veranstaltungsname)). Alle bestehenden Anmeldungen werden im Anzeigeframe angezeigt. Die ID ist der fortlaufende Primärschlüssel, der mit der vorhergehenden Fkt. gefüllt werden soll.
  10. Erweiterung der letzten Aufgabe. Zusätzlich zur Anzeige der Prüfungen soll es eine Möglichkeit geben, einzelne Anmeldungen durch Löschen zu stornieren.
  11. Erweiterung zu 7 und 8: Die Drop Down Box mit Studentennamen und Matrikelnummern als Werten soll beim Aufbau der Seite durch eine Datenbankabfrage erstellt werden. Es sollen alle derzeit in der Datenbank vorhandenen Studenten auswälbar sein.
  12. Neu Anlegen eines Studenten. Eine Eingabemaske für die Stammdatentabelle Student Folgende Felder sind zu füllen:
    • mtknr: integer (PK)
    • Vorname: Varchar(40)
    • Nachname: Varchar(40)
    • stg: ('BWL', 'VWL', 'WiMa')
    • GebDat: Date

    Es sollen natürlich nur gültige Werte erfassbar sein (d.h. es müssen in einigen Fällen Drop-Down-Boxen verwendet werden). Die MTKNR muss automatisch vergeben werden (Fkt. NextPK!)
  13. Fkt CheckDatum (datum: Date) TRUE/FALSE, die in der Eingabefkt benutzt werden kann. Eine entsprechende Fkt. sollte aus dem Einf. Informatik und Pascal Unterlagen bekannt sein.
  14. Bearbeiten von Studentendaten. Eine Abwandelung der vorletzten Aufgabe.
  15. Datenmodellierung: Aufgabe 4 aus der Klausur zum 2. Termin
Große Übungsaufgabe 

Es soll eine Meta-Anwendung erstellt werden, die andere Anwendungen geniert. Es sollen Bewertungsumfragen für Vorlesungen erzeugt und verwaltet werden.

Termin: Das Vorprojekt soll noch VOR den Weihnachtsferien abgeschlossen sein. Bis zum 9.12.02 sollten erste Programmierversuche gestartet worden sein, über die in der Sitzung von 10-12 gesprochen wird.

ERM der Projektdatenbank

Folgende Antworttypen sind einzuplanen (in k_frageart bereits eingetragen)

Typ Bezeichnung Feldtyp
NOTEN Noten integer
AUSWE Auswahl eindeutig integer
AUSWD Auswahl Dropdown integer
AUSWM Auswahl mehrdeutig char(40)
TXT Textfeld text
ZAHLI Zahlenwert Integer integer
ZAHLR Zahlenwert real float

Alle Tabelleninhalte anzeigen

Die Access Version der Datenbank mit Testdaten

Teilaufgaben

  1. Menü und Gesamtsteuerung
  2. Generieren Tabellen
  3. Generieren HTML- und PHP-Dateien
  4. Füllen der Tabelle "Fragen"
  5. Füllen der Tabelle "Antworten"
  6. Auswertung mit jpgraph

Hinweise

  • Generieren: Wer etwas generiert (Tabelle, HTML-, PHP-Datei) muss prüfen, ob eine entsprechende alte Version schon besteht und diese ggf. löschen.
  • Defaultwerte: Es gibt immer die Defaultantwort "Keine Angabe" mit dem Wert 0. Wertebereiche bei Noten daher 1 - x.
  • Auswertung: Neben den Grafiken soll der Text (die Kommentare) ausgegeben werden. Ein Zeilenumbruch \n hilft merkwürdige Effekte im Browser zu vermeiden.
  • Löschen: Es much auch die Möglichkeit geben beim Anlegen der Fragen und Antworten Einträge zu löschen.
  • Beim Hinzufügen einer Frage/Antwort sollen die bisherigen Eingaben sichtbar sein. Ein Button zum Löschen der einzelnen Einträge muss vorhanden sein.
  • Es sollen IP und Datum/Zeit der Usereingaben mit abgespeichert werden.
  • Antworten mit mehrfacher Antwortmöglichkeit werden als String (z.B.: "2;4;5;7") abgespeichert.
  • Arbeitsverzeichnis: ws0203\bewertung
  • Die Datei funktionen.php dient zur Einbindung gemeinsam genutzter Funktionen. Die wichtigsten: $con=initdb(); und closedb($con);
  • Für das Füllen der Tabelle Bewertung existiert eine Vorlage.
Abschlussaufgaben 

1. Veranstaltungsbewertung:

2. Menüsteuerung + Freiversuche

3. Klausuranmeldung:

4. Leistungsnachweis:

5. Noteneingabe und Testdaten:

6. Umbuchung:

ERM der SOSPOS-Datenbank (Ausschnitt)

Access Testdatenbank mit Beispieldaten

EPS des ERMs

Tabellenfelder

Felder

  • PART: VS - Vorlesung, PJ - Projekt, XS - Seminar, FN - Fach
  • STG: '021' BWL
  • PVERMERK: DPO - 5 wegen nicht angetreten, A - Attest, TV - Täuschungsversuch
  • FREIVERM: FNB - Freiversuch bei Nichtbestehen, FVB - Freiversuch zur Notenverbesserung
  • PANERK: J - anerkannt, N - nicht anerkannt
  • PSTATUS: AN - angemeldt, BE - bestanden, NB - nicht bestanden, EN - final nicht bestanden (kein Versuch mehr)
  • PTERMIN: '01' und '02'
  • PSEM: 20021 = SS 2002; 20022 WS 2002/2003
  • ARTZUORD: F1

7. Webseitenverwaltung:

Abschlussdokumentation: 

Allgemeines
"Was sollen wir denn so schreiben?" ist eine vielgehörte Frage. Darauf kann ich allgemein antworten: Die Projektarbeit sollte:
  • aufzeigen, wie die Autoren das Problem sehen,
  • beschreiben und begründen wie und warum so sie das Problem lösen wollen,
  • schrittweise verfeinernd (!!!) die Lösung darstellen,
  • schrittweise erweiternd von einer Ausgangslösung Erweiterungen einführen,
  • das Prinzip der Lösung immer mehr gewichten als eine feingranulare Syntaxbeschreibung,
  • das Problem auf verschiedenen Abstraktionsebenen betrachten und dabei nie den Problembezug verlieren,
  • wissenschaftliche Arbeitsweisen und die Darstellungsmethoden aus Grundlagen BI und den Vertiefungsveranstaltungen verwenden,
  • keine Einführung in eine Sprache oder ein Tool geben, wenn dies nicht explizit gewünscht ist (ich möchte nicht 7x "PHP ist...." lesen) und
  • pro Autor mindestens 12-15 Seiten umfassen (ohne Quellcode und Grafiken).
  • Sich genau an die Anweisung der LaTeX Anleitungen halten. Dokumente, die sich nicht fehlerfrei teXen lassen führen zu negativen Bewertungen und machen sich in der Endnote bemerkbar.

Prüfungsbedingungen:

  1. Regelmäßige Teilnahme und qualifizierte Mitarbeit
  2. Mehrmaliges Vortragen von (Zwischen-)Ergebnissen
  3. Termingerechte Abgabe des Berichtes über das Arbeitsergebnis der Untergruppe in der verabredeten Form und Qualität
  4. Abschlußgespräch

Projektdokumentation in LaTeX:

Die abschließende Projektdokumentation, alle Protokolle und sonstigen Dokumente werden in LaTeX erstellt. Ein "Ich mach das erst mal in Word und schreibe es dann später um" - Vorgehen wird in diesem Semester nicht mehr akzeptiert! Es wird TeX-Neulingen daher dringend empfohlen, sich vor dem BI-Projekt mit LaTeX und ggf. einer MiKTeX Installation auf dem heimischen Rechner zu befassen. Eine Installations-CD kann im Sekretariat V9-138 ausgeliehen werden. Links zu Einführenden Dokumentationen und Installationshilfen befinden sich auf dieser Seite und auf der CD. Projektteilnehmer können in den Poolräumen des HRZ MikTeX nutzen.
Eine Einführung in die MikTeX Installation und LaTeX im Allgemeinen ist als PDF-Dokument (ca. 380kb) verfügbar. Konventionen zur Verwendung von LaTeX in BI-Projekten sind als eigenes PDF-Dokument erhältlich. Ein Grundgerüst der LaTeX-Umbegung kann man sich als ZIP-File herunterladen (60kb). Bitten den enthaltenen Text zur Projektanleitung lesen! Entpacken MIT der Verzeichnisstruktur.
Links und Downloads 


BI-Projekt SS 2002
www.php.net
www.selfphp3.de
Selfhtml Kurs von Stefan Münz
SQL
JP Graph Homepage
JP Graph Manual
JP Graph Refernce
JP Graph Examples
Apache Webserver
MikTeX
LaTeX Installationsanleitung (PDF-Dokument, ca. 380kb)
LaTeX Anleitung (PDF-Dokument, ca. 960kb, engl.)
FTP Zugriff auf Projektrechner
Searching the web



A. Sigge,