Introduction
Cette étude de cas se concentre sur la modélisation des cas d’utilisation d’un système de guichet automatique pour une banque. Le système de guichet automatique est conçu pour offrir aux clients un moyen pratique d’accéder à leurs comptes et de réaliser diverses opérations bancaires, telles que le retrait d’espèces, le dépôt d’espèces, le transfert de fonds, la vérification de leur solde bancaire et le changement de leur code PIN. L’étude de cas traite de la description du problème et des exigences du système, ainsi que des diagrammes de cas d’utilisation, des acteurs et des scénarios créés pour modéliser la fonctionnalité du système. L’étude de cas explore également comment d’autres types de diagrammes UML, tels que les diagrammes d’activité et les diagrammes de séquence, peuvent être utilisés conjointement avecles diagrammes de cas d’utilisation pour offrir une vue plus détaillée du comportement et des interactions du système. À la fin de l’étude de cas, les lecteurs auront une compréhension claire du processus de modélisation des cas d’utilisation et de sa mise en application dans des systèmes du monde réel, tels qu’un système de guichet automatique.

Lignes directrices et conseils pour développer des cas d’utilisation efficaces et rédiger des scénarios de cas d’utilisation appropriés
Voici quelques lignes directrices, conseils et astuces pour développer des cas d’utilisation et rédiger des scénarios de cas d’utilisation appropriés :
- Identifier les acteurs :Commencez par identifier les acteurs qui interagiront avec le système. Cela pourrait inclure les utilisateurs, les administrateurs et tout autre intervenant qui utilisera le système.
- Définir le périmètre du système :Définissez clairement le périmètre du système et ce qu’il doit accomplir. Cela aidera à garantir que les scénarios de cas d’utilisation capturent toutes les exigences nécessaires.
- Utilisez une approche structurée :Utilisez une approche structurée pour développer les scénarios de cas d’utilisation. Cela pourrait inclure l’utilisation de modèles ou de directives pour garantir que chaque scénario suit une structure cohérente.
- Rédigez des scénarios clairs et concis :Rédigez des scénarios de cas d’utilisation clairs, concis et faciles à comprendre. Utilisez un langage simple et évitez le jargon technique ou les acronymes qui pourraient ne pas être familiers à tous les intervenants.
- Utilisez un langage orienté action :Rédigez les scénarios de cas d’utilisation en utilisant un langage orienté action qui décrit ce que l’utilisateur ou le système fait. Cela peut aider à garantir que les scénarios sont faciles à comprendre et à suivre.
- Concentrez-vous sur les objectifs et les besoins de l’utilisateur :Concentrez-vous sur les objectifs et les besoins de l’utilisateur lors du développement des scénarios de cas d’utilisation. Cela aidera à garantir que les scénarios capturent la perspective de l’utilisateur et sont alignés avec ses besoins.
- Identifiez les préconditions et les post-conditions :Identifiez clairement toutes les préconditions et post-conditions qui doivent être remplies pour que le scénario soit réussi. Cela aidera à garantir que le scénario est complet et précis.
- Incluez des scénarios d’exception :Identifiez tous les scénarios d’exception qui pourraient survenir et incluez-les dans les scénarios de cas d’utilisation. Cela aidera à garantir que le système peut gérer les situations imprévues et les erreurs.
- Obtenez des retours et effectuez des revues :Obtenez des retours des intervenants et révisez régulièrement les scénarios de cas d’utilisation pour vous assurer qu’ils restent précis et à jour par rapport aux dernières spécifications et exigences du système.
En suivant ces lignes directrices, conseils et astuces, les développeurs peuvent élaborer des scénarios de cas d’utilisation qui capturent précisément la fonctionnalité du système et répondent aux besoins de tous les intervenants.
Description du problème de l’étude de cas – Guichet automatique
Une banque a besoin de fournir à ses clients un moyen pratique d’accéder à leurs comptes et de réaliser diverses opérations bancaires, telles que le retrait d’espèces, le dépôt d’espèces, le transfert de fonds, la vérification de leur solde bancaire et le changement de leur code PIN. Pour résoudre ce problème, la banque prévoit de mettre en place un système de guichet automatique qui permettra aux clients de réaliser ces opérations à l’aide de leurs cartes bancaires et d’un code PIN.
Exigences :
- Sécurité : Le système de guichet automatique doit assurer la sécurité des transactions des clients en vérifiant l’identité du client à l’aide de sa carte bancaire et de son code PIN. Le système doit empêcher tout accès non autorisé aux comptes des clients et doit être protégé contre diverses formes de fraude et d’attaque, telles que le piratage et le vol d’informations.
- Disponibilité : Le système de guichet automatique doit être disponible pour les clients en tout temps, sous réserve de maintenance périodique et d’interruptions prévues. Le système doit être fiable et résilient face aux pannes matérielles et logicielles afin de minimiser les perturbations du service et garantir un haut niveau de satisfaction client.
- Utilisabilité : Le système de guichet automatique doit être facile à utiliser et à naviguer pour les clients de tous âges et origines. Le système doit fournir des instructions claires et des retours d’information pour guider les clients tout au long du processus de transaction et réduire au minimum les erreurs et les confusions.
- Traitement des transactions : Le système de guichet automatique doit traiter les transactions des clients avec précision et efficacité, notamment le retrait et le dépôt de cash, le transfert de fonds, la vérification des soldes de compte et le changement de code PIN. Le système doit conserver des enregistrements précis de toutes les transactions et fournir aux clients des reçus et autres documents lorsqu’il est nécessaire.
- Intégration : Le système de guichet automatique doit s’intégrer à l’infrastructure informatique existante de la banque, y compris son système bancaire central, son réseau et ses bases de données. Le système doit communiquer de manière sécurisée et fiable avec les autres systèmes et composants afin de garantir un traitement précis et rapide des transactions et des informations de compte.
Modélisation des cas d’utilisation et développement des scénarios de cas d’utilisation
En partant de la description du problème d’un système de guichet automatique, la prochaine étape consiste à identifier les différents cas d’utilisation nécessaires pour répondre aux besoins des utilisateurs du système. Cela implique l’analyse des exigences du système et la définition des actions spécifiques que les utilisateurs peuvent effectuer lorsqu’ils interagissent avec le système. Chaque cas d’utilisation aura son propre ensemble de scénarios décrivant la manière dont le système et l’utilisateur interagiront dans des situations spécifiques. Ces scénarios doivent être élaborés de manière structurée, en utilisant un langage clair et concis pour garantir qu’ils soient facilement compréhensibles par tous les intervenants du projet.
Le processus d’identification des cas d’utilisation et de développement des scénarios de cas d’utilisation constitue une étape cruciale dans le cycle de vie du développement logiciel. Il permet à l’équipe de développement de bien comprendre les exigences du système et de concevoir une solution qui répond aux besoins de ses utilisateurs. Au fur et à mesure que le processus de développement progresse, il peut être nécessaire de réviser les cas d’utilisation et les scénarios afin de refléter les changements dans les exigences ou d’intégrer les retours des parties prenantes. Ce processus itératif contribue à garantir que le système final répond aux besoins de toutes les parties prenantes et est capable de gérer une large gamme de scénarios et de cas d’utilisation.
- Diagramme de cas d’utilisation :
Le diagramme de cas d’utilisation pour un système de guichet automatique pourrait inclure les acteurs suivants :
- Client
- Banque
Et les cas d’utilisation suivants :
- Retirer de l’argent
- Déposer de l’argent
- Vérifier le solde
- Transférer des fonds
- Changer le code PIN
Le diagramme montrerait les relations entre les acteurs et les cas d’utilisation, indiquant quels cas d’utilisation sont accessibles par quels acteurs.
- Scénarios de cas d’utilisation :
a) Retirer de l’argent :
- Le client insère sa carte bancaire dans la machine.
- Le système invite le client à saisir son code PIN.
- Le client saisit son code PIN.
- Le système vérifie le code PIN.
- Le client sélectionne l’option « Retirer de l’argent ».
- Le système invite le client à saisir le montant d’argent qu’il souhaite retirer.
- Le client saisit le montant d’argent.
- Le système distribue l’argent.
- Le client retire sa carte bancaire et prend l’argent.
b) Déposer de l’argent :
- Le client insère sa carte bancaire dans la machine.
- Le système invite le client à saisir son code PIN.
- Le client saisit son code PIN.
- Le système vérifie le code PIN.
- Le client sélectionne l’option « Déposer de l’argent ».
- Le système invite le client à saisir le montant d’argent qu’il souhaite déposer.
- Le client saisit le montant d’argent.
- Le système vérifie le montant et l’affiche au client.
- Le client confirme le montant.
- Le système accepte l’argent et crédite le compte du client.
c) Vérifier le solde :
- Le client insère sa carte bancaire dans la machine.
- Le système invite le client à saisir son code PIN.
- Le client saisit son code PIN.
- Le système vérifie le code PIN.
- Le système affiche le solde du compte du client.
d) Transférer des fonds :
- Le client insère sa carte bancaire dans la machine.
- Le système invite le client à saisir son code PIN.
- Le client saisit son code PIN.
- Le système vérifie le code PIN.
- Le client sélectionne l’option « Transfert d’argent ».
- Le système invite le client à saisir le numéro de compte vers lequel il souhaite effectuer le transfert.
- Le client saisit le numéro de compte.
- Le système invite le client à saisir le montant d’argent qu’il souhaite transférer.
- Le client saisit le montant d’argent.
- Le système vérifie le montant et l’affiche au client.
- Le client confirme le montant.
- Le système effectue le transfert des fonds et affiche un message de confirmation au client.
e) Changer le code PIN :
- Le client insère sa carte bancaire dans l’appareil.
- Le système invite le client à saisir son code PIN actuel.
- Le client saisit son code PIN actuel.
- Le système vérifie le code PIN actuel.
- Le système invite le client à saisir son nouveau code PIN.
- Le client saisit son nouveau code PIN.
- Le système invite le client à confirmer son nouveau code PIN.
- Le client confirme son nouveau code PIN.
- Le système met à jour le code PIN du client et affiche un message de confirmation.
Affinement du scénario d’utilisation – Retrait d’argent
Affiner un scénario d’utilisation au fur et à mesure que le processus de développement évolue est important pour plusieurs raisons :
- Pour s’assurer que le scénario est exact et reflète l’état actuel du système :Au fur et à mesure que le processus de développement évolue, le système peut changer, et de nouvelles exigences peuvent apparaître. Affiner le scénario d’utilisation permet de s’assurer qu’il reste précis et à jour par rapport aux spécifications les plus récentes du système.
- Pour identifier toute exigence manquante ou incomplète :Au fur et à mesure que le système évolue, il peut apparaître qu’il est nécessaire de nouvelles exigences pour capturer pleinement la fonctionnalité du système. Affiner le scénario d’utilisation aide à identifier toute exigence manquante ou incomplète.
- Pour améliorer l’ergonomie et l’expérience utilisateur :Affiner le scénario d’utilisation peut aider à améliorer l’ergonomie et l’expérience utilisateur du système. En affinant le scénario, les développeurs peuvent mieux comprendre les besoins de l’utilisateur et prendre des décisions de conception qui répondent mieux à ces besoins.
Le processus d’affinement d’un scénario d’utilisation peut impliquer plusieurs étapes, notamment :
- Examiner le scénario pour vérifier son exactitude et sa complétude : Les développeurs doivent examiner le scénario afin de s’assurer qu’il reflète fidèlement l’état actuel du système et que toutes les exigences sont prises en compte.
- Identifier toute exigence manquante ou incomplète : Les développeurs doivent identifier toute exigence manquante ou incomplète et travailler à les intégrer dans le scénario.
- Affiner l’interface utilisateur : Les développeurs doivent affiner l’interface utilisateur afin d’améliorer l’ergonomie et l’expérience utilisateur, en tenant compte des retours des utilisateurs et des meilleures pratiques de conception.
- Intégrer les retours : Les développeurs doivent intégrer les retours des parties prenantes et des utilisateurs afin de perfectionner le scénario et s’assurer qu’il répond aux besoins de tous les utilisateurs.
Étapes pour affiner un scénario d’utilisation
En affinant continuellement le scénario d’utilisation tout au long du processus de développement, les développeurs peuvent s’assurer que le système répond aux besoins et aux exigences des utilisateurs et est aussi utilisable et convivial que possible.
Voici une explication du scénario « Retirer de l’argent » pour le système de guichet automatique, incluant les flux normaux et les flux d’exception, ainsi que des points d’insertion pour refléter une situation réelle :
Scénario :Retirer de l’argent
Acteur principal :Client
Préconditions :
- Le client a inséré sa carte bancaire dans l’appareil.
- Le client a saisi son code PIN correct.
Flux principal :
- Le client sélectionne l’option « Retirer de l’argent » dans le menu principal.
- Le guichet automatique invite le client à saisir le montant d’argent qu’il souhaite retirer.
- Le client saisit le montant d’argent qu’il souhaite retirer.
- Le guichet automatique vérifie que le client dispose de fonds suffisants sur son compte pour couvrir le montant du retrait.
- Le guichet automatique délivre le montant d’argent demandé au client.
- Le guichet automatique affiche un message confirmant le retrait réussi et invite le client à sélectionner une autre transaction ou à terminer la session.
- Le client sélectionne une autre transaction ou termine la session.
- Le guichet automatique expulse la carte bancaire du client.
Flux d’exception :
1a. Fonds insuffisants
- Le guichet automatique vérifie que le client ne dispose pas de fonds suffisants sur son compte pour couvrir le montant du retrait.
- Le guichet automatique affiche un message d’erreur informant le client qu’il ne dispose pas de fonds suffisants pour effectuer la transaction.
- La machine ATM invite le client à saisir soit un montant de retrait inférieur, soit à annuler la transaction.
- Le client saisit soit un montant de retrait inférieur, soit annule la transaction.
2a. Montant invalide
- Le client saisit un montant de retrait invalide, par exemple un nombre négatif ou une valeur dépassant sa limite quotidienne de retrait.
- La machine ATM affiche un message d’erreur informant le client que le montant saisi est invalide.
- La machine ATM invite le client à saisir un montant de retrait valide.
- Le client saisit un montant de retrait valide.
3a. Carte retenue
- La machine ATM échoue à distribuer l’argent en raison d’une erreur matérielle ou logicielle.
- La machine ATM affiche un message d’erreur informant le client que sa carte a été retenue.
- La machine ATM invite le client à contacter sa banque ou le service client pour obtenir de l’aide.
- Le client contacte sa banque ou le service client afin de récupérer sa carte.
Points d’insertion :
- Après l’étape 1 : Le client insère sa carte ATM dans la machine et saisit son code PIN.
- Après l’étape 2 : Le client saisit le montant d’argent qu’il souhaite retirer.
- Après l’étape 3 : La machine ATM vérifie que le client dispose de fonds suffisants pour couvrir le montant du retrait.
- Après l’étape 5 : La machine ATM distribue l’argent demandé au client.
Résumé
Annexe – Scénarios de cas d’utilisation affinés – Guichet automatique
Nom du cas d’utilisation : Retirer de l’argent
Acteurs : Client, ATM
Préconditions : Le client doit posséder une carte ATM valide et un numéro PIN. L’ATM doit fonctionner correctement et être connecté au réseau bancaire.
Flux principal :
- Le client insère sa carte ATM dans la fente de lecture de carte de l’ATM.
- L’ATM invite le client à saisir son numéro PIN à l’aide du clavier.
- Le client saisit son numéro PIN.
- L’ATM valide le numéro PIN et affiche les options du menu principal.
- Le client sélectionne l’option « Retirer de l’argent » dans le menu.
- L’ATM invite le client à saisir le montant d’argent qu’il souhaite retirer à l’aide du clavier.
- Le client saisit le montant d’argent qu’il souhaite retirer.
- L’ATM vérifie que le client dispose de fonds suffisants sur son compte pour effectuer la transaction.
- L’ATM délivre le montant d’argent demandé au client.
- L’ATM affiche un message indiquant que la transaction est terminée.
- Le client retire sa carte ATM de la fente de lecture de carte.
Flux alternatifs :
- 1a. Si l’ATM ne parvient pas à lire la carte ATM du client, il affiche un message d’erreur et invite le client à réessayer ou à contacter sa banque.
- 4a. Si le client saisit un numéro PIN incorrect trois fois, l’ATM conservera sa carte et affichera un message indiquant qu’elle a été retenue.
- 8a. Si le client ne dispose pas de fonds suffisants sur son compte pour effectuer la transaction, l’ATM affiche un message d’erreur et invite le client à saisir un montant inférieur ou à annuler la transaction.
Nom du cas d’utilisation : Vérifier le solde du compte
Acteurs : Client, ATM
Préconditions : Le client doit posséder une carte ATM valide et un numéro PIN. L’ATM doit fonctionner correctement et être connecté au réseau bancaire.
Flux principal :
- Le client insère sa carte ATM dans la fente de lecture de carte de l’ATM.
- L’ATM invite le client à saisir son numéro PIN à l’aide du clavier.
- Le client saisit son numéro PIN.
- L’ATM valide le numéro PIN et affiche les options du menu principal.
- Le client sélectionne l’option « Vérifier le solde du compte » dans le menu.
- Le distributeur affiche le solde actuel du compte du client à l’écran.
- Le client retire sa carte ATM de la fente de lecture de carte.
Flux alternatifs :
- 1a. Si le distributeur n’est pas en mesure de lire la carte ATM du client, il affiche un message d’erreur et invite le client à réessayer ou à contacter sa banque.
- 4a. Si le client saisit un numéro PIN incorrect trois fois, le distributeur conservera sa carte et affichera un message indiquant qu’elle a été retenue.
Nom du cas d’utilisation :Dépôt de liquide
Acteurs :Client, Distributeur
Préconditions :Le client doit disposer d’une carte ATM valide et d’un numéro PIN. Le distributeur doit fonctionner correctement et être connecté au réseau bancaire.
Flux principal :
- Le client insère sa carte ATM dans la fente de lecture de carte du distributeur.
- Le distributeur invite le client à saisir son numéro PIN à l’aide du clavier.
- Le client saisit son numéro PIN.
- Le distributeur valide le numéro PIN et affiche les options du menu principal.
- Le client sélectionne l’option « Dépôt de liquide » dans le menu.
- Le distributeur invite le client à insérer les billets qu’il souhaite déposer dans la fente de dépôt de liquide du distributeur.
- Le client insère les billets dans la fente de dépôt.
- Le distributeur valide les billets et affiche un message indiquant le montant déposé.
- Le client retire sa carte ATM de la fente de lecture de carte.
Références : Techniques de modélisation des cas d’utilisation
- Qu’est-ce qu’une spécification de cas d’utilisation ?
- Un tutoriel pratique sur l’analyse de robustesse
- Identifier les besoins des utilisateurs à l’aide des diagrammes de cas d’utilisation
- Histoire d’utilisateur vs cas d’utilisation pour le développement logiciel agile
- Approche centrée sur les cas d’utilisation pour le développement agile
- Types d’acteur dans le modèle de cas d’utilisation
- Qu’est-ce qu’un diagramme de cas d’utilisation ?
- Qu’est-ce que le UML ?
- Pourquoi modéliser avec UML ?
Cette publication est également disponible en Deutsch, English, Español, فارسی, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 : liste des langues séparées par une virgule, 繁體中文 : dernière langue.












