Dessiner des diagrammes de classe dans un programme Java
Salut tout le monde,
Svp, j'ai besoin de vous pour un truc sur lequel je bloque depuis plusieurs semaines. J'ai beau cherché, j'ai rien trouvé dessus.
Je vous explique mon problème : Je développe une application en Java sur Eclipse et je dois à certains moments de l'exécution, afficher une diagramme de classe, mettant en œuvre des données précises.
Par exemple : à un moment t1 de l'exécution j'ai des Trois variables : Classe(A), Classe(B), Association(C,A,B). Mon programme devra alors à ce moment t1 afficher le diagramme de classes relatif à ces trois variables.
Le problème c'est que j'ai pas trouvé comment dessiner ces diagrammes automatiquement en donnant juste les données à prendre en considération. J'ai essayé de programmer un petit sous programme pour dessiner ca mais c'est trop long à faire et en plus il y'a beaucoup de problèmes quand on varie les variables.
Merci d'avance pour votre aide.
S'il ya quelques chose qui n'est pas clair, faites moi signe svp.
Encore Merci.
Diagram UML de classe en execution
Le diagramme de classe est supposé montré les classes statiques corespondant au code Java. Si le besoin est d'actualiser le diagramme UML avec le code java alors c'est du round trip entre le code et le modèle. Il suffit d'utiliser un outil mais l'obligation est d'ouvrir un diagramme exisitant qui au moment de l'ouverture fait un refresh et synchronize les informations entre le digramme visuel, le modèle UML et le code. Il est impossible de faire une synchronization sans activer l'Eclipse builder et donc d'ouvrir eclipse et le diagramme. On ne peut le faire de manière programmé. Désolé :(
Mais je pense que la demande est de voir à chaud ou est parti la méthode dans son execution et qu'elles sont les classes concernés ?
Est-ce la demande ?
Dans ce cas s'est possible. On attend la fin de l'execution et on ouvre un diagramme qui décrit ce qui a été la chemin de ma méthode dans un diagramme de séquence.
Metamodel UML et normalisation graphique
Citation:
A noter que que le métamodel uml (model emf) a été fixé par Eclipse, alors qu'il n'y a pas de normalisation pour l'instant au niveau des métamodels graphiques.
Le metamodel EclipseUML2, que j'appelle aussi la structure uml, est une norme officiel de l'OMG pour UML 2.1 et 2.2.
Petit explicatif des différentes couches pour la modélisation Java:
couche 1 : diagramme de classe ou séquence
couche 2 : metamodel appelé aussi UML Structure
couche 3 : la transformation EMF
couche 4 : MOF (le language permettant de définir UML)
Il n'y a pas d'intéret à échanger les interfaces graphiques des diagrammes car la Structure UML contient l'information et les diagrammes sont justes des viewers plus ou moins dynamiques. De plus la normalisation des interfaces graphiques est impossibles techniquement (on a regardé le projet et c'est vraiment impossible). Il faut donc arreter les usines à gaz et les normes parfois non réflechies de l'OMG sur ce sujet. Ce projet est mort et enterré depuis 2006.
UML2tools n'a pas vraiment d'outil pour faire des diagrammes de classes UML à partir de Java. On peut certes reverser un projet de java vers uml mais la moitié des informations est perdue lors de cette transformation, et ensuite le drag and drop des classifiers vers le diagramme est mono diagramme, non dynamique et pour moi inutilisable dans l'état.