Archyno
UMLDiagrammes de comportement

Exemples de diagrammes de cas d'utilisation

Deux diagrammes de cas d'utilisation de systèmes que tout le monde comprend déjà, et un troisième volontairement raté - car l'erreur qui gâche la plupart de ces diagrammes se reconnaît plus facilement qu'elle ne se définit.

8 min de lectureUML 2.5.112 sur 35

La réponse courte

  • Deux acteurs, cinq ellipses et une frontière font un diagramme complet. Un système de bibliothèque couvre à cette taille include, extend et les deux sortes d'acteurs.
  • Se connecter n'est généralement pas un cas d'utilisation. Personne n'ouvre une application pour se connecter : le but est ce pour quoi on s'est connecté.
  • Un trait simple entre deux ellipses est illégal. Les associations vont de l'acteur au cas d'utilisation ; entre cas, c'est include, extend ou généralisation.
  • De trois à une douzaine de cas d'utilisation. Au-delà, les ellipses sont des étapes et non des buts, ou la frontière englobe deux systèmes.
Un diagramme de cas d'utilisation UML pour un système de bibliothèque. L'acteur Member à gauche est associé à rechercher au catalogue, emprunter un livre et rendre un livre. L'acteur Librarian à droite est associé à emprunter un livre et rendre un livre. Emprunter un livre inclut vérifier l'adhésion. Payer une amende de retard étend rendre un livre. Les cinq cas d'utilisation se trouvent à l'intérieur d'une frontière de système Library.
Un système de bibliothèque : deux acteurs, cinq objectifs, une frontière. Tout ce à quoi sert un diagramme de cas d'utilisation, et rien d'autre.

01Exemple 1 : un système de bibliothèque#

La bibliothèque est le premier exemple standard pour une bonne raison : tout le monde connaît déjà le domaine, il ne reste donc que la notation à regarder. Deux acteurs, cinq cas d'utilisation, et une frontière qui dit desquels le logiciel est responsable.

Remarquez ce que sont les ellipses. Emprunter un livre est un objectif - un adhérent veut repartir avec un livre - et cela reste un objectif que le comptoir soit une personne, une borne en libre-service ou une application. Cette indépendance vis-à-vis du mécanisme est le test du cas d'utilisation : si remplacer l'interface changeait l'étiquette, l'étiquette est une étape.

Deux relations font un vrai travail. Vérifier l'adhésion est incluse par Emprunter un livre, c'est-à-dire qu'elle a toujours lieu dans le cadre de celui-ci, et la flèche va de l'emprunt vers le comportement inclus. Elle n'a pas d'acteur propre, et c'est correct : personne n'arrive à la bibliothèque en voulant qu'on vérifie son adhésion. Payer une amende de retard étend Rendre un livre : cela n'arrive que parfois, et la flèche va dans l'autre sens, du comportement optionnel vers la base.

02Exemple 2 : une boutique en ligne, avec un système externe#

Le second exemple ajoute la pièce que la plupart des premiers diagrammes oublient : un système dont vous dépendez et que vous ne contrôlez pas.

Un diagramme de cas d'utilisation UML pour une boutique en ligne. L'acteur Customer est associé à parcourir les produits et passer commande. Passer commande inclut payer la commande. Appliquer un code de réduction étend passer commande. Payer la commande est associé à Payment gateway, un acteur secondaire à droite, hors de la frontière Online store.

La Payment gateway est un acteur secondaire. Elle n'initie rien - sur ce diagramme, tout part du client - mais le système l'appelle, donc elle a sa place hors de la frontière, avec un trait vers le cas d'utilisation qui en a besoin. La dessiner est ce qui fait gagner sa place à un diagramme de cas d'utilisation dans une conversation de périmètre : la frontière montre désormais exactement quel comportement vous assumez et lequel vous achetez.

Appliquer un code de réduction étend Passer commande parce que la plupart des commandes n'en ont pas. Si presque toutes en avaient un, ce serait un include à la place. La question n'est pas de savoir si le comportement est important, mais s'il a toujours lieu.

Quatre ellipses est une taille raisonnable. Une vraie boutique a des centaines de comportements, et le diagramme ne grossit pas d'autant : vous en dessinez un par conversation, cadré sur la question posée, et c'est la discipline dont parle cadrer un modèle.

03Exemple 3 : la même notation mal employée#

La plupart des mauvais diagrammes de cas d'utilisation le sont d'exactement une façon, et cela vaut la peine de la voir une fois.

Un diagramme de cas d'utilisation UML dessiné de façon incorrecte. L'acteur User est associé à quatre ellipses intitulées ouvrir la page de connexion, saisir l'identifiant, saisir le mot de passe et cliquer sur envoyer. Une note souligne qu'il s'agit d'étapes d'interface plutôt que d'objectifs, et que le diagramme entier devrait être un seul cas d'utilisation appelé se connecter.

Quatre ellipses, un acteur, une frontière, aucune erreur de notation - et le diagramme ne vaut rien. Chaque étiquette est une étape d'interface plutôt qu'un objectif qu'une personne poursuit. Personne ne veut saisir un identifiant ; on veut se connecter, et même cela n'est en général qu'au service d'autre chose.

Tout le diagramme se réduit à un seul cas d'utilisation, et les quatre étapes ont leur place dans sa description textuelle ou, si le branchement compte vraiment, dans un diagramme d'activité. C'est la réparation standard : la séquence part vers l'activité, les objectifs restent ici.

04Les adapter à votre système#

Les deux bons diagrammes ci-dessus sont le même diagramme avec d'autres noms, et c'est ce qu'il y a d'utile dans cette notation : une fois la forme en main, le suivant prend dix minutes.

À utiliser quand

  • Des objectifs qu'un utilisateur nommerait, formulés en verbe plus objet : passer commande, emprunter un livre.
  • Une frontière tracée autour d'exactement un système, avec les acteurs à l'extérieur.
  • Des acteurs secondaires pour chaque service externe appelé par le système, pour rendre les dépendances visibles.
  • Include pour un comportement qui a toujours lieu ; extend pour un comportement qui a parfois lieu.

Préférer autre chose quand

  • Les étapes d'interface - cliquer, saisir, sélectionner, envoyer. Ce ne sont pas des objectifs.
  • Du CRUD éparpillé sur le diagramme : créer, lire, modifier et supprimer une chose est un cas d'utilisation, pas quatre.
  • Des traits simples entre deux ellipses. Seuls include, extend et la généralisation y sont légaux.
  • Plus d'une douzaine d'ellipses environ. Découpez plutôt par acteur ou par sous-système.

05Ce qu'il faut retenir#

En une ligne chacun

  1. 01Un cas d'utilisation est un objectif qui survit à une refonte de l'interface. Si l'étiquette changeait, c'est une étape.
  2. 02Include va de la base vers le comportement toujours inclus ; extend va du comportement optionnel vers la base.
  3. 03Les cas d'utilisation inclus n'ont pas d'acteur propre, et c'est correct.
  4. 04Les acteurs secondaires sont ce qui rend le diagramme utile dans une conversation de périmètre.
  5. 05De trois à une douzaine d'ellipses. Au-delà, le diagramme est devenu une liste d'écrans.

06Questions fréquentes#

Quel est un bon exemple de diagramme de cas d'utilisation ?

Un système de bibliothèque : un Adhérent cherche au catalogue, emprunte et rend des livres ; un Bibliothécaire tient le comptoir pour ces deux-là ; emprunter inclut vérifier l'adhésion ; et payer une amende étend rendre un livre. Deux acteurs, cinq ellipses, une frontière suffisent.

Se connecter est-il un cas d'utilisation ?

Rarement à lui seul. Personne n'ouvre une application pour se connecter : on se connecte pour faire autre chose, et cette autre chose est le but. Dessinez-le en cas d'utilisation inclus quand plusieurs buts l'exigent vraiment, sinon omettez-le.

Combien de cas d'utilisation par diagramme ?

Entre trois et une douzaine. En dessous de trois, une phrase aurait suffi ; au-dessus d'une douzaine, les ellipses sont des étapes et non des buts, ou la frontière a été tracée autour de deux systèmes.

Deux cas d'utilisation peuvent-ils être reliés par une simple association ?

Non. Les associations ne relient qu'un acteur et un cas d'utilisation. Entre deux cas d'utilisation, seules include, extend et la généralisation sont légales ; un trait simple entre deux ellipses signale qu'on dessine une suite d'étapes plutôt qu'un ensemble de buts.

Qu'est-ce qu'un acteur secondaire dans un diagramme de cas d'utilisation ?

Une partie externe que le système appelle plutôt qu'elle n'initie quoi que ce soit : passerelle de paiement, fournisseur d'identité, service d'envoi. On la dessine en acteur de l'autre côté de la frontière : c'est la partie qui montre ce dont vous dépendez sans le contrôler.

Dans cette série

À lire aussi

Tous les articles