reverse engineering java

reverse engineering java - Java - Programmation

Marsh Posté le 23-12-2009 à 09:34:04    

Bonjour , je travaille depuis quelques jours sur un nouveau projet en java sur lequel je n ai aucune doc , ni dossier de conception ni spec.
 
Bien évidemment j ai donc l énorme code source, et j aimerais trouver un logiciel qui puisse me faire une étude du code et me  
sortir des choses comme :
 
-Des diagrammes Uml
-Des schémas de type relation d'héritage  
-Pleins d autres trucs intéressants
 
les recherches sur googles m'ont donné pleins de noms de plug in pour eclipse et de logiciels divers aussi je voulais savoir  
 
Lesquels utilisez vous ?
 
Merci beaucoup de vos réponses :jap:

Reply

Marsh Posté le 23-12-2009 à 09:34:04   

Reply

Marsh Posté le 11-01-2010 à 21:40:59    

Bonjour,
Je connais quelques projets industriels qui utilisent Java to UML (http://java2uml.gforge.enseeiht.fr/) avec TopCased (sous Eclipse).
Cordialement

Reply

Marsh Posté le 12-01-2010 à 11:51:34    

Quand on fait du dév, c'est le 1er réflexe à avoir : documenter, pour soi, et pour les autres qui passeront derrière :) Et c'est seulement quand on se trouve confronté à une situation comme la tienne, que l'on s'aperçoit de l'importance de cette tâche...
 
Dans le cadre de mes projets j'utilise TopCased, mais seulement l'éditeur UML, donc je ne peux me prononcer sur java2uml.
 
J'ai obtenu de bonnes choses avec Bouml http://bouml.free.fr/features_fr.html qui est un outil simple, libre et développé par un Français :) Il possède notamment des fonctionnalités d'analyse de source http://bouml.free.fr/doc/index_javareverse.html et de reverse http://bouml.free.fr/doc/index_javareverse.html.  
Il suffit ensuite de drag&droper les classes/interfaces produites dans l'arborescence par un reverse dans les diagrammes de ton choix : les relations (héritage, dépendance, associations...) se modélisent toutes seules.
 
Sinon, un coup de l'outil javadoc sur les sources peut produire (si les tags javadoc sont utilisés et les commentaires pertinents) une ébauche de doc de ton projet sous forme html.
 
Enfin, pour des informations plus poussées on a :
- Checkstyle http://checkstyle.sourceforge.net/index.html pour quantifier le respect du code vis-à-vis de règles standard de développement (conventions de nommage tout au long du code, taille des méthodes, complexité...)
- JDepend http://www.clarkware.com/software/JDepend.html pour analyser le nombre des classes, leur couplage, leur ouverture à modifications, les cycles...
 
De plus, si c'est un projet d'entreprise de type "classique" (Web + persistence, ou bien J2EE/JEE avec du métier à coup d'EJB, ou encore traitements Batch + bus JMS), il y a fort à parier que des patterns "classique" ont été mis en place : le nommage des packages/classes peut fournir des informations, à mettre en relation avec les blueprints de Sun http://java.sun.com/blueprints/patterns/.
 
Bon courage.


---------------
"Don't look for a reason, look for a way out" -  Cube
Reply

Marsh Posté le 12-01-2010 à 17:39:53    

Je vous remercie de vos réponses, j ai commencé à utilisé Omondo qui est pas mal , mais dès que j'ai un peu de temps j'irais voir vos liens.
 
Je ferais un retour dans quelques jours (je suis sur une autre tache plus prioritaire, mais tot ou tard il faudra que je revienne sur ce pb !!!)
 
a bientot

Reply

Marsh Posté le 19-01-2010 à 14:04:16    

Salut
 
Il existe aussi le projet libre MoDisco (http://www.eclipse.org/gmt/modisco/) qui permet (entre autre) de rétro-modéliser des applications Java.
Il crée des modèles EMF, que tu peux ensuite consulter avec les outils UML2 d'Eclipse.


---------------
http://valid.x86.fr/tctvhf | Discrimination against women is wrong. Discrimination against men is equal opportunity.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed