Question

Je recherche un outil qui permette de désosser Java dans un diagramme de séquence. BUT offre également la possibilité de filtrer les appels vers certaines bibliothèques.

Par exemple, l'EDI Netbeans effectue un travail fantastique, mais il inclut tous les appels à String ou Integer qui encombrent le diagramme au point qu'il est inutilisable.

Toute aide est grandement appréciée !!!!!!!

Était-ce utile?

La solution

Je pense que jtracert est ce que vous recherchez. Il génère un diagramme de séquence à partir d'un programme Java en cours d'exécution. De plus, étant donné que sa sortie est une description textuelle du diagramme (dans les formats de plusieurs outils SD populaires), vous pouvez utiliser grep pour filtrer uniquement les classes qui vous intéressent.

Autres conseils

Je pense que l'outil idéal pour résoudre votre problème est Diver: Vues interactives dynamiques pour la rétro-ingénierie. Il fournit des diagrammes de séquence statiques et dynamiques et cherche à résoudre tous vos besoins à partir de votre question.

C’est un plugin pour Eclipse et vous permet de:

  • Tracez facilement vos programmes Java
  • Visualisez les fonctionnalités d'exécution de votre programme
  • Filtrez vos traces pour les rendre plus compactes
  • Filtrez votre IDE en fonction de ce qui se passe à l'exécution
  • Voir quel code a été exécuté dans vos éditeurs de code source

C'est sur Github et il existe également un site Web du projet

Divulgation complète: Je suis le chef de projet actuel de Diver

.

Essayez MaintainJ . MaintainJ génère des diagrammes de séquence au moment de l'exécution pour un cas d'utilisation. Il fournit plusieurs manières de filtrer les appels non désirés . Oui, le filtrage des appels non désirés est la fonctionnalité la plus importante des outils de génération de diagrammes de séquence. De plus, MaintainJ fournit une interface soignée pour explorer le diagramme et rechercher des appels dans un cas d'utilisation ou dans plusieurs cas d'utilisation.

Consultez la vidéo de démonstration pour obtenir un aperçu rapide.

Je suis l'auteur de MaintainJ, au fait.

JTracert est maintenant abandonné. Au lieu de cela, ils recommandent http://www.jsonde.com/

J'ai un outil qui répond exactement à vos besoins. Check it out

http://sourceforge.net/projects/javacalltracer/

En plus d’être un outil de reverse engineering pour Java, il est également très léger. Vous pouvez contrôler ce que vous voulez enregistrer depuis votre programme Java.

L'architecte d'entreprise de Sparx prétend pouvoir procéder à l'ingénierie inverse du code java, y compris la génération de diagrammes de séquence - voir: section de la guide de l'utilisateur

On dirait qu'il peut enregistrer une session de débogage, puis vous générez le diagramme de séquence à partir de celui-ci

Je ne l'ai pas essayé (bien que j'aie utilisé EA comme outil de modélisation), alors ymmv!

Il existe une version d'évaluation gratuite téléchargeable sur 30 jours

Jetez un coup d'œil à http://www.maintainj.com

Elle ne sait pas si elle peut filtrer les appels de bibliothèque, mais son front-end graphique est raisonnable et elle semble pouvoir tracer même de très grandes applications.

Heatlamp ( http://www.jmolly.com/heatlamp/ ) a été conçu exactement pour cet objectif.

Il génère des diagrammes interactifs (et imprimables) à partir du code Java en cours d'exécution. Vous pouvez spécifier des filtres pour décrire les classes, les packages et les méthodes à suivre. Vous pouvez également rechercher, filtrer et réduire les appels après le rendu du diagramme afin de réduire davantage le diagramme de séquence.

Avertissement: je suis l'auteur de Heatlamp.

MaintainJ est vraiment un outil formidable. Récemment, j’ai commencé à utiliser MaintainJ avec mon application, c’est plus confortable avec tout mon utilisation pour comprendre mon système en fonction de Maintainj sequence & amp; Diagrammes UML.

Je suis sûr que, pour la question ci-dessus, MaintainJe donnera une meilleure idée. Merci, Krishna MM

Je viens de commencer à utiliser la fonctionnalité d'enregistrement de diagramme de séquence de Sparx Systems Enterprise Architect. Cela fonctionne très bien pour C #. Vous pouvez créer des filtres par classe et par méthode. J'essaie en fait de savoir s'il est possible de filtrer un paquet entier. Il existe une case à cocher pour exclure automatiquement les modules externes (comme le .NET Framework), ce qui facilite le désencombrement. YMMV pour Java, mais je pense que leur support (et leur documentation) pour Java est généralement meilleur (plus d’exemples) que pour .NET.

Voici un ajout à la réponse d'Asgeir. Voici le lien que j'ai trouvé.

http://www.zanthan.com/ajm/sequencev7/sequence.jar

Exécuter à partir de la ligne de commande ... " java -jar sequence.jar " ... Ceci est une application Java avec une interface graphique.

La section d'aide dit: SEQUENCE est un programme permettant de produire des diagrammes de séquence UML. Contrairement à la plupart des programmes similaires, vous ne dessinez pas réellement le diagramme. A la place, vous écrivez une description textuelle des appels de méthode que vous souhaitez schématiser et la présentation est calculée et dessinée automatiquement.

Cet outil ne permet donc pas de procéder à une ingénierie inverse, mais je vois à quel point il peut être utile de schématiser rapidement les choses à partir de rien. On dirait qu'il a été construit en 2002 et je pense qu'il existe probablement de meilleurs outils maintenant.

Voici un autre outil similaire ici: http://sdedit.sourceforge.net/example/index.html

Cela ressemble à un très bel outil: http://www.architexa.com/learn-more/sequence-diagrams

Mais il semblerait que ce ne soit gratuit que pendant un an, puis 250 $ par an. Bummer.

J'ai trouvé le plugin ModelGoon utile. C’est un peu limité car vous choisissez une seule méthode comme point de départ du diagramme de séquence et n’affiche que les appels effectués par cette méthode (vous devez donc générer un autre diagramme pour aller plus loin.)

http://www.modelgoon.org/?page_id=53

JIVE (www.cse.buffalo.edu/jive) construira un diagramme de séquence à partir de l'exécution d'un programme Java. Il possède une fonction de filtre d'exclusion qui vous permettra d'exclure des objets appartenant à des classes ou des packages désignés. JIVE peut dessiner des diagrammes de séquence pour l'exécution de programmes Java multithreads. Il a également la capacité de grands diagrammes compacts dans les dimensions horizontale et verticale, sous la direction de l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top