Herramientas de dependencia de clase para Java

Sé que se han dado muchas preguntas relacionadas sobre SO, pero no he podido encontrar nada completamente satisfactorio, probablemente porque mi requisito es ligeramente diferente de cada una de las preguntas planteadas.

Tengo una base de código gigantesca que me gustaría dividir en unidades lógicas más pequeñas. Para hacer esto, necesito encontrar todas las dependencias enredadas / circulares y resolverlas. Debido al tamaño de los espaguetis existentes, la única estrategia factible parece ser dividir y conquistar, por lo que primero necesito dividir el gran proyecto en piezas más pequeñas o despegar las partes independientes y abordar las piezas más pequeñas por separado.

La mayoría de las herramientas que puedo encontrar allí parecen funcionar solo en el nivel de clase o paquete, pero no parecen admitir el concepto de subpaquetes. Por ejemplo, si tengo un paquete raíz, 3 paquetes debajo de eso y luego 5 subpaquetes debajo de cada uno de los 3, obtendré 1 + 3 + 15 = 19 paquetes, lo que me dará una gráfica locamente complicada. Ahora, lo que espero poder hacer es analizar primero la relación de dependencia entre los 3 paquetes de nivel superior (número de paquetes entrantes / salientes y qué clases originan estas dependencias), limpiarlo en ese nivel, antes de sumergirse en estos paquetes de nivel para trabajar en el siguiente nivel.

Ahora, he usado la Estructura 101 para este propósito, y funciona muy bien, pero cuando finaliza la prueba, el precio del producto es un poco elevado para mi presupuesto. ¿Existe alguna solución gratuita / de código abierto?

¡Gracias por adelantado

Respuestas a la pregunta(7)

Su respuesta a la pregunta