Rubriques

Explication Haut de la page

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 qui est inséré dans une instance de cas d'utilisation exécutant le cas d'utilisation de base. Le cas d'utilisation de base contrôle la relation avec l'inclusion et peut dépendre du résultat de l'exécution de l'inclusion, mais ni la base ni l'inclusion ne peuvent accéder à leurs attributs respectifs. L'inclusion est ainsi encapsulée et représente un comportement pouvant être réutilisé dans différents cas d'utilisation de base.

Vous pouvez utiliser la relation d'inclusion pour :

  • Eliminer un comportement du cas d'utilisation de base qui n'est pas utile à la compréhension de l'objectif principal du cas d'utilisation ; seul son résultat compte.
  • Eliminer le comportement commun à deux cas d'utilisation minimum.

Exemple :

Dans un système ATM, les cas d'utilisation Retirer de l'argent, Déposer de l'argent et Transférer des fonds doivent tous inclure le mode d'identification du client dans le système. Ce comportement peut être importé dans un nouveau cas d'utilisation d'inclusion appelé Identifier le client, inclus dans les trois cas d'utilisation de base. Les cas d'utilisation de base sont indépendants de la méthode d'identification utilisée, et sont donc, par conséquent, encapsulés dans le cas d'utilisation d'inclusion. Du point de vue des cas d'utilisation de base, il importe peu de savoir si la méthode d'identification consiste à lire une carte bancaire magnétique ou à effectuer un balayage rétinien. Ils dépendent uniquement du résultat du cas d'utilisation Identifier le client, qui représente l'identité du client. Du point de vue du cas d'utilisation Identifier client, il en va de même : peu importe comment les cas d'utilisation de base utilisent l'identité du client ou ce qui s'y passe avant l'exécution de l'inclusion : la méthode d'identification est toujours la même.

Diagramme décrit dans le texte d'accompagnement.

Dans le système ATM, les cas d'utilisation Retirer de l'argent, Déposer de l'argent et Transférer 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 inséré dans plusieurs cas d'utilisation de base. Cela n'indique aucune relation entre les cas d'utilisation de base. Plusieurs relations d'inclusion peuvent exister entre le même cas d'utilisation d'inclusion et cas d'utilisation de base, à condition que l'inclusion soit insérée à différents emplacements du cas d'utilisation de base. La relation d'inclusion définit l'emplacement. 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 à une autre inclusion.

Etant donné que le cas d'utilisation d'inclusion est abstrait, il n'est pas nécessaire d'y associer un acteur. Une association de communication avec un acteur n'est nécessaire que si le comportement de l'inclusion implique clairement une interaction avec un acteur.

Exécution de l'inclusion Haut de la page

Le comportement de l'inclusion est inséré à 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 à partir duquel une relation d'inclusion est définie, elle suit alors la description du cas d'utilisation d'inclusion. Une fois l'inclusion exécutée, l'instance de cas d'utilisation reprend à l'endroit où elle a été laissée dans le cas d'utilisation de base.

Diagramme décrit dans le texte d'accompagnement.

Instance de cas d'utilisation suivant la description du cas d'utilisation de base comprenant son inclusion.

La relation d'inclusion n'est pas conditionnelle : si l'instance de cas d'utilisation atteint l'emplacement du cas d'utilisation de base pour lequel elle est définie, elle est toujours exécutée. Si vous souhaitez exprimer une condition, vous devez le faire dans le cas d'utilisation de base. Si l'instance de cas d'utilisation n'atteint jamais l'emplacement pour lequel la relation d'inclusion est définie, elle ne sera pas exécutée.

Diagramme décrit dans le texte d'accompagnement.

L'instance de cas d'utilisation n°1 atteint l'emplacement du cas d'utilisation de base pour lequel la relation d'inclusion est définie et l'inclusion est exécutée. L'instance de cas d'utilisation n°2 n'atteint pas cet emplacement et l'inclusion n'est donc pas exécutée dans cette instance.

