0% ont trouvé ce document utile (0 vote)
91 vues5 pages

Projet Python 2

Le projet consiste à développer un système de gestion bancaire en Python pour la Banque ABC, permettant de gérer les comptes de clients utilisateurs, clients entreprises et employés bancaires. Les groupes de trois étudiants doivent soumettre un fichier zip contenant le code et un rapport, avec des exigences strictes sur la soumission et la prévention du plagiat. Les fonctionnalités incluent la gestion des comptes, des transactions et des prêts, avec des contrôles de sécurité appropriés.

Transféré par

Achille Noel Aman
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
91 vues5 pages

Projet Python 2

Le projet consiste à développer un système de gestion bancaire en Python pour la Banque ABC, permettant de gérer les comptes de clients utilisateurs, clients entreprises et employés bancaires. Les groupes de trois étudiants doivent soumettre un fichier zip contenant le code et un rapport, avec des exigences strictes sur la soumission et la prévention du plagiat. Les fonctionnalités incluent la gestion des comptes, des transactions et des prêts, avec des contrôles de sécurité appropriés.

Transféré par

Achille Noel Aman
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation réseau Python

Projet Etudiant n°2


Dr. ATTA A. Ferdinand ([Link]@[Link])
Mars 2025

Instructions :
— Les auditeurs doivent former des groupes de 3 personnes dans le cadre de ce projet.
— Le plagiat est une infraction grave et ne sera pas toléré.
— Tout groupe d’auditeurs surpris à avoir copié du code de n’importe quelle source sans
réellement maı̂triser son contenu recevra une note de zéro pour le projet.
— Aucun projet ne sera accepté après la date limite.
— Soumettez fichier au format Zip (nomDefamille1 nomDeFamille2 [Link])
contenant un dossier banque et dossier morpion. Chaque dossier contient l’ensemble des
fichiers de code de la partie (du même nom que le dossier). Par ailleurs, un dossier
Rapport doit contenir un mini-rapport(portant le nom complet de chaque membre du
groupe) rédigé du projet.
TOUT FICHIER NE RESPECTANT PAS LE FORMAT DE SOUMISSION
NE SERA PAS PRIS EN COMPTE.

Objectif du projet :
L’objectif de ce devoir est de tester la compréhension et la maı̂trise des concepts liées à
l’interaction avec des BD en python, aux application client/serveur.

Description du projet :
Dans ce projet, vous devez développer un système de gestion bancaire qui peut aider la
Banque ABC à gérer efficacement les données de leurs clients. Le système doit être capable de
gérer les besoins des parties prenantes suivantes :
1. Client Utilisateur (User Client) : Un compte utilisateur ordinaire qui ne peut être
ouvert que par une personne.
2. Client Entreprise (Company Client) : Un compte multi-utilisateurs qui peut être
ouvert par le PDG d’une entreprise.
3. Employé Bancaire (Banking Employee) : Un employé de la banque qui pourra gérer
les comptes bancaires des Utilisateurs et des Entreprises.

Exigences du projet :
Il existe 3 types de comptes qu’un client peut ouvrir à la banque. Les informations sont
fournies dans le tableau ci-dessous :

1
Type de compte Limite quotidienne de retrait Restrictions de compte
Bronze 500 000 FCFA Client Utilisateur/Client Entreprise
Or 1 000 000 FCFA Client Utilisateur/Client Entreprise
Affaires 20 000 000 FCFA Client Entreprise

Il y a 3 types de transactions dans votre application bancaire :


— Dépôt
— Retrait
— Transfert vers un autre Client Utilisateur
— Se référer à la section 4 (autres exigences) pour une explication détaillée de ces types.

1. Client Utilisateur (User Client)


a. Un client utilisateur peut ouvrir un nouveau compte bancaire en fournissant les informations
suivantes :
i. Nom complet
ii. Adresse
iii. Téléphone
iv. CNIC (c-à-dire CNI ou passeport)
v. login
vi. Mot de passe
vii. Limite quotidienne estimée de retrait
Vous devez mettre en place des vérifications appropriées pour vérifier que les informations
ne sont pas frauduleuses. Une fois que l’employé bancaire approuve le compte, attribuez au
nouveau client un numéro de carte à 16 chiffres généré aléatoirement et invitez-le à entrer le
numéro PIN.
Vous devez également attribuer un type de compte approprié en fonction de la limite de
retrait journalière estimée du client.

Le format du fichier [Link] est : userid, username, user address, user cnic, user
id, user password, account balance (solde du compte)
b. Le client utilisateur doit pouvoir effectuer les opérations suivantes :
i. Il doit pouvoir déposer et retirer des fonds de son compte.
ii. Il doit pouvoir consulter le solde de son compte et l’historique de ses transactions.
iii. Ils doivent pouvoir transférer des fonds vers d’autres comptes au sein de la banque.
c. Veuillez noter que vous devez employer des contrôles appropriés ici, c’est-à-dire que l’uti-
lisateur ne peut pas retirer un montant supérieur à son solde ou que la limite maximale
quotidienne est atteinte.
d. Le solde du compte (account balance) sera de 0 pour un nouveau compte.

