REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
Paix —Travail - Patrie Peace-Work- Fatherland
UNIVERSITE DE YAOUNDE 1 UNIVERSITY OF YAOUNDE 1
FACULTE DES SCIENCES FACULTY OF SCIENCE
BP 812 Yaoundé PO. Box 812 Yaoundé
Tél: (237) 222 234 496 Tél: (237) 222 234 496
Projet : Conception d’un système de transactions bancaires basé sur
une architecture micro services
Encadreur : Dr XAVIERA KIMBI
SOMMAIRE
I. Introduction
a. Contexte
b. Objectifs du cahier de charges
II. Présentation du projet
a. Objectif du projet
b. Description du projet
c. Avantages attendus du projet
III. Rôles des parties prenantes
a. Utilisateurs finaux
b. Agences
c. Equipe projet
IV. Exigences fonctionnelles
a. Gestion des utilisateurs
b. Gestion des comptes
c. Gestion des transactions
d. Sécurité
V. Exigences non fonctionnelles
a. Performance
b. Sécurité
c. Disponibilité
d. Scalabilité
e. Mécanisme
f. Usabilité
VI. Planification du temps
VII. Conclusion
I. INTRODUCTION
a. CONTEXTE
Dans un environnement bancaire en constante évolution, la nécessite de
disposer d’applications efficaces et flexibles est essentielle pour répondre aux
besoins croissants des utilisateurs. Les solutions existantes souvent
monolithiques présentent des limites en termes de scalabilité, de maintenance,
et d’intégration de nouvelles fonctionnalités. Afin d’améliorer l’expérience
utilisateur et facilité la gestion des transactions bancaires, nous proposons le
développement d’une nouvelle application basée sur une architecture micro
services.
b. OBJECTIF DU DOCUMENTS
Le présent cahier de charge a pour objectif de définir les exigences
fonctionnelles et non fonctionnelles de l’application de gestion des transactions
bancaires. Il servira de références tout au long du cycle de développement
garantissant que les attentes des parties prenantes sont clairement identifiées
et respectées.
Ce document détaillera les fonctionnalités clés de l’application, les contraintes
techniques, les exigences de sécurité ainsi qu’un calendrier prévisionnel. En
fournissant une vision claire du projet, ce cahier de charges contribuera à assurer
la réussite du développement et la satisfaction des utilisateurs finaux.
I. PRESENTATION DU PROJET
a. OBJECTIF DU PROJET
L'objectif principal de ce projet est de concevoir et de développer une
application de transactions bancaires moderne, capable de gérer efficacement
les opérations de dépôt, de retrait et de transfert d'argent. Cette application
vise à améliorer les solutions existantes, en offrant une architecture micro
services qui garantit la scalabilité, la flexibilité et la maintenance simplifiée du
système.
b. DESCRIPTION DU PROJET
Le projet consiste en la création d'une application bancaire qui permettra aux
utilisateurs de réaliser des transactions financières de manière sécurisée et
efficace. L'application sera structurée autour de plusieurs micro services, chacun
étant responsable d'une fonctionnalité spécifique (gestion des utilisateurs,
gestion des comptes, dépôt, retrait, etc.). Cette approche permettra une
meilleure répartition des tâches, facilitera le déploiement indépendant des
services et améliorera la résilience du système.
c. ATOUTS DE LA SOLUTION
- Scalabilité : L'architecture micro services permettra d'ajouter de nouvelles
fonctionnalités et d'augmenter la capacité du système en fonction de la
demande sans perturber les services existants.
- Maintenance Simplifiée : Chaque micro service étant indépendant, les mises à
jour et les corrections de bugs pourront être effectuées sans affecter l'ensemble
de l'application.
- Flexibilité: La séparation des services permettra de choisir les technologies les
plus appropriées pour chaque tâche, rendant le système plus adaptable aux
évolutions futures.
- Expérience Utilisateur Améliorée : Une interface utilisateur intuitive et
réactive, combinée à des transactions rapides et sécurisées, améliorera
l'expérience globale des utilisateurs finaux.
II. ROLES DES PARTIES PRENANTES
a. Utilisateurs finaux
Utilisateurs Descriptions Rôle et responsabilités
Clients les clients utilisent - Demander la création
l'application pour gérer d’un compte auprès
leurs transactions d’une agence.
bancaires.
- Accéder à leur compte
pour consulter leur
solde et l’historique des
transactions.
- Effectuer des retraits
et des transferts, en
suivant les procédures
de sécurité (code secret
ou confirmation par
email).
- Signaler toute
anomalie ou problème
lié à leur compte.
Agents Les agents sont des - Effectuer des dépôts et
opérateurs travaillant des retraits pour le
pour les agences. Ils ont compte des utilisateurs.
des responsabilités
spécifiques en matière - Collaborer avec les
de gestion des comptes agences pour améliorer
et des transactions. les services offerts aux
utilisateurs.
b. Agences
Description Rôles et responsabilités
Les agences agissent comme des - Valider les demandes d'inscription des
administrateurs du système pour les comptes utilisateurs et créer des comptes.
qui leur sont rattachés. Elles sont
responsables de la gestion des utilisateurs et - Gérer les informations des utilisateurs et
des opérations. des agents associés à l'agence.
- Surveiller les activités des utilisateurs et
des agents pour garantir la conformité et la
sécurité.
- Fournir un support aux agents et aux
utilisateurs, en veillant à une expérience
utilisateur optimale.
c. Equipe projet
Description Rôles et responsabilités
L’équipe de développement est responsable - Concevoir l'architecture micro services de
de la conception, du développement et de la l'application.
maintenance de l’application.
- Développer les fonctionnalités de
l'application selon les exigences spécifiées.
- Mettre en œuvre des mises à jour et des
améliorations basées sur les retours des
utilisateurs et des parties prenantes.
III. EXIGENCES FONCTIONNELLES
a. Gestions des utilisateurs
BESOINS DESCRIPTIONS
Inscription d’un Utilisateur - Les utilisateurs doivent pouvoir demander
la création d’un compte en fournissant les
informations nécessaires (nom, email, mot
de passe, numéro CNI, photo de CNI, etc.).
- Les agences doivent valider ces demandes
avant que le compte ne soit crée
- les utilisateurs doivent pouvoir changer
leur mot de passe.
b. Gestion des comptes
BESOINS DESCRIPTIONS
Création de Compte - Les agences doivent pouvoir créer des
comptes pour les utilisateurs après validation
de leur demande.
- Chaque compte d'utilisateur doit être associé
à une agence spécifique.
Les agences doivent pouvoir créer des comptes
pour les agents et leur associer des matricules
uniques
Les agences peuvent supprimer des comptes
sur la plateforme.
Les agences peuvent aussi modifier les
informations d'un compte .
Consultation du Solde - Les utilisateurs doivent pouvoir consulter le
solde de leur compte à tout moment.
Historique des Transactions - Les utilisateurs doivent avoir accès à
l’historique complet de leurs transactions
(dépôts, retraits, transferts) cette opération
nécessitant une authentification de leur part .
c. Gestion des transactions
BESOINS DESCRIPTIONS
Dépôt d’Argent - Les agents doivent pouvoir effectuer des
dépôts sur les comptes des utilisateurs, sans
frais.
- Chaque dépôt doit être enregistré dans
l’historique des transactions.
Retrait d’Argent - Les utilisateurs doivent pouvoir demander
un retrait d’argent, en fournissant leur code
secret ou en confirmant via un lien envoyé
par email.
- Les agents doivent valider les demandes
de retrait avant traitement.
Transfert d’Argent - Les utilisateurs doivent pouvoir
effectuer des transferts d’argent vers
d’autres comptes, avec des frais appliqués.
- Les détails de chaque transfert
doivent être enregistrés dans l’historique.
Suivi des Agents - Les agences doivent pouvoir consulter les
activités de leurs agents et gérer leurs
autorisations.
d. Sécurité
BESOINS DESCRIPTION
Authentification et Autorisation - L’application doit garantir que chaque
utilisateur, agent et agence dispose d’un
accès sécurisé à ses fonctionnalités.
- Les utilisateurs doivent passer par un
processus d’authentification robuste,
incluant des vérifications par email pour
certaines opérations sensibles.( Retrait ,
changement de mot de passe, consultation
de l'historique)
Protection des Données - Toutes les données sensibles doivent
être cryptées et protégées contre les accès
non autorisés.
Notifications par Email - Les utilisateurs doivent recevoir des
notifications par email pour les actions
importantes (confirmation de création de
compte, demande de retrait, etc.).
- Les agents doivent être notifiés des
demandes de retrait et des dépôts
effectués sur les comptes.
IV. EXIGENCES NON FONCTIONNELLES
a. Performance
BESOINS DESCRIPTIONS
Temps de Réponse L'application doit offrir un temps de réponse
inférieur à 2 secondes pour les opérations
courantes (connexion, consultation de
solde, etc.).
Capacité de Charge - Le système doit pouvoir gérer
simultanément au moins 1000 utilisateurs
actifs sans dégradation des performances.
b. Sécurité
BESOINS DESCRIPTIONS
Authentification L'application doit implémenter des
mécanismes d'authentification forte,
incluant la validation par email et le
chiffrement des mots de passe.
Protection des Données - Toutes les données sensibles (informations
personnelles, détails de transactions)
doivent être cryptées à la fois en transit et au
repos.
Contrôle d'Accès Les rôles des utilisateurs (agents,
agences, utilisateurs finaux) doivent être
clairement définis, avec des permissions
adaptées à chaque rôle.
c. Disponibilité
BESOINS DESCRIPTIONS
Disponibilité du Système L'application doit garantir un taux de
disponibilité d’au moins 99% sur une base
annuelle, permettant une maintenance
planifiée.
Redondance - Des mécanismes de redondance doivent
être mis en place pour assurer la continuité
de service en cas de défaillance d’un
composant.
d. Scalabilité
BESOINS DESCRIPTIONS
Scalabilité Horizontale L'architecture micro services doit permettre
d'ajouter facilement de nouveaux services
ou d'augmenter la capacité des services
existants pour gérer une augmentation du
nombre d'utilisateurs.
Adaptabilité Le système doit pouvoir s'adapter à de
nouvelles exigences fonctionnelles sans
nécessiter de refonte majeure.
e. Maintenance
BESOINS DESCRIPTIONS
Facilité de Maintenance Le code doit être bien structuré et
documenté pour faciliter la maintenance et
la mise à jour de l'application.
Mise à Jour Le système doit permettre des mises à jour
régulières sans interruption du service, via
une gestion appropriée des versions.
f. Usabilité
Besoin Description
Interface Utilisateur L'application doit offrir une interface
intuitive et facile à utiliser, avec un design
responsive pour s'adapter à différents
appareils (ordinateurs, tablettes,
smartphones).
V. PLANIFICATION DU TEMPS
a. Liste des tâches
Tâches
Durée (en
Tâches à réaliser immédiatement
jours)
antérieurs
A Analyse des besoins 5 /
B Réalisation du cahier de charges 2 A
C Conception architecturale 4 B
D Conception des diagrammes UML 3 C
E Maquette de l’interface utilisateur 5 D
F Mise en place de l’environnement de développement 1 C
G Développement du service utilisateur 3 D,F
H Développement du service account_management 5 D,F
I Développement du service de dépôt 5 D,F
J Développement du service de retrait 5 D,F
K Développement du service de transfert 5 D,F
L Développement du service de notification 5 D,F
M Développement du service d’administration 7 D,F
N Intégration des services 3 G,H,I,J,K,L,M
O Développement de l’interface utilisateur 8 E
P Test d’acceptation utilisateur 3 N,O
Q Correction des bugs 3 P
R Préparation et mise en production 2 Q
b. Table de rangs
Rangs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Tâches A B C D E , D, C F G H I J H,I,J,K L M N O P Q R
b. GANT
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
Jo 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3
ur 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
s
VI. CONCLUSION
Ce cahier des charges présente les objectifs, les fonctionnalités et les exigences
de l'application de transactions bancaires que nous envisageons de développer.
En adoptant une architecture micro services, nous visons à créer une solution
moderne et évolutive qui répond aux besoins des utilisateurs, des agents et des
agences.
Nous avons identifié les rôles des parties prenantes, ainsi que les besoins
fonctionnels et non fonctionnels qui garantiront la sécurité, la performance et
l'accessibilité de l'application. Le planning proposé, avec des estimations de
temps pour chaque phase, permet d'anticiper les différentes étapes du projet et
d'assurer une gestion efficace des ressources.
Ce document servira de référence tout au long du développement de
l'application, permettant de s'assurer que toutes les exigences sont respectées
et que le produit final répond aux attentes des utilisateurs. En conclusion, nous
sommes confiants que ce projet apportera une valeur ajoutée significative,
améliorant l'expérience des utilisateurs.
Nous attendons avec impatience la mise en œuvre de ce projet et la
collaboration de toutes les parties prenantes pour en assurer le succès