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 :

Du diagramme de classe à la conception du code


Sujet :

Diagrammes de Classes

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 224
    Points : 116
    Points
    116
    Par défaut Du diagramme de classe à la conception du code
    Existe t-il, au même titre que le passage du MCD au MLD, des régles qui régissent le passage d'un diagramme UML(diagramme de classe) à la génération du code des classes.

    Si possible me les expliquers ou alors me diriger vers un site.
    Merci et bonne soirée.
    Petit à petit, l'oiseau fait son nid !

  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 : 55
    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
    ben en fonction du lanage objet que tu utilises, le mapping n'est pas compliqué non ?
    je ne crois pas qu'il y aiy un papier sur le sujet mais les outils UML font tous de la génération de code !

  3. #3
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Pour générer le DDL d'une base Rose propose 1 'nouveau' diagramme : 'diagramme de base de donnees' qu'on retrouve aussi dans EclipseUML (et peut-etre aussi dans d'autres ...)
    qui pourrait s'apparenter au MPD merise. Malheureusement il ne se deduit pas automatiquement du MCD mais il faut le construire à la main (mais ca a peut-etre evolue depuis ...).
    Concernant les regles de migration des relations en entites (ou association en classes), de migration des clefs etrangères etc ... pour construire ce diagramme j'ai trouve ce lien :

    http://libd.isnetne.ch/cours/BDRO/UMLobjet_sup.pdf

    Je ne suis pas d'accord avec tt (entr'autre je prefere avoir 1 classe d'associations et perdre 1 sens de navigabilite plutot que de gerer des multivaluees en SQL... mais ca n'engage que moi), mais il est exhaustif et bien fait

    Tiens moi au courant de tes découvertes le sujet m'interresse aussi

  4. #4
    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 : 55
    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
    Mais le monsieur semble intéressé par le passage UML code uniquement non ?
    Comme je te l'ai dit, je ne pense pas qu'il y ait un papier sur le sujet mais à quoi bon, les outils font de la génération de code alors...

    Cette réponse est-elle suffisante ou bien cherches-tu vraiment à expliquer précisement quel pourrait être un mapping UML-Java ou UML-C++ ou UML-C# ou UML-PHP ou UML-Smalltalk ou .... ou .... comme tu le vois, il y a pas mal de boulot si on veut écrire le mapping d'UML vers un langage objet et il n'y a pas que les langages objets !!

    NB: j'ai écrit un doc sur le mapping UML - COBOL dans ma boite !! oui oui !! (je veux dire qu'on modélise en UML/objet puis on écrit le code correspondant en COBOL)

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Bonjour, la sérialisation d'un diagramme de classe UML se fait au format XMI (XML Métadata Interchange) qui est donc un document XML. Dès lors, vous pouvez générer du code objet en utilisant une transformation par XSLT.
    C'est de cette manière que les logiciels CASE (Rational Rose, Poseidon, ...) procèdent.

    Cordialement,
    Hephaistos007
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    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 : 55
    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
    On peut effectivement passer de XMI au code par XSLT mais je ne penses pas que les outils procèe comme cela. En effet, les extensions des outils ne sont pas toutes représentables en XMI, c'est donc une raison pour ne pas passer par XMI pour passer au code. De plus les outils possèdent déjà en interne un méta-modèle d'UML (le leur) et je ne vois pas pourquoi ils passeraient par XMI pour faire de la génération de code !

  7. #7
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Tu as peut-être raison, mais je pensais qu'il utilisaientt XMI. Je dis cela en pensant en particulier à Poséidon, où les fichiers de sauvarges des diagrammes (qui sont des archives) contiennent ces fameux fichiers XMI.
    Toujours est-il que même si les techniques sont propres à chaque outil, elles sont surement toutes dans le même esprit.
    Pour transformer des petits carrés et des traits qui sont sur l'écran à du code, il faut obligatoirement sérialiser un diagramme pour le rendre manipulable, puis effectuer une transformation.

    De plus les outils possèdent déjà en interne un méta-modèle d'UML (le leur)
    Ce que tu dis est intérressant. Je ne sais pas si tu parles de la même chose que moi mais actuellement la recherche en ingénièrie des modèles (entre autres l'approche MDA de l'OMG) se concentre sur la transformation de modèles. Dans cette approche, un logiciel CASE, pour pouvoir générer du Java (par exemple) à partir de diagrammes UML, doit posséder le méta-modèle d'UML et le méta-modèle Java. Dès lors, un langage spécifique (QVT) va spécifier le mapping entre les méta-modèles, et ainsi automatiser la transformation d'un modèle UML en code Java.
    Mais cela est très récent, et pas encore intégré aux logiciels CASE, ce qui me fait penser que ce n'est pas de cela dont tu parlais. Dans ce cas, quelle technique crois-tu que les logiciels CASE utilisent pour générer du code, et le rapport avec le méta-modèle dont tu parles ?
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  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 : 55
    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
    Le méta-modèle dont je parle est celui d'UML + extensions propres à l'éditeur.
    Pour ce qui est du méta-modèle des langages, je ne sais pas comment ils font et s'ils en ont un modélisé de la même manière que celui d'UML car il en le manipule pas complètement de la même manière qu'UML.
    Mais les générateurs possèdent de manière intrinsèque un méta-modèle du langage cible. De là à avoir 2 méta-modèles + un langage de transformation, là je ne sais pas s'ils fonctionnent exactement comme cela.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 224
    Points : 116
    Points
    116
    Par défaut
    Merci à tous pour vos réponses, je suis actuellement sur la lecture du livre blanc du lien de Nip ainsi qu celui de TheLeadingEdge.
    Pour répondre à la question de ego, je me demande comment, une fois mon diagramme effectué, comment générer les classes qui correspondent à ce modéle. Exemple un objet peut contenir des listes d'objets(dans le cas d'une relation multiple) et j'aimerai être capable de l'identifier.

    Apparemment, comme le signal ego la génération du code dépend du langage utilisé.Je pensé perso que l'objet etait une méthode universelle et que les régles etaient communes à chaque langage.
    Sinon, J'utilise PHP5 et le logiciel DIA qui permet aprés l'ajout d'un plugin de générer les classes PHP5 correspondant à mon diagramme. Je crois qu'il utilise aussi la transformation XSLT.

    En ce qui concerne le mapping, si j'ai bien compris, c'est une couche qui permet de rendre un objet persistant en le stockant dans une base de données relationnelle de facon automatique grace à XML.Hibernate est apparemment le plus utilisé mais je n'est pas l'impression que ce genre d'outils existe en PHP.

    Bone soirée.
    Petit à petit, l'oiseau fait son nid !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/08/2014, 11h38
  2. Diagramme de classe à partir de mon code Java
    Par mimish dans le forum NetBeans
    Réponses: 0
    Dernier message: 13/05/2011, 16h05
  3. Réponses: 5
    Dernier message: 11/10/2007, 13h55
  4. Aide conception diagramme de classes Projet Web
    Par alves.seb dans le forum Diagrammes de Classes
    Réponses: 9
    Dernier message: 12/06/2007, 14h29
  5. diagramme classe a partir du code
    Par souha_line dans le forum C#
    Réponses: 5
    Dernier message: 27/01/2007, 02h20

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