2013-05-11 3 views
5

J'écris un programme en langage java qui prend le code source java comme une entrée et la sortie est un fichier xmi qui contient le diagramme de classes du code source.Comment générer un fichier XMI pour le code source java?

J'ai fait des recherches pour la structure xmi mais je n'ai pas été capable de trouver une ressource adéquate expliquant la structure et l'ordre des étiquettes.

La première question est comment puis-je savoir quel est l'ordre des étiquettes et la définition de chaque étiquette? par exemple, quelle est la signification de "isActive = false" etc?

Deuxièmement, y a-t-il des suggestions de bibliothèques ou de quoi que ce soit en langage Java qui peuvent m'aider à terminer ce projet?

+0

vous pouvez définir la structure XML selon vos besoins. –

+0

Il serait préférable que vous commenciez par un tutoriel XML de base pour en savoir plus sur les bases XML telles que les balises, les attributs, les espaces de noms ... –

+0

http://www.vogella.com/articles/JAXB/article.html –

Répondre

3

Je pense que l'ordre des tags n'a pas d'importance dans XMI. En général, XMI définit simplement comment mapper MOF en XML. Donc, fondamentalement, vous construisez le modèle M2 (= UML) depuis Java et ensuite mappez-le en XML avec XMI si je comprends bien (et je pense que la double indirection est la raison pour laquelle vous ne trouvez pas de bonnes ressources pour le mappage d'UML vers XMI directement).

Pour de nombreuses personnes, les exemples peuvent être plus accessibles que la chaîne de règles de transformation définie par les différentes normes OMG. Je dessine donc un diagramme d'exemple UML minimal dans mon outil UML préféré pour l'aspect d'exportation qui m'intéresse et je regarde le XMI exporté. Ensuite, ajoutez les fonctionnalités nécessaires ...

PS: Vous pouvez utiliser les classes de réflexion Java (package java.lang.reflect) au lieu d'analyser vous-même la source Java pour générer XMI (si vous n'avez pas besoin de préserver les noms d'arguments de méthode).

+2

L'utilisation de la réflexion élimine les noms de paramètres des méthodes. Ce _might_ peut être une préoccupation ou non - YMMV. –

+0

@Stefan Haustein, j'apprécie votre réponse mais je ne vous ai pas compris clairement. Je suis exactement analyser le code de Java pour générer le fichier XMI. J'ai vu l'exemple créé par StarUML sur windows ou ArgoUML sur mac. Je trouve la relation entre les classes et aussi leur contenu et génère un diagramme UMLClass. Je suis impressionné par la réflexion Java, mais puis-je l'utiliser pour mon programme pour déterminer le diagramme de classe de n'importe quelle source. (L'entrée du programme est n'importe quel code source) – Bernard

+0

@ A.H. merci, corrigé –

Questions connexes