Précédent   Forum des professionnels en informatique > Général Développement > Conception > Outils
Outils Forum d'entraide sur tous les outils concernant le cycle de vie du logiciel : Conception, gestion de projets, tests, etc...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2006, 14h09   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 1
Points : 1
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
PinguinQueen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 15h25   #2
ego
Rédacteur
 
Homme
Inscription : juillet 2004
Messages : 1 785
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : juillet 2004
Messages : 1 785
Points : 2 513
Points : 2 513
Envoyer un message via ICQ à ego
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.
__________________
http://ego.developpez.com
ego est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 12h48   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 1
Points : 1
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
PinguinQueen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 18h45   #4
ego
Rédacteur
 
Homme
Inscription : juillet 2004
Messages : 1 785
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : juillet 2004
Messages : 1 785
Points : 2 513
Points : 2 513
Envoyer un message via ICQ à ego
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
__________________
http://ego.developpez.com
ego est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 16h16   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 1
Points : 1
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 ...
PinguinQueen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 21h17   #6
ego
Rédacteur
 
Homme
Inscription : juillet 2004
Messages : 1 785
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : juillet 2004
Messages : 1 785
Points : 2 513
Points : 2 513
Envoyer un message via ICQ à ego
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.
__________________
http://ego.developpez.com
ego est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 09h02   #7
Invité de passage
 
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 1
Points : 1
C'est bien ce que je pensais faire mais pourquoi Together s'arrète avant alors?
PinguinQueen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 22h34   #8
Invité de passage
 
Femme
Analyse système
Inscription : 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 : 4
Points : 4
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
web service est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2011, 11h47   #9
ego
Rédacteur
 
Homme
Inscription : juillet 2004
Messages : 1 785
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : juillet 2004
Messages : 1 785
Points : 2 513
Points : 2 513
Envoyer un message via ICQ à ego
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.
__________________
http://ego.developpez.com
ego est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h00.


 
 
 
 
Partenaires

Hébergement Web