Application pour la gestion des comptes bancaires

Application pour la gestion des comptes
bancaires

 Après avoir présenté notre cryptosystème qui a donné de bons résultats en termes de temps d’exécution et de niveau de sécurité. Pour bien éclaircir l’efficacité de cryptosystème ; on va l’intégrer dans une application client / Serveur de gestion des comptes bancaires. Ce dernier, nous permet un échange sécurisé des données.

Analyse et conception

Présentation UML

UML est un langage de modélisation graphique conçu pour fournir une méthode normalisée pour visualiser la conception d’un système. C’est un support de communication performant qui permet grâce à sa représentation graphique, de concevoir des solutions, de faciliter la comparaison et de les évoluer. Il est couramment utilisé en développement logiciel et en conception orientée objet.

 Diagramme de cas d’utilisation

Il est utilisé pour donner une vision globale du comportement fonctionnel d’un système logiciel. Un cas d’utilisation représente une unité discrète d’interaction entre un utilisateur et un système. Il est une unité significative de travail. Dans un diagramme de cas d’utilisation, les utilisateurs sont appelés acteurs, ils interagissent avec les cas d’utilisation. Un acteur participe au moins à un cas d’utilisation qui peut être un utilisateur humain ou un autre système. Ce dernier interagit directement avec le système étudié. Dans notre application de gestion des comptes bancaires, nous avons trois acteurs qui sont : 1. Client : D’abord, le client fait un échange de clé cryptographique avec le serveur ensuite il accède au système via un contrôle d’accès (login et mot de passe). Puis il peut effectuer l’une ou plusieurs parmi les opérations suivantes :  Consulter solde.  Transfer d’argent.  Changer mot de passe.  Afficher la liste des transactions. 2. Employé : Premièrement, il fait un échange de clé cryptographique avec le serveur ensuite il accède au système via un contrôle d’accès (login et mot de passe). Enfin il peut effectuer l’une ou plusieurs parmi les opérations suivantes : Créer compte client.  Dépôt (versement) d’argent.  Retrait d’argent.  Transfert d’argent.  Affichage de la liste des comptes. 3. Administrateur : Au premier lieu, il échange la clé cryptographique avec le serveur ensuite il accède au système via un contrôle d’accès (login et mot de passe). Enfin il peut effectuer l’une ou plusieurs parmi les opérations suivantes :  Créer compte employé  Afficher la liste des employés.  Supprimer compte employer.  Modifier compte employer.  Afficher la liste des comptes client. Modifier compte client.  Supprimer compte client.  Afficher la liste des clients.  Afficher la liste des transactions.  Afficher la liste des opérations. 

Diagramme de classe

 Ce digramme permet de donner la représentation statique du système à développer. Cette représentation est centrée sur les concepts de classe et d’association. Chaque classe se décrit par les attributs et les opérations. Un digramme de classe se définit comme un ensemble de classes contenant des attributs et des opérations, reliées les unes aux autres par des relations et ceci ayant des conditions de participation (cardinalités). Une classe décrit un groupe d’objets ayant les mêmes propriétés (attributs), un même comportement (opérations) et une sémantique commune. Un attribut est une propriété .élémentaire d’une classe qui prend une valeur. Une opération est une fonction applicable aux objets d’une classe. Elle est également appelée méthode

Implémentation

Environnement et outils de développement

 Avant de commencer la présentation de notre application, nous allons tout d’abord, citer les outils utilisés lors du développement. Langage java C’est un langage de programmation orienté objet, développé par Sun Microsystems. Il possède de nombreuses caractéristiques. Ce langage permet de créer des logiciels compatibles avec de nombreux systèmes d’exploitation (Windows, Linux, Macintosh, Solaris). Java est également portable, rapide, sécurisé et fiable. [42] JDK (JAVA Developement Kit) L’environnement dans lequel le code JAVA est compilé pour être transformé en bytecode (code intermédiaire) afin que la machine virtuelle de JAVA (JAVA Virtual Machine) puisse l’interpréter. [43] Netbeans IDE NetBeans est un environnement de développement intégré (EDI). Placé en « open source » par Sun en juin 2000 sous licence CDDL et GPLv2 (Common développement and Distribution License). En plus de Java, il permet également de supporter différents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il contient toutes les caractéristiques d’un IDE moderne (éditeur en couleur, projets multilangage, éditeur graphique d’interfaces et de pages Web). NetBeans constitue par ailleurs une plateforme qui permet le développement d’applications spécifiques « bibliothèque Swing ».[44] SQLiteManager Pour créer la base de données, nous avons utilisé SQLite Manager. SQLite Manager est un système de gestion de base de données SQLite. Il associe une interface conviviale à une vitesse fulgurante et des fonctionnalités avancées. SQLite Manager permet de travailler avec une large gamme de bases de données. SQLite 3 : bases de données standard, bases de données en mémoire, bases de données cryptées AES 128/256 / RC4, base de données cryptée SQLCipher et également avec le serveur cubeSQL.

Le modèle client/serveur Sockets TCP

 Le protocole TCP offre un service en mode connecté et fiable. Les données sont délivrées dans l’ordre de leur émission. La procédure d’établissement de connexion est dissymétrique. Le serveur, attend des demandes de connexion que le client lui envoie. Une fois l’étape d’établissement de connexion effectuée, le fonctionnement redevient symétrique. Il est à noter que côté serveur on utilise deux sockets : l’un, appelé socket d’écoute, reçoit les demandes de connexion et l’autre, appelé socket de service, sert pour la communication. En effet, un serveur peut être connecté simultanément avec plusieurs clients

 

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *