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 :

[DC] Transformer un MLD en Diagramme de Classes


Sujet :

Diagrammes de Classes

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [DC] Transformer un MLD en Diagramme de Classes
    Bonjour

    Les régles de transformation d'un diagramme de classe UML en un MLD en vue d'utiliser un SGBDR sont "relativement" simples, et les logiciels capables de cette opération sont assez nombreux (mapping objet-relationnel).
    Connaissez vous des outils capables de faire l'opération inverse (transformation d'un MLD en diagramme de classe UML). J'ai l'impression que ce n'est pas aussi simple.
    Je fais une étude dans le cadre d'une réécriture d'un gros progiciel, et une question à laquelle je tente de répondre (point de vue bd) est : "from scratch or not from scratch"

    Merci de votre participation

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    La transformation n'étant pas bijective, tu n'as pas de solution miracle !!!
    Tu as des outils comme TogetherControlCenter ou XDE qui "savent" transformer des tables en EJBs entité. Je crois que tu as aussi un truc dans JBuilder qui te créé une couche d'objets Java à partir d'un modèle de tables. Ensuite tu reverses ces classes pour avoir un modèle UML.

    Mon point de vue sur la chose :
    Cas 1- Les trucs plus ou moins automatiques ne marchent bien que sur des schémas simples et pas trop gros. Mais dans ce cas, il est préférable de faire les choses à la main et ce ne doit pas être trop contraignant car justement, le modèle n'est pas trop gros.
    Cas2- Ton modèle est complexe et/ou assez gros. Dans ce cas, les trucs automatiques ne marchent pas bien et donc il vaudra mieux faire le truc à la main.


    Bref, je ne crois ABSOLUMENT pas qu'une quelconque automatisation soit possible (le mapping sera trop simpliste dans 90 % des cas. Pour les 10 % autres, ceux sont les cas simples que tu peux traiter à la main)

    Le mieux est peut être que tu t'aides d'un framework de persistance

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Donc "from scratch" !
    J'ai déjà eu, en effet, à mener un projet de reverse pour obtenir un MCD (via MLR) à partir d'une base DB2. Les corrections à apporter aux modèles intermédiaires se sont vite avérées laborieuses, nous somme finalement partis FS, ce qui s'est avéré payant en bout de course.

    Le mieux est peut être que tu t'aides d'un framework de persistance
    Peut-tu être plus précis? Un framework de persistance me permettra de passer de mon modèle objet vers du SGBDR. Mais quelle aide peut-t-il m'apporter en reverse ?

    Merci

  4. #4
    Provisoirement toléré
    Inscrit en
    Avril 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Bonjour
    Oui tu peux transformer un MLD en diagramme de classe via l'outil
    Windesign 5.1 et plus.Il faut d'abord transformer ton mld en mcd
    donc deja une perte au niveau -conceptuel- de la fiabilite ensuite de ce nouveau mcd tu peux aisement genere un diagramme de classes.
    Mais attention faut pas en attendre des miracles!!!!
    .J'ai deja essaye et franchement c'etait pas genial.Surtout si tu as un gros MLD. Mais ca a le merite d'exister.Il est vrai que comme on est des milliers en France a utiliser la methode d'analyse merise cette question est souvent
    posee.
    Je sais qu'il existe des versions plus recente comme Windesign 5.5 peut etre plus perfectionnner pour ce genre de reverse Engeeniring
    Cordialement


  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Peut-tu être plus précis? Un framework de persistance me permettra de passer de mon modèle objet vers du SGBDR. Mais quelle aide peut-t-il m'apporter en reverse ?
    Rien sur le reverse !
    Cela te permettra surtout de mieux gérer le fait que la transfo n'est pas bijective et te permettra de raisonner "objet" plutôt que "table"

  6. #6
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Salut
    Citation Envoyé par ego
    raisonner "objet" plutôt que "table"
    Là, 200% d'accord avec toi.
    Citation Envoyé par lee Mythe
    J'ai déjà eu, en effet, à mener un projet de reverse pour obtenir un MCD (via MLR) à partir d'une base DB2. Les corrections à apporter aux modèles intermédiaires se sont vite avérées laborieuses, nous somme finalement partis FS, ce qui s'est avéré payant en bout de course
    D'accord avec toi newsbibi, l'expérience que je rapporte était avec Windesign 5.8 (outil interressant au demeurant).
    Citation Envoyé par newsbibi
    Il est vrai que comme on est des milliers en France a utiliser la methode d'analyse merise cette question est souvent posee.
    Là, ce n'est pas un problème de méthode. En l'occurence, comme ma source est du SGBDR, le formalisme que j'utilise est celui de Merise (Modèle entité relation). Nous allons plus vers une méthode RUP avec UML comme langage.

    Merci pour les infos

  7. #7
    Provisoirement toléré
    Inscrit en
    Avril 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Attention
    Je n'ai jamais dit qu'UML etait une methode loin s'en faut.
    C'est un langage avec son formalisme, ses faiblesses, ses avantages.
    Seuleument je vais etre franc, pour les bases de donnees je ne connais
    rien de plus efficace que le mcd, mld.
    Et pour creer ma base Merise me va tres bien.
    Par contre c'est vrai que pour les traitements je prefere quand meme
    les specifications d'UML au Mct, Mot etc.. .
    Donc j'utilise un mix des deux Merise pour la modelisation de la base de
    donnees, et UML pour les traitements.
    Jusqu'a present ca me convient tres bien.
    :o

  8. #8
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Tout à fait juste.
    UML n'adresse pas directement la création des MPD bien que l'on puisse créer un profil pour cela (le pb c'est en fait les outils).
    Ceci dit, des outils comme XDE intègrent la création des MLD et MPD. Mais ils ne sont peut être pas encore au niveau des outils comme Power Designer/AMC qui sont complètement (à l'origine au moins) dédiés à la modélisatin des BD.

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Si j'utilise un framework de persistance, il y a de fortes chances qu'il intégre un éditeur de diagramme de classe UML, et de fait le passage du modèle objet vers un modèle entité-relation....(Mapping objet-relationnel). J'ai donc interêt a partir du diagramme UML. Me trompe'je ?

  10. #10
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Non, non pour l'outillage !
    A ma connaissance, seuls les frameworks du commerce, payants donc, intègrent ce genre d'outil de mapping.
    Un outil comme TopLink te permet effectivement de browser une base, un modèle objet en parallèle et de faire l'association classe-table. Il permet aussi de créer les classes à partir des tables mais pas de miracle ici.

    Si tu vas dans le monde OpenSource avec des outils comme Hibernate, tu devras toi-même écrire le fichier de mapping entre tes classes et tes tables. Mon point de vue sur le sujet est que ce n'est pas très différent de l'usage d'un outil graphique dès lors que tu as assimilé la syntaxe du fichier de mapping; ce qui peut être presque aussi long que d'apprendre les concepts de l'outil graphique

    Bref, les outils ne font pas de miracle au sujet du mapping "automatique" et c'est conceptuellement normal.

    Pour ce qui est de partir d'un modèle UML de classes, oui. Cependant, pour t'aider à le construire, tu peux évidemment partir du modèle relationnel et dans un premier temps faire du mapping 1-1 puis ensuite reprendre le modèle de classes et voir si tu n'as par mixer plusieurs concepts dans une même classe. Si c'est le cas, tu crées de nouvelles classes, tu y rapatries les attributs qu'il faut et tu crées les associations nécessaires entre la nouvelle classe et celle d'où tu as supprimé les attributs et enfin tu modifies le fichier de mapping en conséquence.

    NB: avec un produit comme Hibernate, tu as plein d'exemple de mapping !

  11. #11
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos retours !

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

Discussions similaires

  1. Transformer un modèle en étoile en diagramme de classe
    Par siham-gh dans le forum Conception/Modélisation
    Réponses: 3
    Dernier message: 17/03/2011, 12h18
  2. Règles de transformation d'un diagramme de classe UML vers classes Java
    Par Deallyra dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 01/04/2010, 18h00
  3. Transformation MCD en Diagramme de Classes
    Par brh/gip dans le forum Schéma
    Réponses: 5
    Dernier message: 22/02/2008, 11h02
  4. Réponses: 1
    Dernier message: 09/06/2007, 12h33
  5. Diagramme de classes (MCD, MLD) depuis IBConsole
    Par skeut dans le forum Outils
    Réponses: 2
    Dernier message: 10/01/2006, 18h41

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