Communication

Please use this forum to ask for a new feature or to change an existing feature.
Merci d'utiliser ce forum pour demander de nouvelles fonctionnalités ou la modification de fonctionnalités existantes.

Communication

Postby Teaniel » Sun 9 Dec 2012 21:48

Bonjour,

Après mûre réflexion, je me permets les deux demandes suivantes concernant les diagrammes de communication :
1) Bon, je ne sais pas trop si c'est dans la norme UML, mais il serait vraiment sympa de pouvoir spécifier des plages de rangs pour les messages entre deux objets (par une lettre, ou bien une notation style multiplicité. En effet, un message donné est fréquemment répété plusieurs fois (itération) sur un groupe d'objets. Je pense que cela serait sans doute plus pratique et peut-être plus explicite que de monter des piles d'objets. Bien sur, il s'agirait ensuite de répercuter cette notation sur les sous-messages en dépendant (c'est un de ses gros intérêts à mon avis, permettant d'évaluer 'visuellement' les conséquences d'une itération sur le modèle de communication). Le mieux serait sans doute de rendre cette répercussion facultative (comme toute info supplémentaire, elle risque d'encombrer le schéma).
2) Également, je trouve qu'il serait tout à fait utile de pouvoir déposer (par glisser - déposer) une relation dans un diagramme de communication (comme d'objet d'ailleurs). Le résultat de cette action serait de retrouver dans le diagramme une instance de la cible avec pour nom celui de la relation, ainsi qu'un lien reliant l'instance de la source la plus proche du lieu de dépôt (une nouvelle s'il n'y en a pas ou que la plus proche est trop loin) à cette cible. En effet, il m'arrive de temps en temps de partir d'un roundtrip pour créer un diagramme de communication, ou tout simplement de devoir le recommencer. On pourrait aussi, pourquoi pas, avoir l'option depuis un objet de tracer tous ses liens de relations, puisque ce sont les supports privilégiés de la communication.

Je vous remercie de bien vouloir étudier mes demandes,
Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Communication

Postby Bruno Pagès » Mon 10 Dec 2012 09:01

Bonjour,

1) j'ai du mal à comprendre, vous voulez que par exemple "5 op()" "7 op()" (sur deux lignes) soit remplacé par quelque chose comme "5,7 op()" ? Si c'est le cas cela ne suit pas la norme et les messages ne seraient plus ordonnées par rang en vertical, je ne vois donc pas l'intérêt

2) un diagramme de communication montre des messages, par des relations, contrairement à un diagramme d'objets. Glisser une relation en espérant que cela sera bien compris est acrobatique, le préfère le mode actuel où il n'y a pas d'ambigüité sur ce que l'on fait. Je ne comprends pas le lien entre la demande et le roundtrip. Si vous utilisez des instances faisant parti du modèle ('modeled class instance') alors leur relations seront tracées automatiquement.
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Communication

Postby Teaniel » Mon 10 Dec 2012 19:35

Bonjour,

1. Voici ce que je propose en graphique:
args.png
args.png (39.22 KiB) Viewed 14862 times

Bon, en relisant mieux votre réponse, je comprends que cette notation n'est réellement possible que si on choisit la notation hiérarchique. Quoiqu'il doit être possible de calculer des rangs relatifs, en considérant que les messages considérés sont des occurrences multiples. C'est une façon de noter l'ordonnancement des messages que j'ai beaucoup utilisée du temps où je modelais sur papier. Par contre, il est vrai que je n'ai jamais songé à vérifier si cette notation fait partie de la norme UML. C'est juste que je la trouve pratique. Bon, a utiliser avec modération car elle peut rendre les diagramme confus (formule de rang compliquée quand il y a plusieurs niveaux d'itération).

2. Ma pensée venait du fait que, en pratique, le chemin des messages suit celui des relations. Bien entendu, pas entre des classes mais entre leurs représentants. Lorsque je créée un diagramme de communications, bien souvent les classes que les objets de mon diagramme représenteront se trouvent déjà dans l'explorateur ainsi que les relations qui les lient.
Lorsque c'est le cas, si j'ai besoin de représenter un message qui suit un lien représenté par une relation existant déjà, plutôt que de déposer une classe pour créer l'objet correspondant, de rechercher et déposer la deuxième pour créer le deuxième objet puis de créer un lien pour y créer mes messages, je trouve qu'il serait fort pratique de déposer la relation prise sur la classe de l'objet source, provoquant ainsi la création d'un objet des deux classes et d'un lien en un seul clic. Eh oui, je suis très flemmard :mrgreen: ;).
Evidemment, il peut déjà exister un objet des classes dans l'explorateur. Dans ce cas, si elles sont déjà sur le diagramme, alors il faudra en créer de nouveaux (sinon on aurait simplement établi un lien). Sinon on pourra les réutiliser (généralement, le nom de l'objet sur un diagramme de communication n'a pas grande importance, du moins c'est ma petite expérience). Egalement, lors du dépot, on peut demander le nom de l'objet source, et donner le nom de la relation à l'objet destination (si on appelle le source "monobjet" l'objet destination s'appellera alors "monobjet.cible") :
args2.png
args2.png (11.27 KiB) Viewed 14862 times

