Il faut élargir les bulles ?
Pas du tout, on va parler d'extension et d'inclusion entre différents cas d'utilisation. Par exemple, pour retirer de l'argent sur notre distributeur, il faut obligatoirement choisir le montant que l'on souhaite obtenir, on dira alors que le cas "retirer de l'argent" inclus le cas "sélectionner un montant".
Ah d'accord, mais alors les extensions c'est quoi ?
C'est lorsqu'un cas donne la possibilité d'accéder à notre cas, pour reprendre l'exemple du distributeur, si on insère sa carte de retrait, il nous faut d'abord composer notre code avant de pouvoir réaliser une action, on dira alors que "composer le code" étend des cas comme "retirer de l'argent", "obtenir un rib" ou encore "voir l'historique".
J'ai tout compris ! ... Sauf comment les représenter
C'est très simple, on les représente avec des flèches en précisant « include » pour les inclusions et « extend » pour les extensions. Attention tout de même au sens des flèches ! Je te montre un exemple ou le "cas 1" inclus le "cas 2" et étend le "cas 3".
Reste à définir les relations entre les différents cas de notre distributeur, tu saurais me les expliquer?
Si j'ai bien tout compris, le premier cas est de saisir son code, ça va nous donner accès aux fonctions :
- Retirer de l'argent
- Voir l'historique
- Obtenir un RIB
ensuite retirer de l'argent entraîne la sélection d'un montant, et ensuite le choix d'avoir ou non un ticket
C'est exactement ça. Je te laisse faire le diagramme vu que tu as tout compris !
On a toutes les fonctionnalités pour un utilisateur, il ne nous manque plus qu'une chose
Ah bon ? Et c'est quoi ?
L'utilisateur ! J'ai terminé cette partie