2009-07-22 21 views
7

Buscando una herramienta que:aplicación genere Java diagrama de jerarquía de clases

  • Produce una jerarquía gráfica visualmente agradable (no estridente), de manera ortogonal estructurado
  • Salidas imágenes PNG de alta calidad (300 ppp +)
  • Diferencias visuales de clases, clases abstractas, interfaces y tipos enumerados (preferiblemente por color)
  • Interfaz de usuario interactiva
  • Permite podar paquetes o clases individuales desde El diagrama
  • Semillas (por ejemplo, de archivos » abierto) usando un conjunto de:
    • Directorios
    • archivos JAR
    • archivos de origen individuales
    • individuales compilado clases
  • Realiza un análisis completamente automático de las dependencias de clase
  • Búsquedas ruta de clase para resolver el mayor número de dependencias incumplidas posible
  • Utiliza un único ejecutable
  • es ligero (~ 5 MB) y rápidas (cargas en menos de un segundo en una máquina promedio de 1,5 GHz)
  • es sencillo (menores de 10 años clics para generar un gráfico)
  • es rápido (gráfico 100 objetos en unos pocos segundos)
  • es fácil de usar (interfaz mínima, centrado en la generación de gráficos)
  • Es OSS o GPL
  • (Opcional) genera una jerarquía call-graph

Las herramientas que no va a realizar esta tarea son:

  • Doxygen + GraphViz (o punto)
  • Eclipse
  • modeladores de UML
  • Análisis Estructural para Java (no puede analizar archivos de origen)
  • Comunidad JUDE (interfaz awkard, autogeneración inadecuada)
  • In entornos de desarrollo integrados (demasiado complejos y usan demasiada memoria)

¿Alguna idea?

+0

Estaría interesado si encuentra una solución.Los programas que conozco que son capaces de hacer todas esas cosas no son de código abierto, ni livianos (ni gratuitos). – Nick

+0

¿Cuáles de esos requisitos son los más flexibles? No estoy seguro de que vayas a encontrar uno que los encuentre a todos. ¿Será necesario que un estudiante de secundaria que solo tuvo 2 días de Java necesite analizar gráficos con 10,000 objetos? –

+0

su enlace "atractivo visual" es Página no encontrada Lamentablemente, la página solicitada no se ha encontrado. –

Respuesta

2

El complemento Netbeans UML cubrirá algunos de sus requisitos.

  • Produce una jerarquía gráfica visualmente atractivo: una cuestión de gusto
  • Escribe alta calidad imágenes PNG (300dpi +): No sé
  • visualmente diferencia clases, las clases abstractas, interfaces y tipos enumerados: sí lo hace, ya que utiliza UML
  • interfaz de usuario interactiva:
  • Permite poda de paquetes y/o clases individuales a partir del diagrama: si
  • Semillas (por ejemplo, Archivos »abierto) usando un conjunto de: que funcione con NetBeans proyecta
    • Directorios
    • archivos JAR
    • archivos de origen individuales
    • clases compiladas individuales
  • Realiza una anal totalmente automático Ysis: quizá
  • utiliza un único ejecutable: no aplicable, que es un complemento de Netbeans
  • es ligero y rápido: como NetBeans
  • es simple, rápido y fácil de usar: depende de usuario
  • es OSS o GPL: Creo que es OSS, seguramente es libre como la bebida gratis
  • (Opcional) genera un gráfico de llamadas hierarc HY (además de una jerarquía de clases): no creo que lo hace
+3

¿Leyó la frase "cubrirá * algunos * de sus requisitos"? –

3

La respuesta es probablemente "no existe tal OSS/aplicación gratuita". ¿Por qué? Porque:

  1. La mayoría de las personas que quieren un diagrama de herencia para un gran número de clases ya están trabajando en el contexto de un IDE o similar. Ergo existe poca motivación para que los desarrolladores de OSS produzcan dicha herramienta.
  2. Creación automática de visualmente atractivos diagramas de grandes números de las clases es casi imposible.

Le sugiero que relaje sus requisitos. Quiero decir, ¿qué hay de malo con el uso de un modelador IDE o UML a gran escala? La memoria es barata. ¿Qué hay de malo en esperar unos segundos para cargar/ejecutar el diagramador? ¡Saltamontes de paciencia! ¿Qué estudiante de secundaria con 2 días de capacitación va a buscar en la base de código fuente con más de 10.000 clases?

+2

Mis puntos básicos siguen en pie. Es probable que sus requisitos no sean cumplidos por ningún producto OSS existente. –

+0

maven con algunos complementos es probablemente una mejor solución. JXR es mucho más útil que los diagramas. –

3

Parece que Class Visualizer cumple todos sus requisitos (excepto el guardado del diagrama como PNG).

+0

Si bien no encuentro los gráficos visualmente atractivos, ni parece haber una opción de línea de comandos para exportar diagramas automáticamente a una imagen, la herramienta es bastante extensa. Gracias. –

+0

Según el autor, http://class-visualizer.net/ es la última versión del visualizador de clases. La última versión 0.7.0 solo funciona con Java 7+ –

Cuestiones relacionadas