Reverse engineering de code Java

Vous pouvez procéder au reverse engineering de fichiers contenant des classes Java vers un MOO. Pour chaque classe définie dans un fichier Java, une classe correspondante est créée dans le MOO, sous le même nom et avec les mêmes informations.

Lorsque vous effectuez le reverse engineering d'une classe Java qui existe déjà dans le modèle, vous pouvez choisir dans la fenêtre de fusion de remplacer la classe existante, ou de conserver sa définition dans le modèle.

  1. Sélectionnez Langage > Reverse engineering Java pour afficher la boîte de dialogue Reverse engineering de Java.


  2. Sélectionnez l'un des formats de fichiers suivants dans la liste Reverse engineering :
    • Fichiers Java (.java) - Fichiers contenant une ou plusieurs définitions de classe.

    • Répertoires Java - Dossiers contenant les fichiers Java. Tous les fichiers .java, y compris ceux contenus dans des sous-répertoires, feront l'objet du reverse engineering. Chaque sous-répertoire devient un package au sein du modèle. Les fichiers Java contenus dans un même répertoire étant souvent interdépendants, si vous ne procédez pas au reverse engineering de la totalité des fichiers contenus dans le répertoire, votre modèle risque d'être incomplet.

    • Fichiers de classe (.class) – Fichiers compilés contenant la définition d'une unique classe ayant le même nom que le fichier. Chaque sous-répertoire devient un package au sein du modèle.

    • Répertoires de classe – Dossiers contenant des fichiers de classe. Tous les fichiers .class, y compris ceux contenus dans des sous-répertoires, font l'objet du reverse engineering.

    • Archives (.zip, .jar) - Fichiers compressés contenant des définitions d'une ou de plusieurs classes. PowerAMC crée une classe pour chaque définition de classe dans le fichier .jar ou .zip. Les fichiers suivants ne sont pas concernés par le reverse engineering : manifest.mf, web.xml, ejb-jar.xml, et *.jsp. Les autres fichiers sont récupérés sous forme des fichiers avec la propriété Artefact définie à true de sorte qu'ils peuvent être générés ultérieurement. Les fichiers sont récupérés par reverse engineering dans des packages correspondant à la structure des répertoires existant dans l'archive.

  3. Cliquez sur le bouton Ajouter pour sélectionner les fichiers et répertoires sur lesquels faire porter le reverse engineering, puis cliquez sur Ouvrir pour revenir à la boîte de dialogue Reverse engineering de Java, qui affiche maintenant les fichiers sélectionnés.

    Vous pouvez répéter cette étape autant de fois que nécessaire pour sélectionner les fichiers ou répertoires situés à des emplacements différents.

    Vous pouvez pointer sur n'importe quel fichier, cliquer le bouton droit de la souris et sélectionner Editer dans le menu contextuel pour afficher son contenu dans un éditeur.

  4. [facultatif] Cliquez sur l'onglet Options et spécifiez les options de reverse engineering appropriées. Pour plus d'informations sur ces options, reportez-vous à la section Onglet Options de la boîte de dialogue Reverse engineering de Java
    Remarque : Reverse engineering sans le corps du code Vous pouvez effectuer le reverse engineering de fichiers .java sans le corps du code afin de les visualiser ou à des fins de comparaisons, voire pour limiter la taille de votre modèle si vous devez faire porter le reverse engineering sur un grand nombre de classes. Pour ce faire, cochez la case Ignorer les corps des opérations.
  5. Cliquez sur OK pour lancer le processus de reverse engineering. Si le modèle dans lequel vous effectuez le reverse engineering contient déjà des données, la boîte de dialogue Fusion de modèles s'affiche pour vous permettre de spécifier si les objets existants doivent être écrasés.

    Pour plus d'informations sur la fusion de modèles, voir Guide des fonctionnalités générale > L'interface de PowerAMC > Comparaison et fusion de modèles.

    PowerAMC crée une classe dans le modèle pour chaque définition de classe dans les fichiers soumis au reverse engineering. Les classes sont visibles dans l'Explorateur d'objets et, par défaut, les symboles sont créés dans un ou plusieurs diagrammes.