DOSSIER DE SPECIFICATION Simulateur d un distributeur bancaire Version 1.0 1/17
SOMMAIRE Introduction... 3 1-Objectifs du système... 3 2- Contexte du système... 3 2-1 Les acteurs... 3 Acteur: utilisateur... 3 Acteur: administrateur... 4 Acteur: fichier carte... 4 2-2-Le diagramme de contexte... 4 3- Description du système... 5 3-1 Le diagramme de cas d utilisation... 5 3-2 Description des cas d utilisation... 5 4- Description de l interface homme-machine... 14 Cas d utilisation Démarrer... 14 Cas d utilisation Identifier l utilisateur... 14 Cas d utilisation Simuler la distribution d argent... 15 Enchaînement des écrans... 16 5- Contraintes... 17 Conclusion... 17 Annexes... 17 Plan de tests de validation... 17 Fiche de lecture croisée... 17 2/17
Introduction Pour permettre à leurs clients de retirer de l argent liquide à n importe quel moment et en particulier en dehors des heures d ouverture des agences bancaires, les banques disposent d un système automatique de distribution d argent. Le projet qui nous est confié consiste à réaliser un simulateur logiciel du système réel de retrait bancaire. Ce document décrit la spécification du simulateur et présente: Les objectifs du simulateur, Son contexte, La description de ses cas d utilisation, Son interface homme-machine, Les contraintes à respecter pour sa réalisation. 1-Objectifs du système L objectif du simulateur est de simuler les foncions principales du système de retrait bancaire, à savoir sa mise en service, l identification du client et la distribution d argent liquide. Pour cela, les échanges entre le simulateur et son environnement (carte, billets, ticket ) ainsi que les opérations matérielles sont simulées. La carte Pour permettre une reconnaissance fiable du débiteur, une carte et un code secret sont attribués à chaque personne disposant d'un compte bancaire. La carte est simulée par un fichier qui contient le numéro de compte, le code confidentiel, le nombre d essais erronés déjà effectués, la date de fin de validité et le solde du compte (une information par ligne). Chaque carte a donc un nom. Pour effectuer un retrait, la personne doit préciser le nom de sa carte ainsi que son code secret. Si le fichier représentant la carte ne peut pas être lu, le simulateur considère que la carte est invalide et il simule l'éjection de la carte. La banque centrale : Il n y a pas de connexion avec la banque centrale. Toutes les données concernant le client sont écrites sur la carte. Le ticket Pour permettre à l'utilisateur d'avoir une trace du retrait effectué, la sortie d'un ticket est simulée par l affichage des informations contenues sur le ticket (date de retrait, numéro de compte, somme retirée, solde du compte). La distribution des billets Elle est simulée par l affichage du nombre de billets de 10 euros, 20 euros, 50 euros délivrés. 2- Contexte du système 2-1 Les acteurs Acteur: utilisateur Type de déclenchement: actif Type d'entité: personne Rôle: utilisateur du simulateur du système de retrait bancaire Responsabilité: Il s'identifie en saisissant le nom de la carte et son code secret. Il saisit le montant désiré et choisit s'il veut un ticket. 3/17
Acteur: administrateur Type de déclenchement: actif Type d'entité: personne Rôle: administrateur du simulateur du système de retrait bancaire Responsabilité: il démarre le simulateur. Acteur: fichier carte Type de déclenchement :passif Type d'entité : fichier Rôle : simule une carte bancaire Responsabilité : Contient le numéro de compte, le code confidentiel, le nombre d'essais erronés déjà effectués, la date de fin de validité et le solde du compte. 2-2-Le diagramme de contexte Ce diagramme montre les échanges entre le simulateur bancaire et son environnement. code choix ticket nom carte mont ant désiré simulateur bancaire démarrer : utilisateur billets ticket : administrateur nombre d'essais erronés i nformati ons client code, date d'expiration, nombre d'essais erronés, solde : fich ier carte nouveau solde 4/17
3- Description du système 3-1 Le diagramme de cas d utilisation Ce diagramme présente les différentes fonctionnalités du simulateur bancaire et les interactions avec son environnement. adm inistrateur dém arrer identifier utilisateur <<c omm unique>> utilisateur <<com munique>> fichier c arte sim uler la distribution d'argent 3-2 Description des cas d utilisation Cas d utilisation : identifier utilisateur Elément déclenchant: utilisateur Pré-conditions: Le système est en attente d'un client. Données en entrée: nom de la carte et code confidentiel Description: Pour permettre une reconnaissance fiable de tout utilisateur, le simulateur fonctionne grâce à une carte simulée par un fichier. Une carte ne permet d'accéder qu'à un seul compte. Un code confidentiel composé de 4 chiffres est alloué à chaque carte. L'identification de l'utilisateur se fait en saisissant le nom du fichier de la carte et le code secret correspondant à cette carte. Plusieurs cas peuvent alors se présenter (voir scénarios ci-dessous). Post-conditions: Si l'identification a échoué, le système se met en attente d'un autre client. Sinon, le système se met en attente que l'utilisateur choisisse un montant. 5/17
Scénario: La carte est valide, le code est bon, le client est solvable. Après introduction d'une carte valable, le simulateur invite l'utilisateur à saisir son code confidentiel. S'il est erroné, l'utilisateur est appelé à recommencer dans la limite de trois fois consécutives. Si le code est correct, le simulateur se met en attente que l'utilisateur saisisse le montant qu'il désire retirer. : utilisateur pré-condition: simulateur en service saisir nom carte nom carte simulateur bancaire verifier carte lire informations : fichier carte scé nario: carte valide, code bon, client solvable saisir code confidentiel saisie du code 3 fois maximum code confidentiel verifier code le code est correct, l'ut ilis ateur est ide ntifié entrer montant 6/17
Scénario: La carte n'est pas valable (carte illisible, date d'expiration dépassée, carte bloquée). Le simulateur la rend et en informe visuellement l'utilisateur. : utilisateur pré-condition: simulateur en service sim ulateur bancaire : fichier carte scénario : carte non valide : problème de lecture de la carte ou carte dont la date d'expiration est dépassée ou carte bloquée saisir nom carte nom carte Si problème de lecture alors " problèm e de lecture" rendre carte lire inform ations sinon verifier carte S i dat e d'expiration dépassée ou cart e b loqué e alors message d'erreur rendre carte finsi finsi en attente d'un autre client 7/17
Scénario: Carte valide, code erroné au bout de 3 essais. Après introduction d'une carte valable, le distributeur invite l'utilisateur à saisir son code confidentiel. S'il est erroné, l'utilisateur est appelé à recommencer dans la limite de trois fois consécutives. Si le troisième essai est négatif, le distributeur conserve la carte et en informe visuellement l'utilisateur. pré-condi tion: si mulat eur en service scénario : carte valide, code erroné au bout de 3 essais : utilisateur sa isir nom carte sim ulateur bancaire : fichier carte nom c arte verifi er carte lire inform ations Repeter 3 fois maximum saisir code confidentiel code confidentiel verifier code message : code erroné code erroné fin repeter ecrire nombre essais en att ente d'un au tre clie nt conserver carte après 3 essais erronés Cas d utilisation : simuler la distribution d'argent Elément déclenchant: l'utilisateur Pré-conditions: l'utilisateur a été correctement identifié. Données en entrée : montant désiré Description: L'utilisateur saisit la somme qu'il désire retirer. Cette somme doit être comprise entre 10 et 200 euros et être un multiple de 10. Si cette somme ne peut être débitée du compte ou si le distributeur ne dispose pas de cette somme, l'utilisateur en est informé visuellement et la carte lui est restituée (simulé par un message à l'écran). 8/17
Sinon, le système demande à l'utilisateur s'il souhaite recevoir un ticket (trace des opérations). Le solde est mis à jour dans le fichier simulant la carte. La carte est ensuite restituée à l'utilisateur, puis le ticket (si demandé) et enfin les billets sont délivrés. Un minimum de billets est distribué. Toutes ces opérations sont simulées par des affichages à l'écran. S'il n'y a pas assez de billets pour satisfaire la demande, le système en informe l'utilisateur et rend la carte (simulé par un message à l'écran). Post-conditions: le système est en attente d'un autre client s'il y a des billets dans le stock, sinon le simulateur est hors service (arrêté). Scénario: L'utilisateur demande de retirer une somme supérieure au solde de son compte. Pé-condition: l'utilisateur a été id entifié : utilisateur simulateur bancaire montant désiré tantque montant >200 et non multiple de 10 faire e ntrer mont ant fint ant m ontant désiré verifier solde m essage : s olde in suffi sant en attente d'un autre utilisateur rendre c arte 9/17
Scénario: Le distributeur ne contient pas assez de billets pour satisfaire la demande du client. : utilisateur Pé-condition: l'utilisateur a été identifié montant désiré sim ulateu r bancaire tantque montant >200 et non multiple de 10 faire entrer m ontant fintant m onta nt désiré verifier solde verifie r stock message : stock insuffisant en attente d'un autre utilisateur rendre carte 10/17
Scénario: Le distributeur peut délivrer le montant demandé par l'utilisateur. (Solde suffisant, stock suffisant) Pé-condition: l'utilisateur a été identifié : utilisateur simulateur bancai re montant désiré : fich ier carte tant que montant >200 et non entrer multiple m ontant de 10 faire m ontant désiré fintant verifier s olde calculer billets cho isir ticket le c alcu l des b il let s se fait en fonct ion du stock. Un minimum de billets est délivré. répo nse tic ket é crire solde rendre carte met tre à jou r stock billets simulés ti cket Si plus de billets dans le stock alors Hors service si ticket dem andé FinSi en attente d'un autre utilisateur ou arrêté arrêt er 11/17
Scénario: Le simulateur ne peut pas écrire le nouveau solde dans le fichier simulant la carte. Pé-condition: l'utilisateur a ét é ident ifié : utilisateur montant désiré simulateur bancai re : fichier carte entrer montant tantque montant >200 et non multiple de 10 faire montant désiré verifier solde fintant choisir ticket réponse ticket message : problème d'écriture calculer billets écrire solde conserver carte en a tte nte d'un aut re utilisat eur 12/17
Cas d utilisation : démarrer Elément déclenchant: l'administrateur Pré-conditions: Le simulateur n'est pas en service. Description: L'administrateur démarre l'exécutable du simulateur. S'il y a au moins un billet dans le stock, le simulateur affiche " EN SERVICE" et se met en attente d'un utilisateur. Sinon, le simulateur affiche " HORS SERVICE" et s'arrête. Post-conditions: le système est en attente d'un client s'il y a au moins un billet dans le stock ou arrêté s'il n'y a plus de billet dans le stock. Scénario: : a dministrate ur démarrer simulateur bancaire verifier stock Si au moins un billet dans le stock alors afficher message d'accueil sim ulateu r en at ten te d'u n utilisate ur sinon afficher hors service arrêter simulateur arrêté finsi 13/17
4- Description de l interface homme-machine L interface homme-machine est une interface simple, constituée de messages textuels. Cas d utilisation Démarrer Au lancement de l application : Si le stock ne contient plus de billets, le distributeur affiche : ***** HORS SERVICE ***** et s arrête. Si le stock n est pas vide, distributeur affiche : ***** EN SERVICE ***** Cas d utilisation Identifier l utilisateur Pour identifier un utilisateur, les messages suivants s affichent : Entrez votre carte: Entrez votre code confidentiel: Les messages suivants s affichent en cas d erreur : Si la carte ne peut être lue : Problème de lecture sur votre carte. Pour simuler que le distributeur rend la carte : Carte éjectée. Si la date d expiration de la carte est dépassée : Votre carte n est plus valable. Pour simuler que le distributeur rend la carte : Carte éjectée. Si le code saisi est erroné : Code erroné. Pour indiquer le nombre d essais restant : - essai(s) encore possible(s) Si le code est erroné après trois tentatives: Votre carte va être conservée par le distributeur. Pour simuler que le distributeur conserve la carte : Carte conservée. 14/17
Cas d utilisation Simuler la distribution d argent Les messages suivants s affichent lors d une transaction nominale: Entrez le montant désiré (multiple de 10 et <= 200): Désirez-vous un ticket? (o/n): Voici vos billets: *********************** nombre de billets de 10 euros: nombre de billets de 20 euros: nombre de billets de 50 euros: *********************** Voici votre ticket: ***************** ***** date: numéro de compte: somme débitée: nouveau solde: *********************** Au revoir. A bientôt! Les messages suivants s affichent en cas d erreur : Si le montant saisi n est pas un multiple de 10 ou supérieur à 200 euros: Erreur sur le montant Entrez le montant désiré (multiple de 10 et <= 200): Si le solde est inférieur au montant désiré: Votre compte n est pas assez approvisionné. Pour simuler que le distributeur rend la carte : Carte éjectée. Si le nombre de billets contenus dans le distributeur ne permet pas de distribuer la somme voulue: Le distributeur n est pas approvisionné. Pour simuler que le distributeur rend la carte : Carte éjectée. Si les informations ne peuvent pas être sauvegardées sur la carte, Problème d écriture sur la carte. Votre carte va être conservée par le distributeur. Pour simuler que le distributeur conserve la carte : Carte conservée. 15/17
Enchaînement des écrans stock vide ***** HORS SERVICE ***** stock non vide ***** EN SERVICE ***** Entrez votre carte: erreur de lecture Problème de lecture sur votre carte. Carte éjectée. carte ok carte expirée Votre carte n'est plus valable. Carte éjectée. Entrez votre code confidentiel: code faux et saisie < 3 Code erroné. - essai(s) encore possible(s) code ok code faux et 3 saisies Votre carte va être conservée par le distributeur. Carte conservée. stock non vide erreur montant Entrez le montant désiré (multiple de 10 et <= 200): Erreur sur le montant Entrez le montant désiré (multiple de 10 et <= 200): stock vide solde insuffisant Votre compte n'est pas assez approvisionné. Carte éjectée. montant ok stock insuffisant Le distributeur n'est pas approvisionné. Carte éjectée. Problème d'écriture sur la carte. Votre carte va être conservée par le distributeur. Carte conservée. Désirez-vous un ticket? (o/n): Voici vos billets: *********************** nombre de billets de 10 euros: nombre de billets de 20 euros: nombre de billets de 50 euros: *********************** si ticket demandé Voici votre ticket: ***************** ***** date: numéro de compte: somme débitée: nouveau solde: *********************** Au revoir. A bientôt! 16/17
5- Contraintes Pour réaliser le simulateur, les contraintes suivantes devront être respectées: Langage de programmation : C++ Développement sous Visual.Net L interface devra être conviviale, ergonomique, tout en se limitant à des affichages textuels. Le système devra être évolutif. Le logiciel devra être lisible, facilement maintenable. Le logiciel et les documents devront respecter les règles du plan qualité. Conclusion Ce document de spécification décrit le simulateur tel qu'il devra être livré au client et fixe les contraintes à respecter pour sa réalisation. L interface homme-machine pourra être améliorée pour la rendre plus ergonomique. Pour cela l affichage des messages textuels pourra être remplacée par une interface multifenêtres. Ce document sera utilisé d'une part, pour prévoir les tests de validation du simulateur (voir annexes) et d'autre part, comme point d'entrée de la phase suivante du cycle de vie qui est la conception préliminaire. Annexes Plan de tests de validation Fiche de lecture croisée 17/17