Uploaded by houssem.jardakk

projet-sys

advertisement
Faculté des Sciences de Tunis
Département des Sciences de l’Informatique
Année Universitaire : 2022/2023
Licence Fondamentale d’Informatique
LCE-1
Système d’Exploitation
Mini-Projet
Consignes
 Vous pouvez réaliser le travail par groupe de trois étudiants. Il est interdit de travailler seul.
 Vous devez rendre un mini-rapport de projet (5 pages maximum, format pdf). Vous y
détaillerez les difficultés auxquelles vous avez été confronté, et comment vous les avez
résolues. Vous indiquerez également le nombre d’heures passées sur les différentes étapes
de ce projet (conception, codage, tests, rédaction du rapport) par chaque membre du groupe.
Vous devrez nous faire une démonstration de votre projet et être prêts à répondre à toutes les questions
techniques sur le codage de l’application.
Objectif du projet
Dans ce projet, il vous est demandé l’implémentation d'un système de gestion des transactions
bancaires.
Description du projet
Dans ce projet, vous devrez implémenter un système de gestion des transactions bancaires en utilisant
la fonction fork de la bibliothèque standard C. Le but de ce système est de permettre aux clients de la
banque d'effectuer des transactions en temps réel, tout en garantissant la sécurité et la cohérence des
données.
Pour cela, vous devrez créer une application en ligne de commande qui permettra aux clients de la
banque de réaliser des opérations de retrait, de dépôt, et de transfert d'argent entre comptes bancaires.
Ces opérations seront réalisées en utilisant des processus fils créés à partir du processus principal.
Voici les fonctionnalités attendues pour cette application :
 Création de processus fils pour chaque transaction bancaire effectuée
 Vérification de la validité des transactions (vérification de la solvabilité du compte, de la
conformité de l'opération...)
 Gestion de l'état des transactions (en cours, terminé, en attente...)
 Affichage des informations détaillées pour chaque transaction (montant, compte émetteur,
compte bénéficiaire, etc.)
 Vous devrez également fournir une documentation complète pour votre application, qui
expliquera comment l'utiliser, comment elle est implémentée, et comment elle peut être
étendue.
Compétences requises :
Connaissance de la bibliothèque standard C
Maîtrise de la gestion de processus en environnement Unix
Connaissance des concepts de sécurité en matière de transactions bancaires
Livraison attendue :
Code source de l'application.
Documentation complète.
Fichiers de test pour démontrer le fonctionnement de l'application.
Démarche à suivre
Tout d'abord, vous devrez créer une structure de données pour stocker les informations de compte
bancaire, telles que le solde et le numéro de compte. Vous pouvez également créer des fonctions pour
ajouter et supprimer des comptes bancaires, ainsi que pour modifier les informations de compte
existantes.
Ensuite, vous pouvez créer des fonctions pour effectuer les opérations bancaires de retrait, de dépôt et
de transfert. Ces fonctions doivent vérifier la validité des transactions, tels que la solvabilité des
comptes et la conformité de l'opération. Si une transaction est valide, elle doit être ajoutée à une liste
d'opérations en attente ou en cours.
Pour créer des processus fils pour chaque transaction bancaire, vous pouvez utiliser la fonction fork()
de C. Chaque processus fils doit exécuter la fonction correspondante pour l'opération bancaire, puis
mettre à jour l'état de la transaction dans la liste d'opérations en attente ou en cours.
Pour afficher les informations détaillées pour chaque transaction, vous pouvez créer une fonction
d'affichage qui parcourt la liste d'opérations en cours et en attente, et affiche les informations
pertinentes pour chaque transaction.
Bon courage pour votre projet !
Download