Pré. | Proc. |
Noeud conditionnel
Un nœud d'activité structuré conditionnel est l'équivalent modélisation d'une construction de programmation « If-Then-Else ». Dans sa forme la plus simple, il se compose d'une clause contenant :
- Une partition Test qui évalue une condition, et
- Une partition Body qui exécute une ou plusieurs actions si la condition Test est satisfaite
Chaque clause possède un ActionPin « Décideur » pour contenir le résultat du Test et un ActionPin « Sortie du corps » pour contenir le résultat des actions du corps (si exécutées). Le nœud conditionnel lui-même possède un ActionPin de résultat qui rend disponible le résultat global du nœud (la sortie du premier corps à exécuter).
La représentation d'un nœud conditionnel sur un diagramme d'activité ressemble à ceci :
Vous définissez des nœuds conditionnels en faisant glisser d'autres éléments diagramme d'activité depuis la page Boîte à outils vers la partition appropriée de l'élément, puis en liant et en organisant la structure selon les besoins. Les éléments sont alignés en haut à gauche de la partition, de sorte que le redimensionnement du nœud conserve l'organisation de la structure au sein et entre les partitions. Si vous essayez de réduire le nœud en dessous de la taille de la structure, le nœud prend automatiquement par défaut la taille « la mieux adaptée ».
Lorsque vous créez un nœud conditionnel, la dialogue « Propriétés » s'affiche. Vous pouvez effectuer la plupart de ces opérations comme pour tout autre élément. Cependant, pour le nœud conditionnel, vous affichez également la fenêtre Propriétés , qui comporte un onglet « Condition » supplémentaire.
Dans cet onglet, dans le panneau « Résultat », ajoutez une épingle Action pour contenir le résultat du nœud, en cliquant sur le bouton Ajouter pour afficher la dialogue « Sélectionner Pins ».
Un nœud conditionnel contient automatiquement une clause contenant une partition Test et une partition de corps, ainsi qu'une broche de décideur et une broche de sortie de corps. Vous pouvez ajouter d'autres clauses si nécessaire. Pour chaque clause, vous ajoutez une broche Action pour le décideur et pour la sortie de corps. Cliquez sur le bouton Enregistrer pour enregistrer la définition de clause.
La dialogue « Sélectionner une broche » affiche uniquement pins de sortie appropriées au contexte. Si la broche Action requise n'existe pas encore, vous pouvez cliquer sur le bouton Ajouter une nouvelle broche dans le dialogue pour créer automatiquement une broche de sortie sous le nœud parent approprié.
Pour les entrées « Résultat » et « Sortie du corps », vous pouvez vérifier l'emplacement exact de chaque broche Action en cliquant avec le bouton droit sur l'entrée et en sélectionnant l'option « Rechercher dans Projet Navigateur ».
Le panneau « Nœuds » répertorie par défaut les actions et activités contenues dans la partition Test . Cliquez sur le bouton radio « Corps » pour répertorier les éléments contenus dans la partition Corps. Un élément doit être entièrement contenu dans la partition Corps pour y être répertorié. S'il chevauche la partition Test de quelque manière que ce soit, il est traité comme faisant partie de la partition Test .
Ajouter ou supprimer des clauses
Pour ajouter une autre clause, cliquez sur le bouton Ajouter sous la liste « Clause(s) ». Cela insère une nouvelle clause dans la liste et identifie quelle est la clause précédente (prédécesseur) et (le cas échéant) quelle est la clause suivante (successeur). Les champs restants dans le panneau « Clause(s) » sont effacés afin que vous puissiez ajouter Pins Action de sortie de décideur et de corps. De nouvelles partitions « Test » et « Corps » sont immédiatement ajoutées à l'élément sur le diagramme et vous pouvez remplir ces partitions avec des éléments d'activité, qui sont ensuite identifiés dans le panneau « Nœuds ».
Pour supprimer une clause, sélectionnez-la dans la liste et cliquez sur le bouton Supprimer. Cela supprime immédiatement les partitions correspondantes de la clause du diagramme , ainsi que tous les éléments d'activité qu'elles contiennent. La suppression d'une clause entre deux autres clauses modifie l'ordre numérique ; par exemple, si la clause 2 est supprimée entre la clause 1 et la clause 3, la clause 3 est renommée clause 2 et toutes les autres clauses sont également déplacées d'une place vers le haut.
Spécification OMG UML :
La spécification Unified Modeling Language OMG (v2.5.1, p. 478) stipule :
Un ConditionalNode est un StructuredActivityNode qui choisit l'un des nombreux ensembles alternatifs d'ExecutableNodes à exécuter. Un ConditionalNode se compose d'une ou plusieurs clauses, chacune représentant une branche unique de la condition. Une clause se compose d'une section de test et d'une section de corps, qui identifient des sous-ensembles disjoints des ExecutableNodes contenus dans le ConditionalNode. Tout ExecutableNode dans le ConditionalNode doit être inclus dans la section de test ou la section de corps d'une seule clause.