L'Ingénierie inverse en Java

Je sais que la même question a été posée de nombreuses fois sur DONC et je suis passé par la plupart des threads. Cependant, j'ai encore du point de ne pas avoir une réponse satisfaisante, alors j'ai pensé à demander de la communauté.

Je suis assigné le travail à faire de l'ingénierie inverse à un module et ont les problèmes suivants:

  1. L'équipe n'a aucune idée de ce qui est exactement dans le composant sous-jacent
    (Module est une solution tierce)
  2. Équipe était seul à travailler sur les tests de la partie, de sorte qu'ils ne peuvent me fournir
    des informations sur les flux, mais ce qui est le point de départ et qui
    c'est là qu'ils n'ont aucune idée.

Maintenant ils veulent me creuser par le biais de la base de code et de venir avec des diagrammes de classe ainsi que la séquence de flux etc.

Je n'ai jamais travaillé de ma vie professionnelle dans ce genre de situation où il n'y est aucune idée par où commencer et comment faire ce travail. La seule chose que j'ai, c'est le code source.

J'ai deux questions où j'ai besoin de l'aide:

  1. Est-il un plugin pour Eclipse qui peut générer des diagrammes de classe
    automatiquement à partir du code source?
  2. Ce que l'approche adoptée doit être quand on est dans ce genre de situation?

Mise à jour:
Je vais avoir accès au code source. Donc je suis plus enclin à la meilleure approche pour accomplir la tâche

  • Avez-vous le code source ou de travailler uniquement avec .class fichiers/pots?
  • j'ai dit à l'accès au code source
  • Ouais, bonne question. J'ai été s'il n'y a pas de code source, mais si c'est une solution plus facile pour vous...
  • Le Reverse engineering est la recréation d'un appareil qui effectue la même chose qu'un périphérique existant, sans la connaissance de la structure interne. Si vous avez le code source pour quelque chose que vous ne sont pas rétro-ingénierie-il. Vous êtes à la refactorisation, ou de le documenter.