Bien sur, je me répète, ce mode de fonctionnement est réservé à un modèle déjà constitué. Je comprends bien que souvent le modèle se créée à partir du diagramme de communication entre autres et dans ce cas là cela ne fonctionnera pas puisque les classes n'existeront pas encore et encore moins les relations qui les associent.
Voila, j'espère avoir été un peu plus clair ;)

Amicalement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Communication

Postby Bruno Pagès » Tue 11 Dec 2012 07:18

1) je ne suis toujours pas tenté par cela, car indépendamment du fait que c'est contraire à la norme votre solution n'est utilisable que dans le cas des messages consécutifs

2)
en pratique, le chemin des messages suit celui des relations

ah ok, je comprends maintenant

savez-vous que le menu d'une relation dans l'explorateur propose d'aller vers la classe destination vous évitant de la rechercher ? cependant il faut si nécessaire ensuite revenir à la classe de départ, ce qui n'est pas pratique même si cela se fait facilement avec la flèche gauche de l'historique des éléments sélectionnés.

dans un diagramme de classe il y a le "add related elements" mais je ne pense pas qu'il serait judicieux d'ajouter toutes les instances de classes ayant une relation avec la classe courante, si j'ai bien compris vous voulez en choisir l'une d'elles.

la manip consistant à ajouter deux instances de classes via l'ajout d'une relation les liant me parait quand même toujours bizarre, surtout que finalement cela ne sera généralement utile que lors du premier ajout, les autres réutiliseront une des instances déjà présentes non ?

ne vaudrait-il pas mieux modifier le menu des instances de classes dans un diagramme de communication pour y proposer d'ajouter une instance (modélisée ou non) d'une classe destination d'une relation de la classe de l'instance courante (y compris celles héritées) ?
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Communication

Postby Teaniel » Tue 11 Dec 2012 20:04

Bonjour,

1. Personnellement, j'y trouvais un intérêt. Ceci dit il est vrai que cela risquerait de coûter assez cher pour l'ajouter (cas de notation et calcul des rangs). Je n'insisterai donc pas.
2. L'idée de passer par les menus me semble plutôt bonne en effet :).
En fait je trouvais pratique de déposer une relation pour déclencher la création de deux objets et du lien, car cela aurait été très efficace en terme de gestes (un seul glisser/déposer remplace 6 ou 7 actions à la souris). Mais bon, à la réflexion, par le menu contextuel ça semble plus adapté en effet.
Si vous pouvez le faire sous cette forme ce serait parfait.

Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Communication

Postby Teaniel » Thu 13 Dec 2012 09:14

Bonjour,

Pardonnez moi, j'aurais dû me renseigner et faire des recherches avant de vous déranger et de vous demander des choses impossibles. Je l'ai fait maintenant.
Remarquez que faire une recherche sur UML ne ramène quasiment jamais vers la source des normes... Il faut explicitement chercher OMT pour y arriver :p.
De fait j'ai regardé dans les spécifications, [http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/ p.526 (p.542 du pdf)], pour y trouver une description (plus complète que ce que j'ai demandé d'ailleurs) de la façon dont on peut représenter le séquencement dans un diagramme d'interaction. C'est en anglais et assez complexe, je n'ai pas tout compris je pense, mais ce qui est sur c'est que quelque chose est défini permettant de préciser le séquencement des messages.
Pour ceux qui nous lisent et qui sont autant gênés que moi par la complexité des définitions des auteurs d'UML (normal, c'est la description d'une norme), une description beaucoup plus compréhensible peut être trouvée dans le cours UML de Laurent Audibert chez Developpez : [http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML046.html].
Vous serait-il possible de planifier l'implémentation de ces notations dans bouml?

Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Communication

Postby Bruno Pagès » Thu 13 Dec 2012 11:27

Je ne pense pas faire cette évolution, dés qu'il devient un tout petit peu complexe un diagramme de communication devient difficile à lire, ce qui est le cas de le page 526.
Si vous voulez représenter une interaction avec des boucles / conditions / parallélisme / ... je vous conseille de passer à un diagramme de séquence et d'utiliser les fragments, là au moins on voit ce qui se passe
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Communication

Postby Teaniel » Thu 13 Dec 2012 19:14

Ok, bon tant pis...
On ne pourra pas dire que je n'ai pas essayé :? ;)

Bonne soirée à vous :)
Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Communication

Postby Bruno Pagès » Sat 15 Dec 2012 19:54

Bouml 6.4.1 est disponible et modifie le menu des instances de classes dans un diagramme de communication / objets comme je l'avais proposé précédemment.
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France


Return to Change requests / Demandes d'évolution

Who is online

Users browsing this forum: No registered users and 0 guests

cron