Read this post in: de_DEen_USes_EShi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Guide complet sur l’élaboration des cas d’utilisation : concepts clés, méthodes et exemples

UMLYesterday

Introduction

Élaboration des cas d’utilisation est une phase cruciale dans le cycle de vie du développement logiciel, notamment dans le contexte de l’ingénierie des besoins et de l’analyse et de la conception orientées objet. Elle comble l’écart entre les cas d’utilisation de haut niveau et les spécifications détaillées du système, permettant aux développeurs, aux analystes et aux parties prenantes de comprendrecomment le système se comporte en réponse à des objectifs spécifiques de l’utilisateur.

Ce guide offre un aperçu complet del’élaboration des cas d’utilisation, y compris son objectif, ses concepts clés, sa méthodologie étape par étape, ses meilleures pratiques et des exemples du monde réel.


1. Qu’est-ce que l’élaboration des cas d’utilisation ?

Élaboration des cas d’utilisation est le processus de raffinement d’un cas d’utilisation de haut niveau en une description détaillée et opérationnelle du comportement du système. Il transforme une simple narration d’interaction utilisateur en une spécification précise, testable et réalisable.

✅ Objectif : Définirce que le système devrait faire, comment il devrait le faire, etdans quelles conditions, avec suffisamment de détails pour le développement et les tests.


2. Pourquoi l’élaboration des cas d’utilisation est-elle importante

  • Réduit l’ambiguïté : Évite les malentendus sur les exigences.

  • Améliore la traçabilité : Relie les exigences à la conception, au code et aux cas de test.

  • Soutient la conception et la mise en œuvre : Fournit une base pour les diagrammes de classes, les diagrammes de séquence et la conception de base de données.

  • Permet le test : Facilite la création de scénarios de test et de critères d’acceptation.

  • Améliore la collaboration: Assure une compréhension partagée entre les parties prenantes, les développeurs et les testeurs.


3. Concepts clés dans l’élaboration des cas d’utilisation

3.1 Cas d’utilisation (UC)

Un cas d’utilisation décrit une séquence d’actions qu’un système effectue pour produire un résultat pertinent pour un acteur (un utilisateur ou un système externe).

Exemple :« Retirer de l’argent » à partir d’un guichet automatique.

3.2 Acteur

Une entité externe qui interagit avec le système. Cela peut être un utilisateur humain, un autre système ou un déclencheur temporel.

Exemple : Client, machine à guichet automatique, passerelle de paiement.

3.3 Acteurs principaux et secondaires

  • Acteur principal: Déclenche le cas d’utilisation.

  • Acteur secondaire: Soutient l’acteur principal (par exemple, un serveur bancaire).

3.4 Préconditions

Conditions qui doivent être vraies avant que le cas d’utilisation ne commence.

Exemple : L’utilisateur doit disposer d’une carte valide et d’un code PIN correct.

3.5 Postconditions

Conditions qui doivent être vraies après la fin du cas d’utilisation.

Exemple : L’argent est délivré, le solde du compte est mis à jour.

3.6 Scénario principal de succès (flux de base)

Le parcours le plus courant dans le cas d’utilisation qui conduit au succès.

Exemple : Insérer la carte → Saisir le code PIN → Sélectionner le retrait → Saisir le montant → Recevoir l’argent.

3.7 Flux alternatifs (flux d’exception)

Branches dans le cas d’utilisation qui gèrent les exceptions, erreurs ou variations.

Exemple : Code PIN invalide → Réessayer ou annuler.

3.8 Extensions

Points dans le flux principal où un comportement alternatif peut être inséré (par exemple, via « <> » dans UML).

Exemple : « <> : Informez la banque d’une activité suspecte. »

3.9 Exigences non fonctionnelles (ENF)

Contraintes sur le comportement du système (par exemple, performance, sécurité, ergonomie).

Exemple : « La transaction doit être terminée en moins de 3 secondes. »


4. Le processus d’élaboration des cas d’utilisation (étape par étape)

Étape 1 : Identifier le cas d’utilisation

Commencez par un cas d’utilisation de haut niveau (par exemple, « Passer une commande »).

Utilisez un modèle :
Nom du cas d’utilisation: Passer une commande
Acteur principal: Client
Parties prenantes: Client, système de gestion des commandes, passerelle de paiement


Étape 2 : Définir les préconditions

