Cas d’utilisation dans UML : Comment rédiger des spécifications de cas d’utilisation efficaces

Afficher un diagramme de cas d’utilisation en utilisant uniquementUMLla notation n’est pas suffisante. Chaque cas d’utilisation est accompagné de texte qui explique le but du cas d’utilisation et la fonctionnalité réalisée lorsque le cas d’utilisation est exécuté. Les spécifications de cas d’utilisation sont généralement créées de manière itérative pendant les phases d’analyse et de conception.

  • Premièrement, une brève description est rédigée uniquement des étapes nécessaires au déroulement normal du cas d’utilisation (c’est-à-dire la fonctionnalité que le cas d’utilisation fournit).
  • Au fur et à mesure que l’analyse progresse, ces étapes sont précisées davantage.
  • Enfin, les flux alternatifs et les flux d’exception sont ajoutés au cas d’utilisation.
  • Chaque projet peut adopter un modèle standard de cas d’utilisation pour créer des spécifications de cas d’utilisation.

Cas d’utilisation vs. Spécification de cas d’utilisation

Un cas d’utilisation décrit une tâche effectuée par un acteur qui apporte une valeur commerciale. Un cas d’utilisation peut être visualisé sous forme de diagramme de cas d’utilisation et/ou d’un format de spécification textuelle structurée :

Use Case vs. Use Case Specification

Les cas d’utilisation (tâches que le client souhaite effectuer) peuvent être :

  • Interaction — Les cas d’utilisation système décrivent comment un acteur interagit avec le système pour atteindre un objectif commercial défini.
  • Manuel — Une séquence d’actions effectuées par l’acteur.
  • Automatisé — Une séquence d’étapes exécutées par un programme ou un script.

Caractéristiques d’un cas d’utilisation

Un cas d’utilisation a :

  • Un seul objectif
  • Un point de départ
  • Un point d’arrivée
  • Plusieurs chemins du départ à l’arrivée
    • C’est-à-dire qu’il spécifie le comportement pour diverses conditions possibles
    • Chaque condition peut nécessiter des actions spécifiques

Characteristics of a Use Case

Par exemple — Le client paie une facture :

Customer Pays a Bill

Il existe plusieurs chemins pouratteindre l’objectif:

  • Par téléphone
  • Par courrier
  • En personne
  • Par chèque
  • En espèces, etc.

Chemins qui ne mènent pas au but:

  • Carte de crédit refusée

Approche agile des cas d’utilisation

Le modèle de cas d’utilisation et ses cas d’utilisation individuels évoluent progressivement au fil du temps. Tous les cas d’utilisation du modèle n’ont pas besoin d’être spécifiés au même niveau de détail.

Juste-à-temps et juste-assez

Les cas d’utilisation peuvent être rédigés à différents niveaux de détail et d’étendue, chacun servant une finalité :

  • Résumé: Une description générale et un aperçu de haut niveau d’une fonction système ou d’un processus métier.
  • Niveau objectif utilisateur: Descriptions liées aux tâches de l’utilisateurobjectifs et de la manière dont ils interagissent avec le système ; descriptions de processus métiers spécifiques. Les cas d’utilisation axés sur les objectifs utilisateur sont généralement considérés comme se situant au niveau des tâches principales de l’utilisateur.

Exemple: Retirer de l’argent à un distributeur automatique est une tâche utile et constituerait un cas d’utilisation de niveau principal, mais saisir votre code PIN n’en serait pas un, car il soutient la tâche principale.

  • Sous-fonction: Descriptions des activités de niveau inférieur qui complètent des parties d’un cas d’utilisation principal.

Agile Use Case Approach

Remarque : Certains cas d’utilisation peuvent être entièrement spécifiés au niveau II. Vous vous arrêtez lorsque vous avez juste assez de détails, obtenus de manière opportune et suffisante.

Spécification détaillée du cas d’utilisation

Un cas d’utilisation détaillé est une représentation textuelle qui décrit une séquence d’événements ainsi que d’autres informations pertinentes relatives au cas d’utilisation selon un format particulier. Les personnes adoptent généralement un modèle standard de cas d’utilisation pour documenter les informations détaillées relatives au cas d’utilisation.

Detailed Use Case Specification

Modèle de cas d’utilisation – Exemple de retrait de cash par distributeur automatique

Comme mentionné précédemment, les cas d’utilisation ont diverses styles de notation (par exemple, graphiques, UML, format texte). Quel que soit le style de notation utilisé, il doit être facile à comprendre. Vous pouvez utiliser un modèle tel que celui de Alistair Cockburn, ou choisir le modèle qui convient le mieux à votre équipe.

Spécification du cas d’utilisation
Nom du cas d’utilisation : Retirer de l’argent
Acteurs : Client (principal), Système bancaire (secondaire)
Description sommaire : Permet à tout client bancaire de retirer de l’argent de son compte bancaire.
Priorité : Doit avoir
Statut : Détail moyen
Préconditions : Le client bancaire possède une carte à insérer dans le guichet automatique
Le guichet automatique est en ligne et fonctionne normalement
Postconditions :
  • Le client bancaire a reçu de l’argent (et un reçu facultatif)
  • La banque a débité le compte bancaire du client et enregistré les détails de la transaction
Flux principal :
  1. Le client insère sa carte dans le guichet automatique
  2. Le guichet automatique vérifie que la carte est une carte bancaire valide
  3. Le guichet automatique demande l’entrée du code PIN
  4. Le client entre son code PIN
  5. Le guichet automatique valide la carte bancaire par rapport au code PIN
  6. Le guichet automatique présente les options de service, y compris « Retrait »
  7. Le client sélectionne « Retrait »
  8. Le guichet automatique présente les options de montant
  9. Le client sélectionne un montant ou en entre un
  10. Le guichet automatique vérifie qu’il y a suffisamment d’argent disponible dans la machine
  11. Le guichet automatique vérifie que le client est en dessous de la limite de retrait
  12. Le guichet automatique vérifie qu’il y a suffisamment de fonds disponibles sur le compte bancaire du client
  13. Le guichet automatique débite le compte bancaire du client
  14. La machine retourne la carte bancaire du client
  15. Le client prend sa carte bancaire
  16. La machine distribue de l’argent au client
  17. Le client prend son argent
Flux alternatifs : 2a. Carte invalide
2b. Carte insérée à l’envers
5a. Carte volée
5b. Code PIN invalide
10a. Argent insuffisant dans la machine
10b. Valeur monétaire incorrecte dans la machine
11a. Retrait dépasse la limite de retrait
12a. Fonds insuffisants sur le compte bancaire du client
14a. Carte bancaire coincée dans la machine
15a. Le client ne prend pas la carte bancaire
16a. Argent coincé dans la machine
17a. Le client ne parvient pas à prendre l’argent

  • La machine ne peut pas communiquer avec le système bancaire
  • Le client ne répond pas aux invites de la machine
Règles métier : B1 : Format du code PIN
B2 : Nombre de tentatives de code PIN
B3 : Options de service
B4 : Options de montant
B5 : Limites de retrait
B6 : La carte doit être prise avant la distribution de l’argent
Exigences non fonctionnelles : NF1 : Temps nécessaire pour finaliser la transaction
NF2 : Sécurité de l’entrée du code PIN
NF3 : Temps autorisé pour récupérer la carte et l’argent
NF4 : Prise en charge des langues
NF5 : Prise en charge des utilisateurs malvoyants et partiellement voyants

Leave a Reply