Le cas d'utilisation d'inclusion est un segment de comportement continu qui est inséré à un emplacement unique du cas d'utilisation de base. Si vous souhaitez insérer des segments de comportement distincts à plusieurs emplacements, considérez plutôt la relation d'extension (reportez-vous à la section Principes et conseils : Relation d'extension) ou la généralisation de cas d'utilisation (reportez-vous à la section Principes et conseils : Généralisation de cas d'utilisation).

Description de la relation d'inclusion Haut de la page

Pour la relation d'inclusion, vous devez définir l'emplacement selon l'ordre de comportements du cas d'utilisation de base où l'inclusion doit être insérée. L'emplacement peut être défini en faisant référence à une étape ou un sous-flux particulier du flux d'événements du cas d'utilisation de base.

Exemple :

Dans le système ATM, le cas d'utilisation Retirer de l'argent inclut le cas d'utilisation Identifier le client. La relation d'inclusion entre Retirer de l'argent et Identifier le client peut être décrite comme suit :

Le cas d'utilisation Identifier le client est inséré entre les sections 1.1 Démarrer le cas d'utilisation et 1.2 Demander la somme, dans le flux d'événements Retirer de l'argent.

Pour plus de clarté, il convient de mentionner également l'inclusion dans le texte décrivant le flux d'événements du cas d'utilisation de base.

Exemple d'utilisation Haut de la page

Si un cas d'utilisation contient un segment de comportement dans lequel vous constatez que le cas d'utilisation ne dépend pas de la procédure suivie, mais du résultat de la fonction, vous pouvez simplifier le cas d'utilisation en important ce comportement dans un cas d'utilisation d'inclusion. Le cas d'utilisation d'inclusion peut être intégré à plusieurs cas d'utilisation de base, ce qui signifie qu'il vous permet de réutiliser le comportement dans différents cas d'utilisation du modèle. Considérez les étapes détaillées suivantes pour des cas d'utilisation d'un simple système téléphonique :

Composer un appel

  1. L'appelant décroche le téléphone.
  2. Le système présente une tonalité.
  3. L'appelant compose un chiffre.
  4. Le système désactive la tonalité.
  5. L'appelant compose le reste du numéro.
  6. Le système analyse les chiffres et détermine l'adresse réseau du destinataire de l'appel.
  7. Le système détermine si un circuit virtuel peut être établi entre l'appelant et le destinataire de l'appel.
  8. Le système affecte toutes les ressources du circuit virtuel et établit la connexion.
  9. Le système appelle le destinataire.
  10. Et ainsi de suite.

Démarrer le système

  1. L'opérateur active le système.
  2. Le système effectue des tests de diagnostic sur tous les composants.
  3. Le système teste les connexions sur tous les systèmes adjacents. Pour chaque système adjacent, le système détermine si un circuit virtuel peut être établi entre lui-même et le système adjacent. Le système affecte toutes les ressources du circuit virtuel et établit la connexion.
  4. Le système répond qu'il est prêt à fonctionner.
  5. Et ainsi de suite.

Le texte affiché en bleu est très similaire ; dans les deux cas, nous adoptons le même comportement, mais pour des raisons différentes. Cette similarité peut être exploitée et nous pouvons importer le comportement commun dans un nouveau cas d'utilisation : Gérer des circuits virtuels.

Une fois le comportement commun extrait, les cas d'utilisation deviennent les suivants :

Composer un appel

  1. L'appelant décroche le téléphone.
  2. Le système présente une tonalité.
  3. L'appelant compose un chiffre.
  4. Le système désactive la tonalité.
  5. L'appelant compose le reste du numéro.
  6. Le système analyse les chiffres et détermine l'adresse réseau du destinataire de l'appel.
  7. Incluez le cas d'utilisation Gérer un circuit virtuel pour établir la connectivité au sein du réseau.
  8. Le système appelle le destinataire.
  9. Et ainsi de suite.

Démarrer le système

  1. L'opérateur active le système.
  2. Le système effectue des tests de diagnostics sur tous les composants.
  3. Le système teste les connexions sur tous les systèmes adjacents. Pour chaque système adjacent (boucle), incluez le cas d'utilisation Gérer un circuit virtuel pour établir la connectivité au sein du réseau.
  4. Le système répond qu'il est prêt à fonctionner.
  5. Et ainsi de suite.

Dans un diagramme de cas d'utilisation, la relation d'inclusion créée est illustrée comme suit :

Diagramme décrit  dans le texte d'accompagnement.

Les cas d'utilisation Composer un appel et Démarrer le système incluent tous deux le comportement du cas d'utilisation abstrait Gérer un circuit virtuel.



RUP (Rational Unified Process)   2003.06.15