Sie sind auf Seite 1von 3

Application Kata

Bankberweisng
Mit der Anwendung soll ein Bankkunde eine berweisung von einem Konto bei seiner Hausbank auf ein Konto derselben Bank oder einer anderen Bank vornehmen knnen. Pro Aufruf der Anwendung kann eine berweisung gettigt werden. Angaben je berweisung: Empfngerkonto: o Name o Kontonummer o BLZ berweisungsbetrag berweisungstext Senderkonto: 1 o Name o Kontonummer TAN Die Sammlung dieser Daten erfolgt in mehreren Phasen: 1. Senderkonto erfassen: Nach Programmstart werden zuerst Name und Kontonummer des Senders (berweisender) erfragt. Nur bei korrekter Angabe geht es weiter. 2. berweisungsbetrag und -text erfragen: Nur wenn das Senderkonto durch den berweisungsbetrag nicht berzogen wird und der berweisungsbetrag nicht ber dem Limit liegt, geht es weiter. 3. Empfngerkonto erfragen: Nach Eingabe des Empfngerkontos wird auch der zur BLZ gehrende Bankname angezeigt. Nur bei gltiger BLZ geht es weiter. 4. Der berweisende prft alle Angaben und fordert mit der Besttigung die bersendung einer TAN auf sein Handy an.2 5. TAN erfragen: Nach Eingabe der TAN wird schlielich die berweisung vorgenommen, wenn die TAN zum berweisungsauftrag passt. Der Anwendung liegen einige Datenbanken zugrunde:3 Kontenliste(Name, Kontonummer, Kontostand, berweisungslimit, HandyNr) Bankenverzeichnis(BLZ, Bankname) berweisungsjournal(Kontonummer, berweisungsbetrag, berweisungstext, berweisungsdatum, Empfngername, Empfngerkontonummer, EmpfngerBLZ) berweisungsauftrge(EmpfngerBLZ, Empfngerkontonummer, Empfnger, berweisungsbetrag, berweisungstext, berweisungsdatum, SenderBLZ, Senderkontonummer, Sendername)

Die BLZ des Senders ist in der Anwendung fest verdrahtet, da die Anwendung von einer konkreten Bank ausgegeben wird. 2 Eine TAN hat nur eine begrenzte Gltigkeitsdauer, z.B. 5 Minuten. Fr den Zweck der bung kann die TAN auch per Email versendet werden. 3 Fr den Zweck der bung knnen die Datenbanken ganz einfach implementiert werden, z.B. als CSV-Dateien.

Kontenliste, berweisungsjournal und Bankenverzeichnis simulieren bankeigene Datenbanken. berweisungsauftrge hingegen simuliert eine Warteschlange von Nachrichten, die an andere Banken oder Clearingstellen verschickt werden. Ausgefhrt wird eine berweisung durch Eintrag in das berweisungsjournal, Aktualisierung des Senderkontostandes und Erzeugung eines berweisungsauftrags an die Empfngerbank. Es wird nicht geprft, ob die Empfngerbank der Senderbank entspricht. Die Zubuchung des berweisungsbetrags beim Empfnger ist also nicht Teil der Anwendung. Der Grund: Eine Zubuchung geschieht ohnehin bei einer anderen Bank oder falls nicht, soll das Geld nicht verzugsfrei beim Empfnger auftauchen, da dann die Bank keinen Zinsvorteil fr sich verbuchen kann In jedem Fall ist die Weiterverarbeitung der berweisungsauftrge eine Sache fr eine andere Anwendung.

UI Skizze
Fr eine erste Iteration gengt es, dem Anwender eine Konsolenbenutzerschnittstelle anzubieten. Hier das Skript einer Sitzung mit erfolgreicher berweisung. Die mit // eingeleiteten Zeilen sind Kommentare, erscheinen also nicht im Konsolenfenster. Benutzereingaben sind grau unterlegt:
// Programmstart von der Kommandozeile (abhngig von Implementierungsplattform) $ berweisen // Phase 1 berweisung beauftragen (Hamburger Sparkasse, BLZ 20050550)4 Ihr Name: Peter Mustermann Ihre Kontonummer: 12349876 // Phase 2 berweisungsbetrag: 42,24 berweisungstext: Testberweisung // Phase 3 Empfnger... Name: Maria Musterfrau Kontonummer: 98761234 BLZ: 85050300 Sparkasse Dresden // Phase 4 Sind diese Angaben korrekt [jN]: j Eine TAN wird an Ihr Handy mit der Nummer 0170-3299823 geschickt... // Phase 5 Bitte TAN eingeben: 538923 berweisung ausgefhrt: 5.10.2012 17:02 // Programmende $

Falls eine Phase nicht erfolgreich abgeschlossen werden kann, bricht das Programm die Ausfhrung mit einer Fehlermeldung ab. Als Beispiel eine Unterdeckung des Kontos:

Die BLZ der Bank, die die Anwendung ausgegeben hat, ist im Programm fest verdrahtet (oder steht in einer Config-Datei). Der Bankname hingegen sollte natrlich aus dem Bankenverzeichnis geladen werden.

$ berweisen berweisung beauftragen (Hamburger Sparkasse, BLZ 20050550) Ihr Name: Peter Mustermann Ihre Kontonummer: 12349876 berweisungsbetrag: 4224 berweisungstext: Testberweisung zweiter Versuch *** Leider weist Ihr Konto nicht gengend Deckung fr den berweisungsbetrag von 4224,00 auf. $

Eine Einfrbung der Fehlermeldung ist wnschenswert. Soll eine berweisung nicht durchgefhrt werden, kann der Benutzer das Programm jederzeit abbrechen.