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.
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.
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.
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
- 01Un cas d'utilisation est un objectif qui survit à une refonte de l'interface. Si l'étiquette changeait, c'est une étape.
- 02Include va de la base vers le comportement toujours inclus ; extend va du comportement optionnel vers la base.
- 03Les cas d'utilisation inclus n'ont pas d'acteur propre, et c'est correct.
- 04Les acteurs secondaires sont ce qui rend le diagramme utile dans une conversation de périmètre.
- 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
- 01Qu'est-ce que UML ?
- 02Symboles UML
- 03Choisir un diagramme
- 04Diagrammes de classes
- 05Exemples de diagrammes de classes
- 06Dessiner un diagramme de classes
- 07Symboles du diagramme de classes
- 08Diagrammes de séquence
- 09Exemples de diagrammes de séquence
- 10Dessiner un diagramme de séquence
- 11Diagrammes de cas d'utilisation
- 12Exemples de cas d'utilisation
- 13Diagrammes d'activité
- 14Exemples d'activité
- 15Diagrammes états-transitions
- 16Exemples d'états-transitions
- 17Diagrammes de composants
- 18Exemples de composants
- 19Dessiner un diagramme de composants
- 20Symboles de composants
- 21Diagrammes de déploiement
- 22Exemples de déploiement
- 23Diagrammes d'objets
- 24Diagrammes de paquetages
- 25Diagrammes de structure composite
- 26Diagrammes de communication
- 27Séquence vs communication
- 28Diagrammes de temps
- 29Diagrammes globaux d'interaction
- 30Diagrammes de profil
- 31UML avec l'IA
- 32Exemple e-commerce
- 33Exemple bancaire
- 34Exemple microservices
- 35Exemple AWS
À lire aussi
Diagrammes de comportement
Fondamentaux
Diagrammes de comportement
Pratique de la modélisation
Diagrammes de comportement
Diagrammes de comportement