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 :

Problème de génération du code


Sujet :

BOUML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Problème de génération du code
    Bonjour,

    J'ai réalisé un projet (enfin, juste le modèle UML) sous BOUML. J'aimerai maintenant le généré en java mais je me heurte à certaines difficultés :
    - Les paramètres des fonctions n'apparaissent pas ("public int op1();" au lieu de "public int op1(int x);")
    - Il manque un "=" pour l'initialisation des variables (donc j'ai "int a3;" au lieu de "int a = 3;")

    J'utilise la version 3.4 faute d'avoir plus récent sur ma distribution (gentoo).
    J'ai défini mes classes à partir de "class view>class diagram" et avec les outils graphique; je suis pas sur que ça change mais on ne sait jamais...
    Le langage "Java" est coché depuis la création du projet.
    J'ai suivi le tuto du site pour générer le code.


    Je vous remercie d'avance

  2. #2
    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
    Bonjour,
    Citation Envoyé par dush_ Voir le message
    - Les paramètres des fonctions n'apparaissent pas ("public int op1();" au lieu de "public int op1(int x);")
    cela veut dire que vous n'avez pas été dans l'onglet Java des opérations (entre autre sans doute) pour faire default definition par exemple

    comme vous utilisez une vieille version vous ne pouvez utiliser Uml projection, donc il faut éditez chaque opération, aller dans l'onglet Java et utiliser le bouton default definition puis si nécessaire modifier la définition par défaut

    lorsque vous définissez des élement au niveau UML, le mieux est immédiatement d'aller dans le() onglet(s) du/des langage(s) cible pour mettre à jour/vérifier la définition

    - Il manque un "=" pour l'initialisation des variables (donc j'ai "int a3;" au lieu de "int a = 3;")
    comme vous utilisez une vieille version il faut mettre le "=" dans la valeur initiale (ie "= 3")

    J'utilise la version 3.4 faute d'avoir plus récent sur ma distribution (gentoo).
    oui, il n'y a plus de mise à jour sur gentoo depuis longtemps

    pourquoi ne pas compiler vous même Bouml ?
    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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci de la réponse rapide !

    Je suis resté sur cette ancienne version parce que la nouvelle ne compile pas (bouml_4.3.5.tar.gz). Je tombe toujours sur la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Generate BOUML and the hand made plug-outs
    for i in src src/CppGenerator src/CppReverse src/JavaGenerator src/JavaReverse src/JavaCat src/PhpGenerator src/PhpReverse src/PythonGenerator src/IdlGenerator src/PlugOutUpgrade src/ProjectControl src/ProjectSynchro src/RoundtripBody; do if [ -d $i ]; then ( cd $i; qmake; ) || exit 1 ; make -C $i || exit 1 ; fi; done
    make[1]: entrant dans le répertoire « /usr/local/bouml_4.3.5/src »
    g++ -c -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../share/qt4/mkspecs/linux-g++ -I. -I../../../include/qt4/QtCore -I../../../include/qt4/QtCore -I../../../include/qt4/QtGui -I../../../include/qt4/QtGui -I../../../include/qt4 -Ibrowser -Idata -Idiagram -Idialog -Imisc -Itool -Ixpm -I. -I. -o BrowserAttribute.o browser/BrowserAttribute.cpp
    browser/BrowserAttribute.cpp:30:25: erreur: qpopupmenu.h : Aucun fichier ou répertoire de ce type
    Dans le fichier inclus à partir de browser/BrowserNode.h:36,
              à partir de browser/BrowserAttribute.h:34,
              à partir de browser/BrowserAttribute.cpp:34:
    misc/mystr.h:31:22: erreur: qstrlist.h : Aucun fichier ou répertoire de ce type
    Dans le fichier inclus à partir de browser/BrowserAttribute.h:35,
              à partir de browser/BrowserAttribute.cpp:34:
    misc/Labeled.h:29:23: erreur: qintdict.h : Aucun fichier ou répertoire de ce type
    Dans le fichier inclus à partir de browser/BrowserAttribute.cpp:49:
    dialog/DialogUtil.h:31:28: erreur: qmultilineedit.h : Aucun fichier ou répertoire de ce type
    misc/mystr.h:46: erreur: expected ‘,’ or ‘...’ before ‘&’ token
    [...]
    misc/Labeled.h:100: erreur: ‘it’ was not declared in this scope
    make[1]: *** [BrowserAttribute.o] Erreur 1
    make[1]: quittant le répertoire « /usr/local/bouml_4.3.5/src »
    make: *** [compile] Erreur 1
    Bref, il ne trouve pas la librairie qt. Je viens pourtant de la réinstaller/recompilé dans sa version 3.3.8 et 4.3.3. Quand à la variable qui a l'air de revenir souvant, elle me parai bonne...
    echo $QTDIR
    /usr/qt/3


    Voilà, si le problème vous dit quelques chose où que vous avez un lien sur un endroit où ils ont su le régler, je suis preneur

  4. #4
    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
    Bouml doit être compilé avec Qt3, si QTDIR est bien positionné, alors on doit avoir quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > ls $QTDIR
    bin  doc  etc  include  lib  mkspecs  phrasebooks  plugins  templates  translations
    Mais peut être que seules les lib de Qt sont installées, elles permettent seulement d'exécuter un soft utilisant Qt, pas de le compiler

    Pour compiler il faut quelque chose comme qt3-devel (nom sous Suse) qui fournis aussi les fichiers headers, qmake ...

    il doit aussi être possible de demander de l'aide à ferdy@gentoo.org qui faisait le packaging de Bouml ... ou lui demander de refaire un package avec la dernière version
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci de ton aide

    J'ai réussi à avoir la dernière version ! Je ne suis pas très fier de ma méthode : j'ai désinstallé qt4 pour n'avoir plus que qt3 (avec le qmake de qt3)... Mais ça a fonctionné.

    L'initialisation fonctionne donc bien et en utilisant "Uml projection", les paramètres aparaissent bien


    Mon côté feignant est entrain de prendre le dessus et je me demandais s'il était possible de faire que Bouml génère les accesseurs (getX, setX, ...). Le must serai que ces accesseurs soient créés avec la visibilité de la variable (rendant celle de cette dernière private) ...
    Est-ce qu'il y a déjà des solutions en rapport?


    et encore merci

  6. #6
    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 dush_ Voir le message
    je me demandais s'il était possible de faire que Bouml génère les accesseurs (getX, setX, ...).
    c'est déjà possible, mais pas seulement au niveau génération de code ce qui imposerait de la faire pour tout le monde ou personne, ce qui n'a aucun sens, même si certains outils le font
    On peut donc choisir au niveau de chaque attribut/relation, d'ailleurs cela ce voit quand on appelle le menu via un clic droit sur un attribut ou une relation dans le browser
    Il faudrait quand même lire les menus ... et la doc

    Le must serai que ces accesseurs soient créés avec la visibilité de la variable (rendant celle de cette dernière private) ...
    ca c'est la bidouille

    on choisi séparément la visibilité des attributs/relations et de leur getter/setter, sachant qu'il y a une visibilité par défaut établie via les generation settings
    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    On peut donc choisir au niveau de chaque attribut/relation, d'ailleurs cela ce voit quand on appelle le menu via un clic droit sur un attribut ou une relation dans le browser
    Oula... effectivement, j'ai presque honte d'avoir posé la question !

    Merci de l'aide ... et du logiciel qui va maintenant m'être indispensable pour tout mes projets

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de génération de code
    Par Kromagg dans le forum Visual C++
    Réponses: 0
    Dernier message: 22/09/2008, 22h47
  2. Réponses: 0
    Dernier message: 18/07/2008, 11h19
  3. Réponses: 8
    Dernier message: 09/02/2008, 17h21
  4. [Hibernate Tools]Problème de génération de code !
    Par Kevin12 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2008, 12h28
  5. [XSLT] Problème de génération de code javascript (inclure) via XSLT
    Par fragmonster dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/04/2007, 14h49

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