8
votes

Application pour générer un diagramme de hiérarchie de classe Java

à la recherche d'un outil qui:

  • produit une hiérarchie graphique de graphique (non configurante) et structurée de façon orthogonique
  • Sortie des images PNG de haute qualité (300DPI +)
  • différencie visuellement des classes, des classes abstraites, des interfaces et des types énumérées (de préférence par couleur)
  • Interface utilisateur interactive
  • permet une taille des colis et / ou des classes individuelles du diagramme
  • Semences (par exemple, Fichier »Ouvrir ) en utilisant un ensemble de:
    • Annuaire
    • Fichiers JAR
    • Fichiers Source individuels
    • Classes compilées individuelles
    • effectue une analyse entièrement automatique des dépendances de classe
    • recherche de classe de classe à résoudre autant de dépendances non satisfaites que possible
    • utilise un seul exécutable
    • est léger (~ 5 Mo) et rapide (charge en moins d'une seconde sur une machine moyenne de 1,5 GHz)
    • est simple (moins de 10 clics pour générer un graphique)
    • est rapide (graphique 100 objets en quelques secondes)
    • est facile à utiliser (interface minimale, axée sur la génération de graphes)
    • est OSS ou GPL
    • (facultatif) génère une hiérarchie de graphique d'appel

      outils qui n'abandonneront pas cette tâche incluent:

      • DOXYGEN + GRAPHVIZ (ou DOT)
      • Eclipse
      • Modelleurs UML
      • analyse structurelle pour Java (ne peut pas analyser les fichiers source)
      • Jude Community (Interface Awkard, Autogénération inappropriée)
      • Environnements de développement intégrés (trop complexes et utilisez trop de mémoire)

        Des idées?


2 commentaires

Je serai intéressé si vous trouvez une solution. Les programmes que je connais sont capables de faire toutes ces choses ne sont ni open source, ni léger (ni libre).


Ma bibliothèque open source FastClassPathScanner peut générer des visualisations de graphique de catégorie (hiérarchie de classe), entre autres. Le graphique généré montre non seulement les bords représentant "s'étend", "implémente" et "a des relations d'annotation", mais aussi "dispose également de champ de type". Voir ma réponse ici: Stackoverflow.com/a/34354003/3950982


3 Réponses :


3
votes

Le plug-in NetBeans UML couvrira certaines de vos exigences.

  • produit une hiérarchie graphique attrayante visuellement attrayante: une question de goût
  • écrit des images PNG de haute qualité (300DPI +): Je ne sais pas
  • différencie visuellement des classes, des classes abstraites, des interfaces et des types énumérés: Oui, il utilise comme il utilise UML
  • Interface utilisateur interactive: oui
  • Permet la taille des colis et / ou des classes individuelles du diagramme: oui
  • graines (par exemple, fichier »ouvert) à l'aide d'un ensemble de: Il fonctionne avec des projets NetBeans
    • Annuaire
    • Fichiers JAR
    • Fichiers Source individuels
    • Classes compilées individuelles
    • effectue une analyse entièrement automatique: peut-être
    • utilise un seul exécutable: Non applicable, c'est un plugin de NetBeans
    • est léger et rapide: comme NetBeans
    • est simple, rapide et facile à utiliser: dépend de l'utilisateur
    • est OSS ou GPL: Je pense que c'est OSS, c'est sûrement gratuit comme dans une boisson gratuite
    • (facultatif) génère une hiérarchie de graphique d'appel (en plus d'une hiérarchie de classe): Je ne pense pas que ce soit

0 commentaires

3
votes

La réponse est probablement "Aucune application OSS / GRATUITE n'existe". Pourquoi? Parce que:

  1. la plupart des gens qui veulent un héritage diagramme pour un grand nombre de classes travaillent déjà dans le contexte d'un IDE ou similaire. ERGO Il y a peu de motivation pour les développeurs OSOS pour produire un tel outil.
  2. crée automatiquement visuellement Diagrammes attrayants de grands nombres des classes est à côté de l'impossible.

    Je vous suggère de détendre vos besoins. Je veux dire, qu'est-ce qui ne va pas avec l'utilisation d'un grand modeleur IDE ou UML? La mémoire est bon marché. Quel est le problème avec attendre quelques secondes pour charger / gérer le diagrammer? Patience Grasshopper! À quels lycéens avec 2 jours de formation vont regarder une base de code source avec 10 000 classes ???


2 commentaires

Mes points de base se tiennent toujours. Vos exigences ne sont pas susceptibles d'être remplies par un produit OSS existant.


Maven avec des plugins est probablement une solution meilleure. JXR est beaucoup plus utile que les diagrammes.



5
votes

Il semble que Visualizer de classe répond à toutes vos exigences (à l'exception du schéma d'enregistrement en tant que PNG).


1 commentaires

Selon l'auteur classe-visualizer.net est la dernière version de la classe Visualizer. La dernière version 0.7.0 fonctionne uniquement avec Java 7+