2
2. Client Entreprise (Company Client)
Le PDG d’une entreprise peut ouvrir un compte bancaire partagé au nom de son entreprise,
dont l’accès sera disponible pour tous les employés de cette entreprise. On suppose que tous les
employés de l’entreprise ont déjà un compte client utilisateur auprès de la banque, c’est-à-dire
qu’ils existent dans le fichier [Link].
a. Par conséquent, pour ouvrir, le Compte Client Entreprise, le PDG doit fournir :
i. Nom de l’entreprise (Company’s Name)
ii. Adresse de l’entreprise (Company’s Address)
iii. Numéro fiscal de l’entreprise (Company’s Tax Number)
iv. Limite quotidienne estimée de retrait (Estimated Daily Withdrawal Limit)
v. ID du compte (Account’s ID)
vi. Mot de passe du compte (Account’s Password)
Le format du fichier [Link] est : companyid, companyname, company address,
company tax number, company user id, company password, account balance

b. L’entreprise cliente peut prendre les mesures suivantes :


i. Il doit pouvoir déposer et retirer des fonds de leur compte.
ii. Il doit pouvoir consulter le solde de leur compte et l’historique des transactions.
iii. Il doit pouvoir transférer des fonds vers les comptes des seuls clients utilisateurs au sein
de la banque.
iv. Il doit pouvoir demander des prêts à la banque.
N’oubliez pas que plusieurs utilisateurs peuvent accéder à ce compte via leur ID utilisateur
de la banque, même s’ils font partie de l’entreprise. Par conséquent, vous devrez conserver les
données dans un autre fichier nommé companies [Link] qui contiendra les informations
suivantes :

Le format du fichier companies [Link] est : user client id, company id


— Ce fichier montre que les utilisateurs clients ayant les numéros d’identification 1, 5 et 6
sont des employés de l’entreprise ayant l’ID 1.
— De même, l’utilisateur client portant le numéro d’identification 7 est employé par l’en-
treprise 4.
— Si l’ID du client utilisateur n’existe pas dans ce fichier, cela signifie que l’utilisateur n’est
employé d’aucune entreprise.
— Pour donner le choix à l’utilisateur, vous pouvez lui demander à quel compte il souhaite
accéder, celui de l’entreprise ou son compte personnel.

3
3. Employé Bancaire
L’employé bancaire peut simplement se connecter au système en utilisant son nom d’utili-
sateur et son mot de passe qui sont stockés dans le fichier nommé [Link] et peut effectuer
les opérations suivantes :
i. Consulter la liste de tous les comptes clients
ii. Approuver ou rejeter les nouvelles demandes de compte
iii. Approuver ou rejeter les demandes de prêt des entreprises
iv. Consulter l’historique des transactions pour un compte spécifique
v. Geler ou fermer un compte si nécessaire

4. Autres exigences
Vous devez également conserver une liste des transactions des clients dans un fichier séparé
appelé [Link], puis vous pouvez employer des techniques de recherche sur les fichiers
basées sur l’identifiant de l’utilisateur. Le format du fichier [Link] est : transaction
date, Client User ID, Amount, Type of Transaction

En cas de transfert, le numéro suivant sera l’identifiant de l’utilisateur auquel l’argent a été
transféré.
Vous devez également conserver les cartes de crédit des clients de la banque dans un dos-
sier séparé et les afficher chaque fois que des informations sont requises. Les cartes ne seront
attribuées à l’utilisateur qu’une fois que son nouveau compte aura été approuvé par l’employé
de banque. Le fichier s’appelle [Link] et le format du fichier est le suivant :

Le format du fichier [Link] est : Client User ID, Card Number, Card PIN
Toute transaction du client utilisateur nécessite le code PIN de la carte qu’il utilise. Notez
qu’un même utilisateur peut avoir plusieurs cartes. Vous pouvez proposer à l’utilisateur, lors
de la transaction, de choisir la carte qu’il souhaite utiliser et l’inviter à saisir son code PIN.
Si la saisie du code PIN est réussie, la transaction doit être effectuée, sinon un message de
refus doit être envoyé. Après trois refus, le compte doit être considéré comme frauduleux et un
rapport doit être envoyé à l’employé de banque, qui peut à son tour considérer la carte comme
frauduleuse et bloquer le compte.
Vous pouvez utiliser le diagramme de classes (voir page suivante) pour vous aider à réaliser
ce travail.
Il n’est pas obligatoire de suivre ce diagramme de classes, mais il illustre
la manière dont vous devez utiliser les concepts d’agrégation, de composition,
d’héritage et de polymorphisme dans cette question.

4
Consignes du Projet
— Créer une base de données en accord avec les exigences du projet ;
— Utiliser PyQt pour les interfaces utilisateur ;
— Utiliser une architecture 3-tiers (l’interface graphique sur un hôte, la logique metier sur
un hôte et la base de données sur un hôte)

BONNE CHANCE ! ! !

Vous aimerez peut-être aussi