Listez toutes les conditions qui doivent être remplies avant le début du cas d’utilisation.

  • Le client est connecté.

  • Le panier contient au moins un article.

  • La méthode de paiement est enregistrée.


Étape 3 : Définir les postconditions

Indiquez ce qui doit être vrai après la fin du cas d’utilisation.

  • La commande est créée dans le système.

  • Le stock est mis à jour.

  • Le paiement est traité.

  • Un e-mail de confirmation est envoyé.


Étape 4 : Rédiger le scénario principal de succès (flux de base)

Détailler le parcours idéal et réussi.

  1. Le client sélectionne « Passer à la caisse » depuis le panier.

  2. Le système affiche le résumé de la commande.

  3. Le client confirme l’adresse de livraison.

  4. Le client sélectionne la méthode de paiement.

  5. Le système traite le paiement.

  6. Le paiement est confirmé.

  7. Le système crée la commande et génère la confirmation.

  8. La confirmation est affichée et un e-mail est envoyé.


Étape 5 : Identifier les flux alternatifs (flux d’exception)

Lister les déviations possibles par rapport au flux principal.

Flux alternatif A : Stock insuffisant

  1. Le système vérifie le stock.

  2. L’article est en rupture de stock.

  3. Le système affiche le message : « Article indisponible. »

  4. Le client peut supprimer l’article ou continuer sans celui-ci.

Flux alternatif B : Paiement refusé

  1. Le paiement est refusé.

  2. Le système affiche une erreur : « Paiement refusé. »

  3. Le client peut réessayer ou choisir une autre méthode.

Flux alternatif C : Adresse de livraison invalide

  1. Le système valide l’adresse.

  2. L’adresse est invalide.

  3. Le système invite le client à la corriger.


Étape 6 : Définir les extensions (relations <>)

Utilisez des extensions de style UML pour montrer un comportement facultatif.

  • <>: Aviser le système de gestion des stocks

    • Déclencheur : Lorsqu’un article est en rupture de stock pendant le paiement.

    • Objectif : Aviser le magasin pour réapprovisionner.

  • <>: Appliquer un bon de réduction

    • Déclencheur : Le client saisit un code de bon de réduction valide.

    • Objectif : Réduire le coût total.


Étape 7 : Ajouter les exigences non fonctionnelles (NFR)

Inclure les contraintes du système.

  • La commande doit être traitée en moins de 5 secondes.

  • Le paiement doit être chiffré à l’aide de TLS 1.3.

  • Le système doit supporter 10 000 utilisateurs simultanés.


Étape 8 : Examiner et valider

Collaborer avec les parties prenantes pour assurer la complétude et l’exactitude.

  • Demander : « Cela couvre-t-il tous les objectifs de l’utilisateur ? »

  • Demander : « Tous les cas limites ont-ils été pris en compte ? »

  • Demander : « Un développeur peut-il construire à partir de cela ? »


5. Outils et techniques pour l’élaboration

Outil/Technique Objectif
Diagramme de cas d’utilisation (UML) Visualiser les acteurs et les cas d’utilisation.
Diagramme de séquence Montrer le flux de messages entre les objets pendant le cas d’utilisation.
Diagramme d’activité Modéliser des workflows complexes et des points de décision.
Cartographie des histoires utilisateur Lier les cas d’utilisation au parcours utilisateur et aux priorités.
Tableaux de décision Préciser la logique complexe (par exemple, les règles de réduction).

6. Meilleures pratiques

  1. Maintenir une approche centrée sur l’utilisateur pour les cas d’utilisation: Se concentrer sur les objectifs de l’utilisateur, et non sur les fonctionnalités du système.

  2. Utiliser une nomenclature cohérente: Utiliser un format verbe-nom (par exemple, « Mettre à jour le profil »).

  3. Éviter le jargon technique: Écrire pour les parties prenantes non techniques.

  4. Utiliser un langage clair: Soyez clair et concis.

  5. Itérer: Affinez les cas d’utilisation au fur et à mesure que la compréhension s’accroît.

  6. Lier aux autres artefacts: Connectez les cas d’utilisation aux diagrammes de classes, aux cas de test et aux historiques d’utilisateur.

  7. Prioriser: Concentrez-vous d’abord sur les cas d’utilisation à forte valeur ou à fort risque.


7. Exemple du monde réel : Banque en ligne – Virement d’argent

