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

Outils Discussion :

comment faire du reverse engineering


Sujet :

Outils

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut comment faire du reverse engineering
    Bonjour,
    Je commence à travailler sur un projet qui est développé par énormément de monde. Bien sûr, il y a eu quelques décisions de structure de prises mais dans l'ensemble, l'esprit du truc c'est que chacun amène son petit bout et on essaie d'assembler. Résultat : on beau bordel sans documentation!
    Je dois moi aussi amener mon petit bout, une sorte de module supplémentaire mais j'aime bien travailler en milieu connu, bref j'aimerais avoir une vision d'ensemble de l'existant, surtout à l'endroit où mon programme doit s'insérer.
    En clair, j'ai une classe java (le projet est en java et en xml) dont je veux connaître l'utilisation par les autres classes (comment elle est appelée, quand, pourquoi, ...). J'ai bien sûr pensé à un diagramme UML mais je ne sais pas lequel.
    En plus, je suis programmeuse, je connais les diagrammes de classes et de séquences à faire avant de coder mais c'est tout. J'ai une vague idée des design patterns mais aucune méthode pour travailler "en sens inverse".
    Bref, je me tourne vers les professionnels que je ne doute pas que vous êtes pour demander comment faire ce reverse engineering, s'il y a une méthode, des outils, ...
    Merci par avance

  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 : 57
    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
    Billets dans le blog
    2
    Par défaut
    Si tu veux une vision d'ensemble, oui un reverse UML peut être utile.
    Maintenant, il va falloir le faire avec un outil sérieux.
    Personnellement, le seul que je connaisse et qui fait ça sans que tu ais à te poser trop de question genre, "suis-je sûr qu'il a tout repris", c'est Together de Borland. Je ne connais pas d'outil open source réellement valable pour cela.

    D'autres membres du forum pourront probablement te parler d'autres outils.

    Sinon, si tu veux simplement savoir qui t'appelle, tu peux faire cela sous Eclipse avec le "Search references". Ok, c'est pas un diagramme UML mais cela permet de savoir un peu qui appelle qui.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    Merci pour tes conseils.
    J'ai téléchargé la version d'évaluation de Together et ça m'a sorti les diagrammes de classes. C'est déjà ça. Ensuite, j'ai remonté mon programme grâce au search reference d'Eclipse. Je ne connaissais pas mais c'est très utile!
    J'ai enfin feuilleté pas mal de doc UML pour approfondir la chose.
    Comme je l'ai dit, je veux connaître l'utilisation d'une classe par les autres classes (quand, comment, pourquoi, ...) bref à quoi elle sert exactement. Je pense que pour ce genre de représentation, c'est un diagramme de collaboration qu'il faut, non? Y'a-t-il une marche à suivre (par étapes) pour bien réaliser ce diagramme?
    Merci pour tout

  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 : 57
    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
    Billets dans le blog
    2
    Par défaut
    Together sait faire des diagrammes de séquence en partant du code d'une opération, le diagramme de collaboration étant, en gros, une autre vision du diagramme de séquence

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    Encore un grand merci pour tous tes conseils qui m'ont réellement aidée. En plus, c'est super agréable de se faire répondre aimablement même si on pose des questions de grand débutant (je comprend que c'est pénible d'avoir toujours les mêmes questions, mais sur certains sites, ils sont limite agressifs, ce qui n'est pas le cas ici!)
    Si je peux encore abuser une fois de votre gentillesse, voilà ma question : comment représenter un try-catch en UML? En effet, j'ai identifié la méthode de départ pour mon diagramme de séquence. Elle peut se résumer à ça:
    private objetRetour maMethode (listeArg) throws Exception
    {
    appel_fonction();
    if (cond) throws new Exception;
    try {
    bloc_instructions1;
    }finally{
    bloc_instructions2;
    }
    }

    Je pensais qu'il n'était pas nécessaire de faire apparaître les exceptions, bref de résumer dans le diagramme de séquence par l'appel de la première fonction puis les 2 blocs d'instructions (faire comme si il n'y avait pas de problème à l'éxécution, oublier les try-catch) mais quand j'ai voulu vérifier avec Together, il me crée l'appel à la fonction et c'est tout, juste des pointillés après, aucune trace de ce qu'il y a dans le try-catch.
    Conclusion : je me pose des questions. Est-ce moi qui ne sait pas se servir de Together (diagramme trop gros donc affichage en plusieurs pages et je ne trouve pas les autres pages, configuration à faire, ...) ou est-ce un formalisme UML? Ce qui m'interresse est justement dans le bloc d'instruction n°1.
    Je suis une fois de plus perdue ...

  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 : 57
    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
    Billets dans le blog
    2
    Par défaut
    La notion d'exception n'existe pas dans les outils UML.
    On peut les définir dans les signatures d'opération mais je n'ai jamais vu (ou je ne sais pas) comment en parler dans les diagrammes autrement qu'en mettant des Notes sur le diagramme.
    Avec les Notes, tu décris d'abord se qui est fait quand tout va bien et "en dessous" tu mets une Note pour décrire ce qui se passe si cela va mal = l'exception XX est levée.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/05/2015, 21h00
  2. [Débutant] Comment faire un Reverse Engineering
    Par jérémyp8 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 30/10/2014, 10h55
  3. Comment protéger son code du reverse engineering ?
    Par progfou dans le forum Débats sur le développement - Le Best Of
    Réponses: 120
    Dernier message: 12/01/2011, 18h12
  4. [Win'Design] Comment faire du reverse ingeneering?
    Par lesAlpes dans le forum Autres
    Réponses: 5
    Dernier message: 28/02/2008, 14h01
  5. Réponses: 2
    Dernier message: 12/09/2006, 08h20

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