![](./Images/espaceur.gif) |
![](./Images/angle_titre.gif) |
3.2.5 Autres relations entre cas
d’utilisation
- «include» = réutilisation complète
sans changement
- Généralisation spécialisation ou héritage = spécialisation de certaines actions du cas
d’utilisation d’origine
- «extend» = ajout de
fonctionnalité facultative
précédent suivant
Les relations entre cas d’utilisation ont pour but de
décomposer le système en fonctionnalités à granularité plus fine, suivant ainsi
l’adage « diviser pour régner ». Il existe trois types de
décompositions ou relations entre cas d’utilisation, les deux principales
étant l’inclusion et l’héritage, la troisième (l’extension)
étant d’utilisation mal aisée et déconseillée.
La relation la plus simple à comprendre entre deux cas
d’utilisation est l’inclusion notée par une dépendance stéréotypée
« «include» ». L’inclusion exprime le fait qu’un cas
d’utilisation comprend une séquence d’actions consécutives
qu’il est possible de factoriser avec d’autres cas
d’utilisation. Dans notre étude de cas Studs, la vérification des droits est similaire, à quelques
paramètres près, et peut être factorisée pour la création et la participation à
un scrutin. Lorsque le système modélisé atteint une certaine taille, il est
important de montrer les relations d’inclusion qui définissent alors des
parties du système réutilisables par d’autres parties.
La relation de généralisation spécialisation ou héritage est
utile pour montrer qu’un cas d’utilisation est un type spécial
d’un autre : le cas d’utilisation le plus spécialisé diffère
quelque peu de l’original. Le premier spécialise certaines étapes de la
séquence d’actions du second en les remplaçant par des
« versions » plus spécialisées. Ainsi, toutes les étapes du cas
d’utilisation original doivent être exécutées, certaines étant remplacées
par des « versions » plus spécialisées. Dans notre étude de cas, nous
pouvons imaginer que le client demande de concevoir l’authentification
comme une « brique » générique spécialisable selon les protocoles
existants. Par exemple, nous spécialisons le cas d’utilisation
« vérifier droits » en utilisant la méthode M1 et créons le nouveau
cas d’utilisation « authentification M1 ».
La relation d’extension entre cas d’utilisation
est très controversée. Les concepteurs du langage UML ont voulu montrer
qu’un cas d’utilisation peut réutiliser un cas d’utilisation
complet, de manière similaire à l’inclusion, mais que cette réutilisation
est optionnelle et dépend des conditions
d’exécution. Dans l’exemple de la figure de cette diapositive,
l’authentification par la méthode M1 peut être complétée de manière
facultative par l’enregistrement de toutes les tentatives, y compris
celles qui ont été infructueuses, dans le but d’auditer a posteriori le système ou de lancer des alertes sécurité
en cas d’attaques du système lorsque des suites de tentatives
infructueuses proviennent d’un même domaine d’adresse IP (attaque
dite de déni de service).
D. Conan, C. Taconet, C. Bac,
Télécom SudParis, CSC 4002, Octobre 2014![](./Images/angle_titre.gif)
|
|