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

Diagrammes de Classes Discussion :

types de relations


Sujet :

Diagrammes de Classes

  1. #1
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut types de relations
    Bonjour à tous,

    J'ai fait un programme Java, on me demande de faire un diagramme UML, mais je ne suis pas trop sur des relations, peut-être devrais-je revoir mon code, ajouter des appartenances...

    Premier point :

    J'ai une première classe avec des attributs, une deuxième classe avec une fonction qui à partir de ces attributs, alimente une troisième classe (la troisième classe est un objet de la première).

    J'ai mis lié les première et deuxième classes à une instance et une association naviguable de la première vers la troisième classe.

    Deuxième point :

    J'ai un liste de classe d'une première classe donnant une liste d'objet d'une deuxième classe (relation 1 à 1) en passant par toute une liste d'objets d'une troisième classe. Aucune appartenance d'une classe à une autre.

    J'ai mis une association N-aire entre les trois.

    Troisième point :

    Enfin dernier point, j'ai une liste de classe d'une première classe donnant une liste d'objet d'une deuxième classe (relation * à *, la taille des liste n'est pas la même) en passant par une fonction d'une troisième classe (qui prend en paramètre la liste 1 et retourne la liste 2). Aucune appartenance d'une classe à une autre.

    J'ai mis une instance entre la première et la troisième classe et une association entre l'instance et la troisième classe... là je crois que c'est mauvais.

    Voilà, si vous avez un peu de temps à consacrer à ces points merci beaucoup, et si vous n'avez pas compris un point (ce que j'ai écris n'est pas forcément très clair) n'hésitez pas à demander des précisions.

  2. #2
    Inactif  
    Inscrit en
    Février 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Février 2003
    Messages : 238
    Points : 303
    Points
    303
    Par défaut Modélisation UML correcte du code java
    Je pense qu'il faut juste reverser le code java afin d'en obtenir un diagramme UML.
    Les relations d'associations, hértitages et dépendences vont s'afficher naturellement dedans si vous utiliser un outil spécialisé dans le reverse de Java.

    Le code java c'est beau, mais avec un UML au dessu du code utlisé comme un viewer et de surcroit synchronisé alors cela devient divin

  3. #3
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut
    J'utilise Magic Draw, je vais voir si je trouve une option du genre, mais j'aurais aimé avoir aussi des avis sur la façon dont j'ai lié mes classes.

    Je ne suis pas expert en Java, aussi mon modèle métier nécéssite surement quelques modifications.

  4. #4
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut
    Bon j'ai essayé le reverse avec un plug in d'eclipse : EclipseUML, mais ça ne me crée aucun lien entre les classes.

    Quel logiciel me proposieriez-vous ?

  5. #5
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut
    Merci pour ces précisions,

    grâce à cet outil, j'ai pu améliorer l'architecture de mon code, j'ai changé certaines relations entre classes, déplacé des fonctions...

    Cependant, j'ai du désinstaller eclipseUML car celui-ci essaye de prendre en compte chaque modification de classe lors des sauvegardes. Après plusieurs secondes, une fenêtre s'ouvre avec le message : "The file has been changed on the file system. Do you want to replace the editor contents with these changes?" (ce qui est vite agaçant).

    Existe-t-il un moyen pour ne plus avoir ce message ?

    Une fois le programme réinstaller, je n'ai plus les options données par le logiciel dans les menus contextuels, comme si je n'avais rien installé (j'utilise Ganymede). Est-ce un bug d'eclipseUML ?

    NB : J'espère que la version pour Galileo sera bientôt disponible.

  6. #6
    Inactif  
    Inscrit en
    Février 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Février 2003
    Messages : 238
    Points : 303
    Points
    303
    Par défaut EclipseUML et sauvegarde Java
    Le fait de sauvegarder un fichier java suite à une modification d'une classe est une utlisation d'eclipse et non pas d'EclipseUML.
    EclipseUML n'intervient pas du tout sur l'éditeur java sachant que tout le travail est fait au niveau du package explorer qui contient le listerner.
    Une version Galileo sera bientôt disponible publiquement. Le problème est que nous pensons que Ganymede est meilleur que Galileo sur la partie modélisation et ne voyont pas d'intéret à upgrader.
    Pas de panique ce sera upgrader car le projet est fini depuis plus d'un mois, mais la direction générale est en désacord profond avec la fondation Eclipse.
    Il se pourrai que ce soit le dernier upgrade Eclipse et que dorénavant seul les demandes fonctionnels seront prise en compte.

  7. #7
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut
    Finallement, j'ai installer une deuxième eclipse, apparament, eclipseUML pose des problème de compatibilité avec Drools, un autre plug-in d'eclipse.

    En tout cas merci pour cet outil qui m'a permit d'écrire un code plus correct au sens uml, cependant je en suis pas tout à fait d'accord avec toutes les dépendances qu'il crée (dès qu'une classe apparait dans une fonction, y compris les classes dépendante d'une autre, même problème avec les fonctions imbriquées dans une fonction appartenant à une classe différente).
    Autre mauvais point, il ralentit beaucoup trop toutes les modifications d'un projet.

    Enfin c'est quand même un bon moyen d'avoir un aperçut du diagramme UML de son code.

  8. #8
    Inactif  
    Inscrit en
    Février 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Février 2003
    Messages : 238
    Points : 303
    Points
    303
    Par défaut Drools
    Je connais pas Drools, mais avec Eclipse s'est une vrai pagaille parfois si les plugins GEF, EMF sont utilisé par des plugins qui eux-même requière une version spécifique de GEF, EMF etc.. La compatibilité des plugins est et restera toujours le problème d'Eclipse.

    En parlant de ralentir les modifications du projet, il suffit de fermer l'éditeur UML et de continuer son travail. Une fois fini on merge le modèle pour updater les informations. Cela ralenti pas dans ce cas et ralenti vraiment peu si on l'éditeur ouvert. D'ailleurs si on code très vite comment peut-on espérer que tout soit fluide si le diagramme se remet à jour ? Je connais des développeurs pouvant crasher plus de 100 lignes en 10 minutes en utilsant la complexion syntaxique d'Eclipse. C'est énorme comme code et comment synchronizé tout en modèl et en diagramme. C'est impossible surtout si on écrit le metamodel directement à partir du code.

    Concernant les dépendences, en java c'est une détection du code et donc elle sont bonne en UML. D'accord ou pas d'accord c'est comme cela que l'on doit sauvegarder les dépendences. Si il y a doute sur la qualité de l'information du modèle alors autant en débattre sur des exemples concrêts je ne demande pas mieux

  9. #9
    Membre habitué

    Inscrit en
    Août 2008
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 177
    Points : 125
    Points
    125
    Par défaut
    Effectivement Drools nécéssite une version antérieure de GEF, la 3.2 je crois.

    En parlant de ralentir les modifications du projet, il suffit de fermer l'éditeur UML et de continuer son travail.
    Je ne suis pas tout à fait d'accord, si l'on ouvre une diagramme, même après l'avoir refermé, le synchroniseur continue de se déclencher à chaque sauvegarde d'une classe appartenant au diagramme.

    Concernant les dépendences, en java c'est une détection du code et donc elle sont bonne en UML.
    Peut-être je me trompe, je m'y connais assez peu en UML.
    J'ai une classe, appelons la "toto". Plusieurs autres classes possedant des fonctions de modifications de la classe "toto" et donc prenant "toto" comme paramètre (j'ai mis ces fonctions dans d'autres classes afin de ne pas surcharger la classe "toto"), ces classes sont regroupées dans une classe "règle" afin de simplifier le diagramme UML. Mais parmis les dépendances générées pointent en partant de toutes les classes utilisant la classe "toto" dans une fonction, vers la classe "toto".
    Ce que je voufrais, ce serait uniquement des dépendance partant des classes de modifications vers la classe "règle" et une dépendance de la classe "règle" vers la classe "toto".

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

Discussions similaires

  1. [2012] Type de relation d'attribut
    Par mapmip dans le forum SSAS
    Réponses: 0
    Dernier message: 18/11/2013, 09h11
  2. Quels sont les différents types de relations (liaisons)
    Par pierrot10 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/09/2010, 10h36
  3. type de relation
    Par robert_trudel dans le forum Outils
    Réponses: 0
    Dernier message: 26/11/2009, 02h32
  4. les types de relations entre de 2 tables
    Par adel.87 dans le forum Développement
    Réponses: 3
    Dernier message: 30/09/2008, 12h16
  5. [Toad Data Modeler] Type de relations
    Par nunurs83 dans le forum Autres
    Réponses: 1
    Dernier message: 04/05/2007, 14h38

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