mardi 6 novembre 2007

TP: Application bancaire simplifiée

L'exemple est tiré de Netbeans: UMLBankAppSample

Spécifications:

L'application permet de créer banques, des clients et des comptes bancaires.
Les comptes sont de trois types:

  • Checking: compte courant
  • Saving: compte épargne
  • Platinum: compte de type carte de paiement
Tous les types de comptes ont les attributs suivants:

double balance; // le solde
String accountNumber; Le numéro de compte
double interestRate; //un taux d'intérêt

En outre ils possèdent un historique et ils sont liés à un client:

History history;
Customer customer;
  • Le client possède plusieurs comptes et possède les attributs suivants:
int id;
String name;
String forName;
String address;
String zipCode;
  • Le compte Checking est soumis à une pénalité en cas de découvert:
double overdraftPenalty = 25.00;
  • Le Platinum possède une autorisation maxi et une réserve d'argent qui diminue en cas de retrait si le solde n'est pas suffisant.
static final double overdraftLimit = 2500.00;
double availableFunds;
  • Le compte Saving rapporte des intérêts quand le solde est positif.
  • La classe History possède un seul attribut qui compte les opérations:
int transaction;


Créer un cas de test:



Créer un modèle de classes du domaine à base de simples javabeans (la persistence sera implémentée ultérieurement)

A l'exécution du test , on obtient:

-----Creating customers-----
-----Creating accounts-----
Account created: Checking Account: Number: 1234
Balance: 150.0 history is empty
Account created: Saving Account: Number: 12399
Balance: 100.0
Account created: Checking Account: Number: 9234
Balance: 1501.0 history is empty
Account created: Saving Account: Number: 92399
Balance: 1000.0
-----writings-----
1 Jean Dupont Saving Account: 12399 deposit 700.0
1 Jean Dupont Checking Account: 1234 deposit 360.0
1 Jean Dupont Checking Account: 1234 deposit 10.0
1 Jean Dupont Checking Account: 1234 deposit 20.0
1 Jean Dupont Checking Account: 1234 withdraw 10.0
1 Jean Dupont Checking Account: 1234 withdraw 20.0
1 Jean Dupont Checking Account: 1234 withdraw 60.0
2 Amélie Poulain Checking Account: 9234 deposit 10.0
2 Amélie Poulain Checking Account: 9234 withdraw 10660.0
2 Amélie Poulain Checking Account: 9234 noAvailableFunds
-----Bank Application balances-----
1 Jean Dupont
Checking Account: Number: 1234
Balance: 450.0 Transaction count is 3
Saving Account: Number: 12399
Balance: 800.0
------------
2 Amélie Poulain
Checking Account: Number: 9234
Balance: 1511.0 history is empty
Saving Account: Number: 92399
Balance: 1000.0
------------

Intégrer l'application dans une application web, au moyen d'un backing bean.

Créer les pages permettant de naviguer dans l'application, de créer, de supprimer, modifier des banques, des clients, des comptes, et d'effectuer des opérations.
Vérifier la non régression des règles de gestion.

Pour chaque entité, il faut prévoir une vue en liste basée sur une DataTable, et une vue d'édition basée sur un formulaire, voir tp jee-jsf et guide de référence
le modèle ici.
le corrigé v1 ici.

0 commentaires: