Vous êtes sur la page 1sur 3

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

Paix-Travail-Patrie Peace-Work-Fatherland
--------- ---------
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR MINISTRY OF HIGHER EDUCATION
- - - - -- - - - - - - - - -- - - - -
COMMISSION NATIONALE D’ORGANISATION DES NATIONAL COMMITTEE FOR THE ORGANISATION OF
EXAMENS NATIONAUX NATIONAL EXAMINATIONS
- - - - - -- - - - - - - - - -- - - -

Spécialité /option : Gestion des systèmes d’informations


Epreuve : Epreuve pratique de développement
Durée : 4 heures

L’épreuve aura lieu en salle machine. Les machines devront disposer des outils ci-dessous :
 Un AGL Power Designer/Power Amc/DB Main/ Windesign
 Le SGBDR MYSQL
 Un outil d’administration pour MYSQL (SQLYOG/PHPMYADMIN /HeidiSQL)
 ECLIPSE/NETBEANS
 Visual Studio
 Les drivers (JAVA et .NET) d’accès aux bases de données MYSQL
 Il est conseillé de traiter la section 3 de la partie 2 juste après la section 1 de la partie 1
 Les langages autorisées pour la programmation sont JAVA ,VB.NET et C#

Problème :
On souhaite mettre sur pied un mini système de gestion bancaire. Le système doit permettre de
prendre en compte :

 Les ouvertures et fermeture de compte


 Les opérations classiques (Versement, Retrait, Virement)
Les règles de gestion sont les suivantes :
 Un client est caractérisé par un code, un nom, une adresse.
 Un client peut avoir plusieurs Comptes (numéro, intitulé, statut, solde) et un compte appartient
a un seul Client.
 Sur un compte, on peut avoir plusieurs opérations. Chaque opération a un numero, un motif et
un montant. Il existe trois type d’opérations :
o Les versements et Retraits mettent en jeu un seul Compte.
o Les Virements mettent en jeu deux Comptes(Emetteur et destinataires).

PARTIE I : Ecrite 20 pts

Section 1 : analyse et conception 10 pts


En vous appuyant sur le texte ci-dessus, Etablir le diagramme de classe ou le MCD et proposer le
schéma de la base de données
Section 2 : Algorithme 10pts
1) Donnez la définition d’une structure algorithmique permettant de représenter un Client
2) Donnez la définition d’une structure algorithmique permettant de représenter un Fichier de
Clients
3) Ecrire un sous-programme qui prend en entrée un fichier tableau de clients et transfère les
informations dans un fichier

Page 1 sur 3
Partie II : Pratique 30pts

Section 1 : POO 10 pts


On considère un extrait du diagramme de classe du problème ci-dessus donné en annexe 3.
1) Donnez le code de la classe Client
2) Donnez le code de la classe Compte. On suppose qu’à la création d’un Compte, son solde est nul.
L’attribut solde est accessible uniquement en lecture.
3) Donnez le corps de la classe abstraite Opération. On suppose que les attributs de cette classe
sont accessibles uniquement en lecture
4) Donnez le corps des sous classes de la classe Opération :
a. On augmentera le solde du compte émetteur pour un versement
b. On diminuera le solde du Compte émetteur pour un Retrait ou un Virement ;
c. On augmentera le solde du compte bénéficiaire pour un Virement
5) Donnez le code de la classe principale qui crée via un tableau contenant les clients en annexe 1, et
un ArrayList contenant les Comptes en annexe 2

Section 2 : programmation évènementielle 10 pts

1) En utilisant VS ou JAVA, réaliser le formulaire permettant d’afficher, mettre à jour et rechercher


les Clients en fonction du nom
NB : Pour traiter la question 2 il faut avoir créé la base de données (traiter la question 4 de la section 3)
Section 3 : Base de données et reverse engineering 10 pts
1) Montez votre diagramme de classe ou MCD sur un AGL de votre choix ;
2) Générer le script de la base de données ;
3) Intégrer dans le script :
a. Les requêtes permettant d’insérer les données des annexes 1 et 2
b. Un déclencheur qui met à jour automatiquement le solde du compte lors des
opérations
4) En utilisant le script de la base de données, créer la base de données sous MYSQL

Annexe 1 : LISTE DES CLIENTS

Code nom adresse


M00001 ESSOLA IVAN MINBOMAN
M00002 MOHAMADOU ALI ESSOS
M00003 SIMO AMELIE EKOUNOU

Annexe 2 : LISTE DES COMPTES

numero intitule Client statut


C00001 Compte personnel 1 M00001 ouvert
C00002 Compte des évènements M00001 fermé
C00003 Compte personnel 1 M00003 fermé
C00004 Compte personnel 1 M00002 ouvert

Page 2 sur 3
Annexe 3 : Extrait du diagramme de classe
Client
- code : String Comptes
- nom : String 1..1 Posseder - numero : String
- adresse : String 0..* - intitule : String
- solde : int
1..1 + verser (int montant) : void
{beneficiaire} + retirer (int montant) : void
beneficier
...
1..1
0..* {emetteur}

Virement Initier

0..*

Operation
Versement
- numero : String
- objet : String
- montant : int

Retrait

Page 3 sur 3

Vous aimerez peut-être aussi