|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 6 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 6 ![]() |
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 |
|
|
00
|
|
|
#4 |
![]() ![]() |
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 |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 6 ![]() |
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 ... |
|
|
00
|
|
|
#6 |
![]() ![]() |
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 |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 6 ![]() |
C'est bien ce que je pensais faire mais pourquoi Together s'arrète avant alors?
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Analyse système Inscription : mars 2011 Messages : 4 ![]() |
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 |
|
|
00
|
|
|
#9 |
![]() ![]() |
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 :
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com