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 :

[BOUML]Un modeleur UML gratuit pour Windows, Linux et Mac OS X


Sujet :

BOUML

  1. #1
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut [BOUML]Un modeleur UML gratuit pour Windows, Linux et Mac OS X
    BOUML est une boite à outils UML gratuite récente pour Linux Windows et MacOS X écrite en C++ au dessus de Qt.

    BOUML est très rapide et peu gourmand en mémoire (voir http://bouml.fr/index_benchmark.html), et le reverse Java de l'ensemble des sources d'une JDK (java, javax, com ...) ne lui fait pas peur !

    BOUML est composé du modeleur lui meme, et d'une série de programmes externes (appelés plug-out) pouvant etre écrits en C++ ou en Java (pas en Visual Basic, ouf !). N'importe quel utilisateur peux écrire un plug-out réalisant par exemple son design pattern favori, l'API fournie réalisant les échanges nécessaires avec le modeleur. Un plug-out étant un programme comme un autre est bien-sur défini avec BOUML.

    Les principaux plug-out contenus dans BOUML sont actuellement :
    • générateur C++, Java et IDL
    • reverse C++ et Java
    • Java catalog, pour aisément ajouter au modèle des classes de la JDK ou d'une autre bibliothèque, par exemple personnelle
    • générateur de document HTML, celui-ci est donné comme exemple de projet produisant simultanément une définition en C++ et en Java
    • générateur XMI
    • générateur de state machine, modifiant le modèle pour ajouter/mettre à jour les classes réalisant la machine à état
    • import de projet Rose, hors diagramme dans la version actuelle
    • gestion de fichier, pour gérer les fichiers de vos projets avec CVS, Clear case ou autre gestionnaire
    • génération de fichier pro utilisés par qmake pour produire des Makefile.

    BOUML est en cours de développement, la dernière version est la 2.16.

    BOUML et sa documentation sont disponibles sur http://bouml.fr

    Joyeuse modélisation
    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

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut Bouml 2.17
    Bouml 2.17 est disponible sur le site, la principale modification est l'ajout des activités et diagramme d'activité.

    Bonnes modélisations
    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
    Futur Membre du Club
    Inscrit en
    octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Hi

    I have a little question concerning the code generation of bouml. As I understood the code generation facility in the "Java" tab of an association, there is no possibility to get the opposite roles name, type, multiplicity and so on. Is this right or did I overlook something?
    I want to know this, because I want to implement e.g. a bidirectional 1:1 association in such a way:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    private T1 t1;
      
         public T1 getT1()
         {
            return this.t1;
         }
      
         public boolean setT1(T1 value)
         {
            boolean changed = false;
            if (this.t1 != value)
            {
               T1 oldValue = this.t1;
               
               if (this.t1 != null)
               {
                  this.t1 = null;
      	      //@TODO get the opposite roles name
                  oldValue.set_ (null);
               }
               this.t1 = value;
               if (value != null)
               {
      	     //@TODO get the opposite roles name
                  value.set_ (this);
               }
               changed = true;
               
            }
            return changed;
         }
    As you can see, in that implementation, it is essential to know the whole association.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Hi
    Citation Envoyé par stmaassen
    As I understood the code generation facility in the "Java" tab of an association, there is no possibility to get the opposite roles name, type, multiplicity and so on... I want to implement e.g. a bidirectional 1:1 association
    I am not sure to understand you, if you want to have a bidirectional relation ... do a bidirectional association, after that what means get the opposite role name etc ? : they are know by you because you define them

    Example :
    Nom : bidir_diag.PNG
Affichages : 508
Taille : 4,0 Ko

    Nom : bidir_edit1.PNG
Affichages : 647
Taille : 18,7 Ko

    Nom : bidir_edit2.PNG
Affichages : 676
Taille : 17,4 Ko

    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

  5. #5
    Futur Membre du Club
    Inscrit en
    octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par bruno_pages
    Hi

    I am not sure to understand you, if you want to have a bidirectional relation ... do a bidirectional association, after that what means get the opposite role name etc ? : they are know by you because you define them
    Yes, you're right, if you look only at the graphics. But my problem arises, when it comes to source code generation.
    It's right, that in you're example, the members T1.t2 and T2.t1 are correctly generated in each class. But, there's no possibility (if I didn't overlook something) to navigate the association to the other end. If you take a closer look to the example source code from me, you see in the set-method, that one instance of an object automatically registers itself to the associated object. In your case of T1.t2 and T2.t1, my version of the setter-method would look something like this:
    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
    22
    public class T1
    {
       private T2 t_2;
    
        public void setT2(T2 t2)
        {
            this.t_2=t2;
            t_2.setT1(this); // possible to generate automatically?
        }
    }
    
    public class T2
    {
       private T1 t_1;
    
        public void setT1(T1 t1)
        {
            this.t_1=t1;
            t_1.setT2(this); // possible to generate automatically?
        }
    }
    So, your tool works very, very fine, until it comes to "t1.setT2(this)".(the correct implementation of the method can be seen in my first post in this thread) Since the association is not navigable in the default template(or in this case, there are no variables with the appropriate content or I overlook something), that line of content can't be generated, which I want to.
    And my question is simply: is my assumption right or did I overlook something concerning the code generation?

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Bouml can't itself solve your problem : contrarily to you (I Hope ) it can't know the history of the two instances (when their are created or deleted, and in which order), it can't know which constructor must be used to create them etc ...
    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
    Futur Membre du Club
    Inscrit en
    octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    For sure it works in such a way, since fujaba (fujaba.de) already has generated source files according to that implementation. But since it has no jdk1.5 support nor UML2 support, I'm trying to switch to another tool.
    You don't need to know history or constructors or so, since you are working directly on already instantiated objects.

  8. #8
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Citation Envoyé par stmaassen
    You don't need to know history or constructors or so, since you are working directly on already instantiated objects.
    I don't agree :
    • may be the association have to be done when the objects are created, in this case you have to know the order and when
    • in language allowing to delete instances you must know when at least one of the two objects is deleted to break the association


    anyway you may change your implementation like this to allow to do the association in any order :

    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
    22
    23
    24
    25
    public class T1
    {
       private T2 t_2;
    
        public void setT2(T2 t2)
        {
            if (this.t_2 != t2) {
               this.t_2=t2;
               t_2.setT1(this);
            }
        }
    }
    
    public class T2
    {
       private T1 t_1;
    
        public void setT1(T1 t1)
        {
            if (this.t_1 != t1) {
              this.t_1=t1;
              t_1.setT2(this);
            }
        }
    }
    So I insist : there is not only one way to manage bidirectional relation, and I consider you must be able to choose one rather than to undergo the choice of a modeller.

    The good news is : Bouml is extensible through the plug-outs, this allows you to write something like a design pattern managing bidirectional relations to automatically add the two setX operations with the definition you want
    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

  9. #9
    Futur Membre du Club
    Inscrit en
    octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par bruno_pages
    The good news is : Bouml is extensible through the plug-outs, this allows you to write something like a design pattern managing bidirectional relations to automatically add the two setX operations with the definition you want
    Yeah, already thought about that, but was hoping, that I overlooked some possibilites in the default template. Thank you very much for your efforts.

    Sincerely,
    Stefan

  10. #10
    Futur Membre du Club
    Inscrit en
    septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Pb configuration du générateur java
    Bonjour
    j'éprouve quelques difficultés à générer du code java.
    Et ce, principalement sur les nom des méthodes.
    Par exemple, pour une attribut toto, je souhaite générer les getter et setter suivants getToto() et setToto(), cad avec la premier lettre de l'attribut en majuscule.
    est-ce possible ?

  11. #11
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Bonjour,

    Citation Envoyé par pej80
    pour une attribut toto, je souhaite générer les getter et setter suivants getToto() et setToto(), cad avec la premier lettre de l'attribut en majuscule.
    Deux possibilités :
    1. pour suivre la règle juste dans quelques cas particuliers : après avoir choisi add get and set operations sur le menu de l'attribut dans le browser, tu edites l'opération qui par defaut s'appelle get_toto, tu vas dans le tab Java et tu changes Name form pour avoir get${Name}. Procéder de la même façon pour le set.
    2. Pour suivre cette règle par défaut et ne pas avoir à refaire cela à chaque fois : avant d'ajouter les get&set tu edites les generation settings , tu vas dans le tab Java[2] et tu changes la definition par defaut de get pour avoir get${Name} et celle de set pour avoir set${Name}, puis Ok. Tu peux alors faire les add get and set operations.


    ${name} est remplacé par le nom Uml de l'attribut
    ${Name} est remplacé par le nom Uml capitalisé de l'attribut
    ${NAME} est remplacé par le nom Uml en majuscule de l'attribut

    Note : le nom Uml des opérations est toujours get_toto et set_toto ( de même en C++ et Idl sauf contre ordre), mais le code généré pour Java est bien celui voulut, évidemment tu peux aussi changer le nom Uml en getToto et setToto
    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

  12. #12
    Futur Membre du Club
    Inscrit en
    septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Ok, c'est parfait !

    Une deuxième question pour un pb qui me résiste ...
    comment changer le nom d'une variable dans mon setter ?
    Dans la fenêtre Edit de mon opération "+o set_Toto"
    Dans le permier onglet "UML"
    Dans la partie "parameters", je vois bien le paramètre généré (direction : in / Name : value / Type : xxx) mais comme la cellule "name" est grisé donc je ne peux pas modifier le nom du paramètre en "toto". Est-ce normal ? je vois bien le lien avec la variable {p0} pour la génération, mais je ne vois pas à quel moment je peux jouer dessus ... j'ai peur (enfin, peur, le mot est un peu fort) de ne pas pouvoir renommer le paramètre, ai-je raison ?

    en tout ca, bravo pour ton soft. C'est tout simplement géant. En plus il a l'avantage d'avoir une partie graphique simple et efficace. Les objets se placent bien ou l'on veut

  13. #13
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Citation Envoyé par pej80
    comment changer le nom d'une variable dans mon setter ?
    ... j'ai peur (enfin, peur, le mot est un peu fort) de ne pas pouvoir renommer le paramètre, ai-je raison ?
    oui tu as raison, tu ne peux pas renommer le paramètre, ni changer son type ou sa direction, ni le détruire ou en ajouter d'autres.

    Note 1: si l'attribut ou le role de la relation sur lequel le setter est défini s'appelle value le parametre s'appelera new_value au lieu de value

    Note 2 : si l'attribut ou le role de la relation sur lequel le setter est défini sont modifiés les getter/setter sont automatiquement modifiés eux aussi ... sauf que si la modification fait passer leur nom à celui du paramètre ce dernier n'est pas modifié , je vais corriger cela

    Note 3 : il est bien évident que les getter et setter pouraient tout aussi bien être produits pas un plug-out laissant libre choix sur leur definition, mais dans ce cas il faudrait ne pas oublier de remettre à jour leur definition lorsque l'attribut/role de la relation sur lequel ils portent est modifié.

    Citation Envoyé par pej80
    en tout ca, bravo pour ton soft. C'est tout simplement géant. En plus il a l'avantage d'avoir une partie graphique simple et efficace. Les objets se placent bien ou l'on veut
    merci
    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

  14. #14
    Futur Membre du Club
    Inscrit en
    septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut pb de BOUML_ID
    après moultes recherches, je donne ma langue au chat
    Ou faut-il modifier ou renseigner le BOUML_ID afin de ne plus avoir l'erreur au démarrage ?
    Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?

    sinon une suggestion :
    Les fenetres de dialogue s'ouvrent en tant que fenêtres indépendantes.
    Ne sera-t-il pas possible de les reconsidérer en fenêtres-filles de l'appli ? (pour qu'elles soient automatiquement centrées et que le swap entre applications ALT+TAB ne soient pas trop embettant)

    Bon, je continue à tester ...
    ... ca ne plante pas et c'est vraiment agréable à utiliser !
    J'ai l'impression que ton soft va gagner à etre connu

  15. #15
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2004
    Messages : 897
    Points : 1 610
    Points
    1 610
    Par défaut
    Citation Envoyé par pej80
    après moultes recherches, je donne ma langue au chat
    Ou faut-il modifier ou renseigner le BOUML_ID afin de ne plus avoir l'erreur au démarrage ?
    Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?

    sinon une suggestion :
    Les fenetres de dialogue s'ouvrent en tant que fenêtres indépendantes.
    Ne sera-t-il pas possible de les reconsidérer en fenêtres-filles de l'appli ? (pour qu'elles soient automatiquement centrées et que le swap entre applications ALT+TAB ne soient pas trop embettant)

    Bon, je continue à tester ...
    ... ca ne plante pas et c'est vraiment agréable à utiliser !
    J'ai l'impression que ton soft va gagner à etre connu
    Pour BOUML_ID, il faut la déclarée en variable d'environnement. La valeur doit être un entier entre 2 et 127 (http://bouml.fr/doc/starting.html).

    Pour le succès de BOUML je suis plus mitigé. Je l'utilise essentiellement pour de la documentation car il est vraiment plus rapide que les autres modeleurs. Par contre je ne serais pas contre plus de docs pour faire des plug-outs et rendre mes modèles réalisés avec BOUML exploitable.

  16. #16
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Citation Envoyé par yann2
    Pour BOUML_ID, il faut la déclarée en variable d'environnement. La valeur doit être un entier entre 2 et 127 (http://bouml.fr/doc/starting.html).
    oui, et si tu sais pas comment définir une telle variable va voir le chapitre Miscellaneous de la doc.

    Citation Envoyé par pej80
    Que se passera-t-il si plusieurs personnes utilisent le même ID sur le même projet ?
    Comme il est dit dans la doc (chapitre Multi user considerations) cela va très mal se passer si vous êtes à plusieurs sur le même projet, BOUML_ID est utilisé pour que les identificateurs internes soient uniques.

    Citation Envoyé par yann2
    Pour le succès de BOUML je suis plus mitigé. Je l'utilise essentiellement pour de la documentation car il est vraiment plus rapide que les autres modeleurs. Par contre je ne serais pas contre plus de docs pour faire des plug-outs et rendre mes modèles réalisés avec BOUML exploitable.
    Je n'oblige personne à utiliser Bouml, j'ose cependant affirmer que la prestation est supérieure à son prix ... je ne vais quand même pas dire que Bouml est nul

    Blague à part BOUML est déjà pas mal utilisé et ceci dans le monde entier, tout OS confondu il est téléchargé plus de 130 fois par jour (280 pour la 2.17), la 2.16 a été prise plus de 7200 fois. BOUML est utilisé dans de nombreuses écoles et universités du monde entier, dans des sociétés y compris le NASA Ames Research Center ... bref je ne suis pas d'accord avec toi yann2

    Pour le reste il y a déjà un tutoriel in English décrivant complètement comment trier les éléments dans le browser, je vais le traduire en Français et le mettre parmis les tutoriels de developpez.com. Aujourd'hui je commence à traduire le tutoriel sur Bouml lui même et je ferai d'autres tutoriels au fil de l'eau. Sinon il y a un peu de doc sur les plug-outs dans le chapitre plug-outs de la doc de ref, et l'API des plug-outs est auto documentée, pour en avoir une version HTML tu charges le plug-out empty, tu sauves la chose comme il te le demande, puis tu génères la doc HTML à partir de la racine. Je conviens que ce n'est pas parfait, je fais ce que je peux, j'ai par ailleurs un travail, d'autres occupations personnelles ... et une chatte caline !
    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

  17. #17
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2004
    Messages : 897
    Points : 1 610
    Points
    1 610
    Par défaut
    Citation Envoyé par bruno_pages
    Je n'oblige personne à utiliser Bouml, j'ose cependant affirmer que la prestation est supérieure à son prix ... je ne vais quand même pas dire que Bouml est nul .

    Pour le reste il y a déjà un tutoriel in English décrivant complètement comment trier les éléments dans le browser, je vais le traduire en Français et le mettre parmis les tutoriels de developpez.com. Aujourd'hui je commence à traduire le tutoriel sur Bouml lui même et je ferai d'autres tutoriels au fil de l'eau. Sinon il y a un peu de doc sur les plug-outs dans le chapitre plug-outs de la doc de ref, et l'API des plug-outs est auto documentée, pour en avoir une version HTML tu charges le plug-out empty, tu sauves la chose comme il te le demande, puis tu génères la doc HTML à partir de la racine. Je conviens que ce n'est pas parfait, je fais ce que je peux, j'ai par ailleurs un travail, d'autres occupations personnelles ... et une chatte caline !
    Ne t'inquiètes pas je ne trouve pas BOUML nul. Je l'utilise beaucoup d'ailleurs. J'ai déjà vu le tuto en English, mais je le trouve trop obscur. Pour toi ça parait certainement très clair mais pour moi, qui ne connait pas l'archi de BOUML, c'est plus difficile.

    En tout cas merci pour le produit.

  18. #18
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    Est-ce qu'il est prévu de passer à une nouvelle version de Qt ?

  19. #19
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 507
    Points : 6 645
    Points
    6 645
    Par défaut
    Citation Envoyé par Miles
    Est-ce qu'il est prévu de passer à une nouvelle version de Qt ?
    Le passage à Qt 4 n'est pas encore d'actualité car il s'agit pas d'un "détail".

    Il y a deux façon de "passer" à Qt 4 :
    • soit d'utiliser les classes de Qt 4, ce qui est à mon avis la vraie solution, mais cela veut purement et simplement dire refaire complètement l'IHM de Bouml, et reapprendre Qt y compris ses bugs et "particularités", travail que j'avais fait avec Qt 2 et 3 (Qt3 est compatible ascendant avec Qt2)
    • soit de tricher et d'utiliser ce qui reste des classes de Qt3 en Qt4 sachant que certaines on disparu. Par exemple les classes de Qt2&3 qui me permettent de gerer le browser de Bouml ont purement et simplement disparu en Qt4, et donc cette partie au moins est à reécrire. Quoi qu'en dise Trolltech Qt 4 est incompatible avec Qt 3, ce qui ne veut pas dire qu'ils ont fait ce choix pour de mauvaises raisons, et de toute facon je les remercie 1000 fois qu'avoir fait Qt.


    Bref le jour ou je passerai Bouml en Qt4 cela me prendra pas mal de temps, cela introduira inevitablement des bugs, le tout pour aucune plus value du point de vue des utilisateurs de Bouml et encore là je suis optimiste et supose que cela ne posera pas des problèmes de compatibilité dans son utilisation...

    En résume je ne suis donc pas démeusurément pressé de le faire ...

    Pourquoi cette question ?
    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

  20. #20
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    Parce que j'aime énormément le look&feel Qt4 et que je cherche aussi un outil cross-platform par la même occasion.
    C'est vrai que ce n'est pas compatible, mais beaucoup de choses ont été améliorées - par exemple plus de sécurité pour le travail sur les threads -. Si jamais il faut un coup de main pour le portage - en plus, ça pourrait faire l'objet d'un bon tuto de refactoring et Qt -

Discussions similaires

  1. Quel est le meilleur langage pour la portabilité : Windows & Linux (voire Mac) ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 57
    Dernier message: 27/11/2007, 00h45
  2. Réponses: 10
    Dernier message: 11/10/2005, 13h16
  3. [Lustre] Compilateur gratuit pour Windows ?
    Par jdevelop dans le forum Autres langages
    Réponses: 2
    Dernier message: 17/09/2005, 23h02
  4. Antivirus gratuit pour windows 98
    Par black is beautiful dans le forum Sécurité
    Réponses: 4
    Dernier message: 16/08/2005, 12h56

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