Cas d’utilisation: Virement d’argent

Acteur principal: Client
Acteur secondaire: Serveur bancaire, système de détection de fraude

Préconditions

  • Le client est connecté.

  • Le compte source dispose de fonds suffisants.

  • La limite de virement n’a pas été dépassée.

Postconditions

  • Les fonds sont transférés du compte source au compte de destination.

  • La transaction est enregistrée sur les deux comptes.

  • Une notification est envoyée aux deux parties.

Scénario principal de succès

  1. Le client sélectionne « Virement d’argent » depuis le tableau de bord.

  2. Le système affiche le formulaire de virement.

  3. Le client saisit le compte de destination et le montant.

  4. Le système valide le compte et le montant.

  5. Le client confirme le virement.

  6. Le système vérifie les règles de détection de fraude.

  7. La transaction est approuvée et exécutée.

  8. Un message de confirmation est affiché.

Flux alternatifs

  • A1 : Fonds insuffisants
    → Le système affiche : « Fonds insuffisants. »
    → Le client peut annuler ou ajuster le montant.

  • A2 : Fraude détectée
    → Le système bloque le transfert et envoie une alerte.
    → Le client doit vérifier via une authentification à deux facteurs ou contacter le support.

  • A3 : Compte de destination non valide
    → Le système affiche : « Compte introuvable. »
    → Le client peut saisir à nouveau ou utiliser la recherche de compte.

Extensions

  • <> : Envoyer une notification au destinataire

    • Déclencheur : Transfert terminé.

    • Objectif : Informer le destinataire.

  • <> : Appliquer les frais de transfert

    • Déclencheur : Montant du transfert > 1 000 $.

    • Objectif : Déduire des frais de 5 $.

Exigences non fonctionnelles

  • Tous les transferts doivent être enregistrés et auditable.

  • Temps de réponse ≤ 2 secondes.

  • Les données sont chiffrées en transit et au repos.


8. Pièges courants et comment y remédier

Piège Solution
Trop vague (par exemple, « Le système doit traiter les commandes ») Utilisez des actions précises et mesurables.
Langage trop technique Utilisez un langage naturel ; évitez les termes de code ou de base de données.
Chemin d’exception manquant Utilisez les flux alternatifs pour couvrir les échecs.
Aucun critère clair de succès Définissez clairement les postconditions.
Aucune revue par les parties prenantes Impliquez les utilisateurs, les testeurs et les analystes métier.

9. Conclusion

L’élaboration des cas d’utilisation n’est pas seulement une activité de documentation : c’est un processus stratégique qui garantit que le système répond aux besoins réels des utilisateurs avec clarté, précision et exhaustivité. En développant systématiquement les cas d’utilisation de haut niveau en spécifications détaillées et actionnables, les équipes réduisent les risques, améliorent la communication et posent une base solide pour une livraison logicielle réussie.

✅ Conseil final: Traitez l’élaboration des cas d’utilisation comme une conversation itérative, et non comme une tâche ponctuelle. Affinez-la au fur et à mesure que vous en apprenez davantage sur le système et ses utilisateurs.


Annexe : Modèle pour l’élaboration des cas d’utilisation

# Nom du cas d'utilisation : [par exemple, Mettre à jour le profil]

**Acteur principal** : [par exemple, Client]  
**Acteurs secondaires** : [par exemple, Base de données, Service de messagerie]  
**Parties prenantes** : [par exemple, Client, Équipe d'assistance]

### Préconditions
- [Liste des conditions]

### Postconditions
- [Liste des résultats]

### Scénario principal de succès (flux principal)
1. [Étape 1]  
2. [Étape 2]  
...

### Flux alternatifs
- **A1 : [Nom]**  
  1. [Étape]  
  2. [Étape]  
- **A2 : [Nom]**  
  ...

### Extensions (<<extend>>)
- **<<extend>> : [Nom]**  
  - Déclencheur : [Quand]  
  - Objectif : [Pourquoi]

### Exigences non fonctionnelles
- [Performance, Sécurité, Ergonomie, etc.]

### Notes
- [Contexte supplémentaire ou hypothèses]

En suivant ce guide, les équipes peuvent maîtriser l’art de l’élaboration des cas d’utilisation et concevoir des systèmes qui sont non seulement fonctionnels, mais véritablement alignés sur les attentes des utilisateurs.

Annexe – Description du cas d’utilisation pour le retrait d’espèces par un distributeur automatique :

Nom du cas d’utilisation

Retirer de l’argent

Acteur principal

Client (titulaire de compte bancaire)

Acteurs secondaires

  • Machine à distributeur automatique

  • Serveur bancaire (système bancaire central)

  • Passerelle de paiement (pour le traitement des transactions)

  • Système de détection de fraude

  • Imprimante (pour la génération de reçu)

Parties prenantes et intérêts

  • Client: Souhaite retirer de l’argent de manière sécurisée et efficace.

  • Banque: Assure l’intégrité des transactions, la prévention de la fraude et la mise à jour précise des comptes.

  • Opérateur de distributeur automatique: Assure la disponibilité de la machine et la gestion du stock de billets.

  • Équipe de sécurité: Surveille les comportements suspects et prévient la fraude.


Préconditions

  1. Le client a une carte bancaire valide insérée dans le guichet automatique.

  2. Le client s’est authentifié avec succès (entrée du code PIN correct).

  3. Le compte du client est actif et non verrouillé.

  4. Le guichet automatique dispose de suffisamment de cash dans le coffre.

  5. Le compte du client dispose d’un solde disponible suffisant.

  6. La limite quotidienne de retrait n’a pas été dépassée.


Postconditions

  1. Le montant demandé en espèces est délivré au client.

  2. Le solde du compte du client est réduit du montant retiré.

  3. Un enregistrement de transaction est créé dans le système bancaire.

  4. Un reçu est imprimé (si demandé).

  5. Le guichet automatique enregistre la transaction pour audit et rapprochement.


Scénario principal de succès (flux de base)

Étape Action du système Réponse de l’acteur
1 Guichet automatique affiche : « Veuillez entrer votre code PIN. » Le client entre son code PIN.
2 Le guichet automatique valide le code PIN auprès du serveur bancaire. Le système confirme que le code PIN est correct.
3 Le guichet automatique affiche le menu principal : « Retirer de l’argent, Vérifier le solde, Transfert, Quitter. » Le client sélectionne « Retirer de l’argent. »
4 Guichet automatique affiche : « Entrez le montant à retirer. » Le client saisit le montant (par exemple, 100 $).
5 Le distributeur valide :
  • Le montant est compris dans la limite quotidienne.

  • Le compte dispose de fonds suffisants.

  • Le distributeur dispose de suffisamment de liquide. | Le système confirme la validité. |
    | 6 | Le distributeur demande une autorisation au serveur bancaire. | Le serveur bancaire approuve la transaction. |
    | 7 | Le distributeur distribue le liquide depuis la caisse. | Le client reçoit le liquide. |
    | 8 | Le distributeur affiche : « Souhaitez-vous un reçu ? » | Le client sélectionne « Oui » ou « Non ». |
    | 9 | Si « Oui » : le distributeur imprime un reçu avec :

  • Date/heure

  • Montant retiré

  • Solde restant

  • Numéro de transaction | Le client récupère le reçu. |
    | 10 | Le distributeur affiche : « Merci. Veuillez retirer votre carte. » | Le client retire sa carte. |
    | 11 | Le distributeur retourne à l’état inactif. | Le système est réinitialisé. |

✅ Résultat réussi: Le client reçoit du liquide et (facultativement) un reçu. Le compte est mis à jour.


Flux alternatifs (scénarios d’exception)

A1 : PIN incorrect saisi (3 tentatives)

  • Déclencheur: Le client saisit un PIN incorrect trois fois.

  • Action du système: Le distributeur verrouille la carte et affiche : « Carte verrouillée. Contactez votre banque. »

  • Action de l’acteur: Le client quitte et contacte sa banque.

  • Postcondition: La carte est temporairement bloquée ; la transaction est enregistrée.

⚠️ Remarque : il s’agit d’une mesure de sécurité visant à empêcher l’accès non autorisé.


A2 : Fonds insuffisants

  • Déclencheur: Le client saisit un montant supérieur au solde disponible.

  • Action du système: Le distributeur affiche : « Fonds insuffisants. Solde actuel : $X. »

  • Action de l’acteur: Le client sélectionne « Annuler » ou saisit un montant inférieur.

  • Postcondition: Aucune espèce délivrée ; aucun changement de compte.


A3 : Espèces insuffisantes dans le distributeur

  • Déclencheur: Le client saisit un montant valide, mais le coffre du distributeur est vide ou en dessous du seuil minimum.

  • Action du système: Le distributeur affiche : « Espèces non disponibles. Veuillez réessayer plus tard. »

  • Action de l’acteur: Le client annule ou revient plus tard.

  • Postcondition: Transaction non traitée ; aucun changement de compte.


A4 : Montant du retrait dépasse la limite quotidienne

  • Déclencheur: Le client tente de retirer un montant supérieur à la limite quotidienne (par exemple, 1 000 $).

  • Action du système: Le distributeur affiche : « Dépasse la limite quotidienne de retrait. Essayez un montant plus petit. »

  • Action de l’acteur: Le client réduit le montant ou annule.

  • Postcondition: Transaction non traitée.


A5 : Transaction refusée par le serveur bancaire

  • Déclencheur: Le serveur bancaire rejette la transaction (par exemple, en raison d’une alerte de fraude, gel du compte).

  • Action du système: La machine affiche : « Transaction refusée. Veuillez contacter votre banque. »

  • Action de l’acteur: Le client annule et contacte sa banque.

  • Postcondition: Aucune espèce délivrée ; aucun changement de compte.


Extensions (relations <>)

Extension Déclencheur Objectif
<>: Informer le système de détection de fraude Lorsqu’un retrait est effectué dans un pays étranger ou dépasse le comportement habituel Signaler les activités suspectes pour examen
<>: Envoyer une alerte SMS au client Après un retrait réussi Informez le client de la transaction (sécurité renforcée)
<>: Appliquer un frais de retrait Pour les titulaires de comptes non principaux ou certains types de comptes Facturer un frais pour des services spécifiques
<>: Imprimer l’historique des transactions Si le client sélectionne « Imprimer l’historique » dans le menu Fournir un résumé imprimé des transactions récentes

Exigences non fonctionnelles (ENF)

Catégorie Exigence
Performance La transaction doit être traitée en moins de 3 secondes.
Sécurité Toutes les communications sont chiffrées (TLS 1.3). Le code PIN n’est jamais stocké ni transmis en clair.
Fiabilité La machine doit refuser de distribuer de l’argent sauf si le serveur bancaire confirme l’autorisation.
Utilisabilité L’interface doit être accessible (par exemple, boutons de grande taille, guidage vocal pour les personnes malvoyantes).
Disponibilité La machine doit être opérationnelle 99,9 % du temps.
Contrôle et conformité Toutes les transactions doivent être enregistrées et traçables pendant 7 ans (selon les réglementations bancaires).

Remarques

  • La machine doit être régulièrement entretenue pour garantir la disponibilité des espèces et la fiabilité du matériel.

  • Si la carte n’est pas retirée dans les 30 secondes suivant la transaction, elle sera automatiquement retenue (fonction anti-vol).

  • Le système prend en charge plusieurs devises et les calculs de taux de change (le cas échéant).


Diagramme de cas d’utilisation (résumé UML)

[Client] --(Retirer de l'argent)--> [Machine]
[Machine] --(Authentifier le code PIN)--> [Serveur bancaire]
[Machine] --(Vérifier les fonds)--> [Serveur bancaire]
[Machine] --(Distribuer de l'argent)--> [Coffre-fort]
[Machine] --(Imprimer le reçu)--> [Imprimante]
[Machine] --(Notifier le système de fraude)--> [Système de détection de fraude]

(Remarque : dans un diagramme UML complet, les relations de cas d’utilisation comme <> et <> seraient indiquées.)


✅ Résumé

Cecicas d’utilisation détaillépour « retirer de l’argent » fournit une spécification claire, structurée et testable qui :

  • Capture les objectifs de l’utilisateur et le comportement du système.

  • Gère les exceptions du monde réel.

  • Soutient la sécurité, la conformité et l’utilisabilité.

  • Sert de fondation pour la conception, les tests et la mise en œuvre.

Il convient à une utilisation dans des sprints agiles, des documents de conception système ou des spécifications formelles de besoins.


📘 Étapes suivantes:

  • Convertissez cela en undiagramme de séquence pour montrer les interactions entre objets.

  • Créer cas de test basé sur chaque flux (principal et alternatif).

  • Lien vers diagrammes de classes (par exemple, CompteTransactionGuichet automatiqueDétection de fraude).

Sidebar Search
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...