Projekt Bank


Sie bekommen von der Firmenleitung den Auftrag, für die Kunden der Firma Konten einzurichten.
Dem Kunden soll angeboten werden, daß er jederzeit Informationen, über seinen Kontostand erhält.
Er soll Überweisungen an andere Kunden tätigen können.
Dem Kunden soll ein Webinterface zur Tätigung seiner Geschäfte angeboten werden
( CGI mit dem firmeneigenen Webserver ).
Ihre spezielle Aufgabe ist die Realisierung der Kontenverwaltung.


Die Kundensicht

  1. Entscheiden Sie sich, ob Sie mit Textdateien oder mit einer realen Datenbank arbeiten.
  2. Überlegen Sie sich, welche Datensätze sie brauchen (Tabellen/DB-Struktur)
    Minimales Beispiel (unterstrichene Werte sind eindeutig),
    konten kunde pin tan
    kdnr kdnr kdnr ktonr
    ktonr kdname pin tan1 ...
    ktostd sess_id tan10
  1. Entwickeln Sie eine Startseite für den Kunden, auf der er sich mit Kontonummer und PIN anmeldet.
  2. Nach der Anmeldung bekommt der Kunde den aktuellen Kontostand und die Möglichkeit (Link), eine Überweisung zu tätigen.
  3. Entwickeln Sie ein Überweisungsformular, das den Betrag vom Kontostand des Absenders abzieht und dem
    Kontostand des Empfängers gutschreibt.
  4. Implementieren Sie erst dann den TAN-Mechanismus: Bei einer Überweisung muß eine Zahl angegeben werden,
    die den Absender identifizert, die sog. Transaktionsnummer (TAN).
    Zusatz : sorgen Sie dafür, daß eine TAN nur einmal verwendet werden kann.
  5. Sorgen Sie für eine verschlüsselte Datenübertragung per SSL
  6. Überdenken Sie den TAN-Mechanismus : Überlegen Sie, wie sie dem Kunden bei einer Anmeldung die zuletzt
    verwendete TAN mitteilen können.
  7. Welche Information(en) sind sicherheitskritisch und sollten auch serverseitig nicht im Klartext gespeichert werden ?

Die Administrationssicht

  1. Planen Sie für sich eine Webschnittstelle zur Pflege der Datenbank
  2. Ermöglichen Sie die Neuaufnahme von Kundendatensätzen
  3. Ermöglichen Sie die Änderung einer PIN

Der Weg ist das Ziel (Nicolai Hartmann)
Sie werden aus Zeitgründen voraussichtlich nicht alle Features realisieren können.
Setzen Sie sich also Zwischenziele (Meilensteine), die sie zunächst sauber lösen können.
Überlegen Sie sich genau, ob Sie die Daten in Dateien (kommaseparierte Tabellen) oder mit der
MySQL-Datenbank verwenden wollen. Ist für Sie die SQL-Logik einfacher als das rein Perlbasierte arbeiten ?
Verwalten Sie die MySQL-DB zunächst mit dem Webmin.

Keep cool and
Have a lot of fun