Cette question est très similaire à celle-ci , mais la réponse ne correspond pas à mes besoins. Il se concentre sur un outil UML spécifique (Papyrus) alors que ma question est plus générale sur UML.
Je voudrais représenter une action imbriquée dans un diagramme d'activité , mais je ne sais pas quelle est la manière la plus courante de le faire. L'idée est qu'il existe une action de même envergure que les autres actions, mais plus complexe dans son exécution. Je voudrais montrer plus de détails sur son exécution tout en étant capable de montrer cette action au même niveau que les autres.
Dans l'exemple ci-dessous, qui est un diagramme d'activité montrant une sorte d'activité " à la maison ", les actions imbriquées sont dans l' Pet the cat
action. Notez qu'il y a une autre erreur potentielle dans ce diagramme, voir les errata à la fin de la question.
J'ai utilisé le nœud structuré, mais je ne suis pas sûr que ce soit la bonne façon, d'où la question. Dans un organigramme, l'équivalent serait un état composite, mais je ne trouve rien sur une action composite. Concernant le nœud structuré, après avoir lu quelques documents à ce sujet, je ne comprends toujours pas vraiment comment il est censé être utilisé, donc je peux me tromper totalement avec ce diagramme.
Je sais également qu'il y a la possibilité de se référer à une autre sous-activité avec le symbole trident, comme dans l'image ci-dessous, mais cela ne correspond pas à mes besoins car je voudrais toutes les informations sur le même diagramme (donc je peux imprimer sans aucune perte d'information):
Alors, quelle est la manière standard de représenter une telle action imbriquée? Par standard, je veux dire UML valide, communément vu et si possible réalisable sur la plupart des outils de conception UML.
Errata sans rapport: une autre chose ne va pas dans mes diagrammes, les flèches qui viennent à la même action ( Scratch behind the ears
) doivent aller à un nœud fusionnant avant d'entrer dans l'action. Voir les commentaires ci-dessous, y compris cette citation de JOT .
Réponses:
Les deux sont "standard". La première image selon les spécifications UML est
La 2ème photo est
La principale différence entre les deux cas est la réutilisation. Alors qu'en premier lieu, vous avez juste une certaine complexité à un seul endroit (votre
Pet the cat
) le second est lorsque vous (ré) utilisez une certaine action à plusieurs endroits. Cependant, j'ai tendance à utiliser la variante d'invocation même si ce n'est que pour une seule utilisation. Ici, j'ajoute un diagramme composite (qui dans EA s'ouvre sur dbl-click) pour montrer les détails de l'action correspondante. Le flux principal montre simplement l'aperçu et si des détails sont nécessaires, ils ne sont qu'à un clic.Maintenant, la création d'un diagramme composite dans EA est (encore) différente. Vous devez créer un AD au niveau du package, puis le faire glisser dans l'élément d'invocation. Maintenant, lorsque vous cliquez deux fois dessus, le diagramme incorporé s'ouvre.
la source