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

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 3
    Points
    3
    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 : 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
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 3
    Points
    3
    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 : 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
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 3
    Points
    3
    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 : 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
    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.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    C'est bien ce que je pensais faire mais pourquoi Together s'arrète avant alors?

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 7
    Points
    7
    Par défaut besoin de votre aide
    bonjour

    d'après vos réponses 'Mr ergo' vous me sembler serviable et vous maitriser pleines d choses (un vrai professionnel)
    si c possible de m'aider à choisir le meilleur outil qui m'aide à faire du reverse engineering
    g un code source en cobol et je veux le transmettre en classes UML ou tables MLD pour enfin construire des services web
    plus précisément, mon mémoire consiste à transformer les processus d'une entreprise en services web (malheureusement l'entreprise ne dispose pas de processus métier mais seulement d'une application en cobol), c pr cela j'ai pensé que le reverse engineering pourra me faire l'affaire
    autre demande s'il vs plait, veuillez m'envoyer le lien de téléchargement de l'outil que vs me proposer (g essayer pr rational rose, borland together mais c'était pas possible q des versions payantes)
    merci d'avance monsieur pr votre aide
    salutations

  9. #9
    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
    Pour le reverse de Cobol, je ne pense pas que cela t'aidera
    Le sujet que tu mentionnes me parait un peu trop large et peu précis. On ne peut pas comme ça "transformer" les processus de l'entreprise en services web. Dans ce que tu mentionnes, il y a plusieurs problématiques :
    1. Une problématique technique d'accès en WebService à du Cobol. Et encore, le sujet étant peu précis je ne sais pas trop.
    2. Transformer un existant Cobol (et encore) pour le rendre plus modulaire afin de pouvoir plus facilement orchestrer des fonctionnalités élémentaires.

    Je travaille dans une entreprise on 95% du métier est en Cobol, accédé depuis des IHM en Java. Je t'assure que l'on ne repense pas un système d'info. comme ça, même dans une thèse.

    Au final, je pense qu'il faudrait que ton sujet soit beaucoup plus précis à moins qu'il ne faille disserter sur ce que peut vouloir dire ce sujet pour moi trop vague.

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