La relation d'inclusion connecte un cas d'utilisation de base à un cas d'utilisation d'inclusion. Le cas d'utilisation
d'inclusion est toujours abstrait. Il décrit un segment de comportement inséré dans une instance de cas d'utilisation
qui exécute le cas d'utilisation de base. Le cas d'utilisation de base contrôle la relation à l'inclusion et peut
dépendre du résultat de l'action d'inclusion, mais ni le cas de base ni le cas d'inclusion ne peuvent accéder à leurs
attributs respectifs. Dans ce sens, l'inclusion est encapsulée et représente un comportement qui peut être réutilisé
dans différents cas d'utilisation de base.
La relation d'inclusion vous permet de :
-
Extraire le comportement du cas d'utilisation de base qui n'est pas nécessaire à la compréhension de la finalité
première du cas d'utilisation, seul son résultat compte.
-
Extraire le comportement qui est commun à deux cas d'utilisation ou plus.
Exemple :
Dans un guichet automatique, les cas d'utilisation Retirer des espèces, Déposer des espèces et Virer des fonds ont tous
besoins d'inclure la manière dont le client est identifié par le système. Ce comportement peut être extrait dans un
nouveau cas d'utilisation d'inclusion appelé Identifier le client, que les trois cas d'utilisation de base incluent.
Les cas d'utilisation de base sont indépendants de la méthode utilisée pour l'identification, qui est donc encapsulée
dans le cas d'utilisation d'inclusion. Du point de vue des cas d'utilisation de base, que la méthode d'identification
consiste en la lecture d'une carte bancaire ou en une analyse rétinienne n'a aucune importance. Ils dépendent
uniquement du résultat de l'opération Identifier le client, qui correspond à l'identité de ce dernier. Inversement, du
point de vue du cas d'utilisation Identifier le client, peu importe la manière dont les cas d'utilisation de base
utilisent l'identité du client ou quelles ont été les opérations réalisées en leur sein avant l'inclusion : la méthode
d'identification est exactement la même.
Dans un guichet automatique, les cas d'utilisation Retirer des espèces, Déposer des espèces et Virer des fonds incluent
tous le cas d'utilisation Identifier le client.
Un cas d'utilisation de base peut comporter plusieurs inclusions. Un cas d'utilisation d'inclusion peut être inclus
dans plusieurs cas d'utilisation de base. Cela n'indique aucune relation entre les cas d'utilisation de base. Il peut
même exister plusieurs relations d'inclusion entre les mêmes cas d'utilisation d'inclusion et cas d'utilisation de
base, à condition que l'inclusion soit insérée à des emplacements différents du cas d'utilisation de base. C'est la
relation d'inclusion qui définit l'emplacement en question. Tous les ajouts peuvent être imbriqués, ce qui signifie
qu'un cas d'utilisation d'inclusion peut servir de cas d'utilisation de base pour une autre inclusion.
Un cas d'utilisation d'inclusion étant abstrait, il ne requiert pas d'être associé à un acteur. Une association de
communication à un acteur n'est requise que si le comportement dans l'inclusion implique de manière explicite une
interaction avec un acteur.
Le comportement de l'inclusion est inséré dans un emplacement du cas d'utilisation de base. Lorsqu'une instance de cas
d'utilisation suivant la description d'un cas d'utilisation de base atteint un emplacement du cas d'utilisation de base
depuis lequel une relation d'inclusion est définie, cette instance suit alors la description du cas d'utilisation
d'inclusion. Une fois l'inclusion réalisée, l'instance de cas d'utilisation reprend où elle s'était arrêtée dans le cas
d'utilisation de base.
Une instance de cas d'utilisation suivant la description d'un cas d'utilisation de base, y compris son inclusion.
La relation d'inclusion n'est pas conditionnelle : l'instance de cas d'utilisation est toujours exécutée, à partir du
moment où elle atteint l'emplacement du cas d'utilisation de base pour lequel elle est définie. Si vous souhaitez
exprimer une condition, vous devez le faire dans le cadre du cas d'utilisation de base. L'instance de cas d'utilisation
n'est pas exécutée si elle n'atteint jamais l'emplacement pour laquelle la relation d'inclusion est définie.
L'instance de cas d'utilisation n°1 atteint l'emplacement dans le cas d'utilisation de base pour lequel la relation
d'inclusion est définie et l'inclusion est réalisée. L'instance de cas d'utilisation n°2 n'atteint pas cet emplacement
et l'inclusion n'est donc pas réalisée dans le cadre de cette instance.
Le cas d'utilisation d'inclusion constitue un segment de comportement continu, inclus en totalité dans un emplacement
du cas d'utilisation de base. Si vous disposez de segments de comportement distincts devant être insérés à différents
emplacements, il est conseillé de recourir plutôt à une relation d'extension (voir Instructions
relatives au produit : Relation d'extension) ou la généralisation de cas d'utilisation (voir Instructions relatives au produit : Généralisation de cas d'utilisation).
Pour la relation d'inclusion, il est conseillé de définir l'emplacement dans la séquence de comportement du cas
d'utilisation de base où doit être insérée l'inclusion. Cet emplacement peut être défini en faisant référence à une
étape ou à un flux secondaire donnés du flux d'événements du cas d'utilisation de base.
Exemple :
Dans le guichet automatique, le cas d'utilisation Retirer des espèces inclut le cas d'utilisation Identifier le client.
La relation d'inclusion entre Retirer des espèces et Identifier le client peut être décrite comme suit :
Identifier le client est inséré entre les sections 1.1 Début du cas d'utilisation et 1.2 Demander le montant dans le
flux d'événements de Retirer des espèces.
A des fins de clarté, vous devez également mentionner l'inclusion dans le texte décrivant le flux d'événements du cas
d'utilisation de base.
S'il existe un segment de comportement de cas d'utilisation dans lequel vous pouvez voir que le cas d'utilisation ne
dépend pas de la manière dont sont réalisées les opérations, mais qui dépend du résultat de la fonction, vous pouvez
simplifier le cas d'utilisation par extraction de ce comportement dans un cas d'utilisation d'inclusion. Le cas
d'utilisation d'inclusion peut être inclus dans plusieurs cas d'utilisation de base, ce qui signifie qu'il vous permet
de réutiliser le comportement dans les cas d'utilisation du modèle. Examinez la description étape par étape ci-dessous
de cas d'utilisation d'un système téléphonique simple :
Appel
-
L'appelant décroche le combiné.
-
Le système émet une tonalité.
-
L'appelant compose un chiffre.
-
Le système désactive la tonalité.
-
L'appelant compose le reste du numéro.
-
Le système analyse le numéro et localise l'adresse réseau de l'appelé.
-
Le système détermine si un circuit virtuel peut être établi entre l'appelant et
l'appelé.
-
Le système alloue toutes les ressources au circuit virtuel et établit la connexion.
-
Le système déclenche la sonnerie du téléphone de l'appelé.
-
Etc.
Démarrer le système
-
L'opérateur active le système.
-
Le système réalise des tests de diagnostic sur tous les composants.
-
Le système teste les connexions de tous les systèmes adjacents. Pour chaque système adjacent, le système détermine si un circuit virtuel peut être établi entre un système adjacent et lui. Le
système alloue toutes les ressources au circuit virtuel et établit la connexion.
-
Le système répond qu'il est prêt à fonctionner.
-
Etc.
Le texte affiché en bleu présente de fortes similitudes ; dans les deux cas, nous réalisons le même comportement, bien
que ce soit pour des raisons très différentes. Cette similarité peut être exploitée et l'on peut extraire le
comportement commun dans un nouveau cas d'utilisation : Gérer le circuit virtuel.
Une fois le comportement commun extrait, le cas d'utilisation devient :
Appel
-
L'appelant décroche le combiné.
-
Le système présente une tonalité.
-
L'appelant compose un chiffre.
-
Le système désactive la tonalité.
-
L'appelant compose le reste du numéro.
-
Le système analyse le numéro et détermine l'adresse réseau de l'appelé.
-
Incluez le cas d'utilisation Gérer le circuit virtuel pour établir une connectivité au sein du réseau.
-
Le système déclenche la sonnerie du téléphone de l'appelé.
-
Etc.
Démarrer le système
-
L'opérateur active le système.
-
Le système réalise des tests de diagnostic sur tous les composants.
-
Le système teste les connexions de tous les systèmes adjacents. Pour chaque système adjacent (itération), incluez
Gérer le circuit virtuel afin d'établir une connectivité au sein du réseau.
-
Le système répond qu'il est prêt à fonctionner.
-
Etc.
Dans un diagramme de cas d'utilisation, la relation d'inclusion créée sera illustrée comme suit :
Les cas d'utilisation Appel et Démarrer le système incluent tous les deux le comportement du cas d'utilisation abstrait
Gérer le circuit virtuel.
|