Objets et classes

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.

Objets et classes

Postby Teaniel » Thu 28 Mar 2013 08:45

Bonjour,

Une réflexion qui me trotte dans la tête depuis un certain temps :
Lorsque je créée un objet (sur un diagramme d'objet ou de communication), je suis obligé, dés le départ, de lui attribuer un type.
Cela ne me paraît pas très logique, dans la mesure où c'est à partir du comportement de l'objet que je définis son type (la classe). Pour ce qui me concerne, je définirais la classe d'un objet une fois que j'aurais défini tous ceux qui lui ressemblent (ou pas), me permettant alors de les rassembler, et de définir une arborescence de classe. Ensuite seulement j'associerais les objets à leur classe, et convertirais les messages en opérations. Or là je suis plus ou moins obligé de la définir dés le début, ce qui m'impose ensuite des manipulations plus ou moins compliquées pour déplacer les membres dans les arborescences pour organiser tout ça.
Ne serait-il pas possible de ne pas être obligé de donner la classe de l'objet si on lui a donné un nom (sachant évidemment que dans ce cas, les messages ne pourraient pas être traduits en opération avant d'avoir défini une classe pouvant recevoir ces opérations) ?
Le comportement actuel est : si la classe définie n'existe pas elle est créée. Si le nom de la classe est vide ou invalide, alors un message d'erreur est émis.
Ce que je propose : Un type système 'objet_en_creation' dont la propriété est d'interdire la création de membres (pour éviter les erreurs dans la traduction des messages). Ce type serait associé par défaut à l'objet à créer (comme cela on pourrait toujours associer une classe existante ou en créer une).
Personnellement j'ai déjà utilisé cette technique, sauf que ne sachant pas créer de type ne pouvant pas contenir de membre, il m'arrive souvent de créer mes opérations dedans si j'ai oublié d'associer la classe avant (désolé, j'ai du mal à être parfait :mrgreen: ).

Que pensez-vous de cette idée?

Par avance merci de l'intérêt que vous voudrez bien porter à ma requête.
Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57

Re: Objets et classes

Postby Bruno Pagès » Sun 7 Apr 2013 15:47

Franchement je ne comprends pas l’intérêt de la requête, il vous suffit de créer une fois pour toute une classe 'bidon' et de l'utiliser.

Si vous ne voulez pas que cette classe soit modifiable, soit vous la créez dans un paquetage dédié et vous retirez les droits d'écriture sur le fichier de sauvegarde, soit vous créez un projet bidon n'ayant que cette classe et vous insérer ce projet via un "import project as library"

Il est donc inutile de modifier Bouml pour cela
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 449
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Objets et classes

Postby Teaniel » Mon 8 Apr 2013 05:19

Bonjour,

En effet, vous avez raison. Cependant, à mon habitude et je vous prie de m'en excuser, je me suis mal exprimé. Ou plutôt laissé emporter par mes réflexions, ce qui m'a amené hors de mon vrai sujet.
Cette façon de faire était juste une proposition pour contourner un souhait plus global.
En fait, ce que je souhaiterais est qu'il soit possible de définir des objets sans classe.
Le fait de lui en associer une bidon est juste un contournement qui ne me plaît pas en réalité, car ne correspondant pas à une action réelle, et surtout représentant à terme un surcoût en travail.

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

Re: Objets et classes

Postby Bruno Pagès » Mon 8 Apr 2013 07:00

Un objet est par définition une instance de classe, ce que vous demandez n'a pas de sens en UML.

"représentant à terme un surcoût en travail" :shock: de mon coté pour l'implémenter certainement, par contre du votre cela ne représente que quelques secondes
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 449
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Objets et classes

Postby Teaniel » Tue 9 Apr 2013 08:03

Bonjour,

En fait, il s'agît d'une question de démarche sans doute.
Lorsque je développe, je pars de cas d'utilisation. Pour les décrire, j'utilise généralement des diagrammes de communication dans lesquels je place des objets. Ensuite je les fais discuter au moyen des messages, et une fois que j'ai compris les comportements, alors je nomme les classes des objets et je transforme mes messages en fonctions.
Au départ, ces objets je ne peux en connaître le type (c'est pour cela que ça me gène de devoir préciser une classe dés la création de l'objet). Ce sont simplement des objets dont je définis les comportements, et dont ces comportements vont définir le type, sachant qu'on peut trouver le même objet (ou plutôt type d'objet) sur plusieurs diagrammes dans des cas d'utilisation différents.
En plus, il y a aussi les objets dont la classe est inutile (par exemple les acteurs externes).

C'est vrai que, in fine, tout objet a un type. Néanmoins, je maintiens qu'il peut être utile de ne pas l'exprimer immédiatement.
Bon, ceci dit, je continuerai donc à utiliser le concept de type bidon.

Désolé d'avoir pris de votre temps pour rien,
Cordialement,
Marc
Teaniel
 
Posts: 75
Joined: Sun 28 Oct 2012 18:57


Return to Change requests / Demandes d'évolution

Who is online

Users browsing this forum: No registered users and 1 guest