CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java/Eclipse] Retro-Ingénierie d'un applicatif java

spartan-1903
spartan-1903
Niveau 10
06 janvier 2020 à 16:09:41

Bonjour !

Je suis actuellement en stage et comme l'indique le titre je dois faire du reverse engineering d'un applicatif Java, le code n'est pas (presque pas) documenté mais bon je m'efforce de comprendre le code puis je viens de commencer j'ai encore le temps :hap:

Par contre à coté je dois réaliser une documentation technique de l'application pour qu'elle soit ensuite réalisé en PowerShell et c'est là que ça coince :
J'ai mon doc libre office ouvert, je commence à décrire la Classe principale... ensuite la méthode main()... mais je remarque que mon travail va vite être un bordel !
CHAQUE méthode fait appel à plein d'autre méthode/classes qui elles mêmes feront appel à d'autre classes/méthode différentes,en bref j'ouvre un tiroir qui ouvre un autre tiroir qui va ouvrir 5 autre tiroirs différents.

Exemple :
Si je continue comme je le fais ma documentation technique va ressembler à ça :
Dans la Classe principale nommé "ClassPrincipale" la méthode main() s’exécute, implémente un HashMap de type String/string qui sera null. Ensuite on fait appel à une autre méthode [je décris l'action de la méthode], ensuite créer un objet...[bref j'explique la classe en lien avec l'objet]

Je sais pas si vous comprenez mais au final ça va être imbuvable et incompréhensible à lire à la fin...

Vous n'auriez pas des méthodes/cours pour faire de la rétro-ingénierie accompagné d'une doc technique de façons efficace et propre ?
Le but au finale c'est que lorsque moi ou une personne va lire ma doc, ce sera facile pour elle de savoir ce qu'elle doit faire pour réaliser cette application en powershell

Merci d'avance !

tsez93
tsez93
Niveau 10
06 janvier 2020 à 19:13:30

Pourquoi ne pas faire des diagrammes ? UML si tu as des classes ou autre méthode sinon.
Ensuite tu pourras écrire du texte pour expliquer des concepts plus généraux mais inutile de réecrire le code en français, c'est effectivement "imbuvable".

La migration Java vers Powershell est vraiment suprenante. Connais-tu les raisons ? Contraintes ?

spartan-1903
spartan-1903
Niveau 10
07 janvier 2020 à 08:37:39

Le 06 janvier 2020 à 19:13:30 tsez93 a écrit :
Pourquoi ne pas faire des diagrammes ? UML si tu as des classes ou autre méthode sinon.
Ensuite tu pourras écrire du texte pour expliquer des concepts plus généraux mais inutile de réecrire le code en français, c'est effectivement "imbuvable".

La migration Java vers Powershell est vraiment suprenante. Connais-tu les raisons ? Contraintes ?

et est-ce que tu connais un plugin sous Eclipse que me permettrait de tout "convertir" d'un coup en diagramme UML ?

Pour ta question je suis dans un établissement public, donc c'est forcément plus haut que ce choix a été fait, apparemment c'est plus sécurisé, bon, je vais juste faire ce qu'on me demande :'

spartan-1903
spartan-1903
Niveau 10
07 janvier 2020 à 09:13:59

trop tard pour un edit :
Quand je demande un plugin (ou logiciel) pour passe de code à UML? j'entends par là que j'aurais les diagrammes de classes, les flèches qui définies leurs relations entre elles etc

tsez93
tsez93
Niveau 10
07 janvier 2020 à 17:02:56

https://wiki.eclipse.org/Eclipse_UML_Generators
mais j'ai rarement vu du reverse UML qui fonctionne bien.

godrik
godrik
Niveau 30
07 janvier 2020 à 17:40:40

spartan, c'est difficile de dire quoi faire sans regarder le code directement. Il y a des questions de documentations de base, est ce que les fonctions et les classes sont documente corrrectement. Des fois du bon code est plus simple que de la bonne documentation. Est ce que les parametres des fonctions sont claire et bien nomme. Des fois juste changer le nom des parametres des fonctions aident grandement a rendre le code plus lisible.

Apres il faut aussi de la documentation plus generale. Et la, il faut repondre aux questions simple a mon avis. Qu'est ce que c'est? Qu'est ce que ca fait? Et comment ca interagit avec l'exterieur? Est ce que c'est claire comment faire tourner le code? Apres tu peux aller dans il y a le module bidule et il y a le module machin. Mais les question de base sont: ou est le code? et comment je m'en sert?

godrik
godrik
Niveau 30
07 janvier 2020 à 18:05:44

Une autre question importante est: Pour qui est ce que tu documentes? Est ce que tu documentes pour l'utilisateur? Pour l'admin systeme qui va installer/configurer l'application? Ou pour les developpeurs qui vont travailler sur l'application plus tard?

spartan-1903
spartan-1903
Niveau 10
07 janvier 2020 à 20:04:06

Merci pour vos réponse !

Gadrik : En gros j'ai un code en Java qui n'est pas très commenté, je dois me l'approprier, en faire une doc technique (quand on clique sur ce bouton qu'est-ce qui se passe d'un point de vue graphique, que fait le code "en gros") pour qu'ensuite le code puisse être refait en PowerShell par moi si j'ai le temps ou par un autre.

spartan-1903
spartan-1903
Niveau 10
08 janvier 2020 à 15:02:26

Le 07 janvier 2020 à 17:02:56 tsez93 a écrit :
https://wiki.eclipse.org/Eclipse_UML_Generators
mais j'ai rarement vu du reverse UML qui fonctionne bien.

Hélas ce que tu me propose est obligatoirement pour java 1.5 min jusqu'à java 1.8 max et je suis en Java 1.8 je ne peux pas changer :-(

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment