IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BOUML Discussion :

Multiplicité des attributs.


Sujet :

BOUML

  1. #1
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut Multiplicité des attributs.
    Bonjour,

    Juste pour faire une remarque (encore et toujours lol). Il me semble tous à fait logique que la multiplicité * et le stéréotype List génére un code de type :
    ==> List<Quelquechose> attrib;

    Cependant il m'aurait aussi semblait logique que la multiplicité * sans stéréotype généré quelque chose de la forme (en java par exemple) :
    ==> char[] attrib;

    En ce moment bouml génére quelque chose de la forme de :
    ==> <char> attrib avec juste la multiplicité renseigné.

    De plus je crois que bouml réalisé les choses de cette manière (je sais plus trop) avant.

    Merci.
    [URL="http://slopez.developpez.com/index.htm"]

  2. #2
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut ...
    Donc comme je viens de dire j'avais bien vu sa quelque part.


    Le reverse de public int[] attr; place [] dans la multiplicité.

    Mais est-ce correct ? * Ne serait-il pas plus approprié ?
    [URL="http://slopez.developpez.com/index.htm"]

  3. #3
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Bonsoir,
    Citation Envoyé par slopez Voir le message
    il m'aurait aussi semblait logique que la multiplicité * sans stéréotype généré quelque chose de la forme (en java par exemple) :
    ==> char[] attrib;
    je distingue trois cas (c.f. generation settings onglet "java[2]")
    • multiplicity vide ou 1
    • multiplicité * ou de la forme a..b
    • autre cas

    La distinction porte donc sur la seule multiplicité, le stéréotype ne rentre pas en compte. Pour chacun des 3 cas tu peux spécifier la forme par défaut. Dans le cas 2 j'utilise un générique spécifié par le stéréotype, mais libre à toi de produire un vecteur

    Citation Envoyé par slopez Voir le message
    De plus je crois que bouml réalisé les choses de cette manière (je sais plus trop) avant.
    non

    Citation Envoyé par slopez Voir le message
    Le reverse de public int[] attr; place [] dans la multiplicité.

    Mais est-ce correct ? * Ne serait-il pas plus approprié ?
    non, car un vecteur est de taille fixe, alors qu'* peut prendre n'importe qu'elle valeur positive ou nulle

    j'ai fait aussi cela par cohérence avec C++ ou la taille est spécifiée contrairement à ce pauvre Java, bref pour moi une bonne modélisation de la multiplicité donne le nombre d'éléments, mais le générateur de code produit toujours "[]" en Java pour ${multiplicity} si celle-ci est non vide

    Bruno
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  4. #4
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut ...
    OK, donc l'ajout de ${multiplicity} permet d'obtenir [] avec 1, *, a...b, x.
    Je trouve cela très logique.

    Par contre juste une remarque (encore est toujours), le reverse en java ne devrait pas placer à mon avis [] dans multiplicité mais ${multiplicity} avec * par exemple pour un code comme public int[] attr;.

    Une autre chose, je n'arrive pas à comprendre pourquoi il n'est pas possible de placer automatiquement les [] avec une multiplicité * sachant qu'avec les stéreotype les <> sont placées. Pourquoi l'un est pas l'autre.
    [URL="http://slopez.developpez.com/index.htm"]

  5. #5
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    je me demande si tu as vraiment lu ma réponse précédente

    Une autre chose, je n'arrive pas à comprendre pourquoi il n'est pas possible de placer automatiquement les [] avec une multiplicité * sachant qu'avec les stéreotype les <> sont placées.
    c''est normal que tu ne comprennes par pourquoi "ce n'est pas possible" ... car "c'est possible" !

    si tu avais *vraiment* lu ma réponse précédente tu aurais édité les options de génération et via l'onglet "java[2]" aurait vu que dans le cas "*" ou "a..b" la forme est "...${stereotype}<${type}>..." ce qui produit les <> autour du type, tu as juste à la changer par ce qu'il y a pour le troisième cas, c.a.d. "...${type}${multiplicity}..."

    tes yeux ou ton cerveau sont en grève aujourd'hui ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  6. #6
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut ...
    Si j'ai lut la réponse précédente. Mais ce que j'aimerai, c'est d'avoir directement une déclaration qui puisse gérer tous les cas suivant :
    ==> Un stéréotype + multiplicité * : NomStereotype<NomType> attribut;
    ==> Sans stéréotype + multiplicité * NomType[] attribut;

    Cette déclaration doit gérer les deux cas. Dans les réponses précédentes c'était soit l'un avec <${type}> soit ${type}${multiplicity}. L'idée serait de pourvoir fusionner les deux. Cela est-il possible ? La gestion des deux cas en une déclaration serait beaucoup plus générique que de changer la déclaration en fonction du besoin.

    Cela revient au même pour le reverse. Je trouve ça un peu dommage que public int[] attr; ne donne pas une déclaration correct mais tous simplement place [] dans la multiplicité. Au niveau modèle cela n'a pas de sens [] n'est pas une multiplicité.

    Merci.
    [URL="http://slopez.developpez.com/index.htm"]

  7. #7
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  8. #8
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut OK.
    Bon j'insiste plus.

    A l'utilisateur de faire un choix.

    Par conte je maintient que pour le reverse avoir [] dans la multiplicité, bofbof.

    ok, donc j'imagine que ça n'existe pas les conditions dans les déclarations ? Peut être changer le contenut de la génération ? Est-ce possible de modifier la génération de ${quelque chose} ? Créer les nôtres peut être ?
    [URL="http://slopez.developpez.com/index.htm"]

  9. #9
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Citation Envoyé par slopez Voir le message
    Est-ce possible de modifier la génération de ${quelque chose} ? Créer les nôtres peut être ?
    les ${xx} sont des mots clefs builtin, il n'est donc pas possible de changer leur signification sans modifier les sources. Si tu n'es pas d'accord avec ce qu'ils font rien ne t'empêche cependant de modifier le code puisqu'il est disponible

    Citation Envoyé par slopez Voir le message
    Créer les nôtres peut être ?
    c'est la raison d'être des @{xx} qui sont des mots clef utilisateur correspondant à des propriétés (tagged values)
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  10. #10
    Membre régulier Avatar de slopez
    Homme Profil pro
    Développez Comfirmé
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développez Comfirmé
    Secteur : Transports

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Points : 107
    Points
    107
    Par défaut
    OK, donc c'est mort pour changer les trucs de base (${xx}).

    Je connais l'existence des @{xx}, mais je ne trouve pas ça suffisamment évolué pour pourvoir l'utiliser génériquement. De plus la définition d'une propriétés est local (du moins je pense) donc on ne peut pas définir des propriétés de général.

    Donc tampi, je placerai ${multiplicity} dans les cas ou j'en ai besoin.


    Par contre je reviens sur ce que j'ai dit sur le reverse. La multiplicité [] n'existe pas en UML.

    Merci Bruno pour ta patience.
    [URL="http://slopez.developpez.com/index.htm"]

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/04/2005, 11h35
  2. Réponses: 2
    Dernier message: 27/03/2005, 16h09
  3. Inhiber l'ordre alphabétique des attributs sous Xerces
    Par philippe rousseau dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 04/12/2003, 17h19
  4. Sauvegarde des attributs de texte en fichier ini
    Par Raylemon dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2003, 21h28
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo