¿Cómo debo visualizar la estructura de mi código? [cerrado]

Tengo una aplicación escrita en Java. En se almacena en varios archivos. Utiliza diferentes clases con diferentes métodos. El código es grande y complicado. Creo que sería más fácil entender el código si tuviera un modelo gráfico del código (algún tipo de gráfico dirigido). ¿Existen algunos métodos estándar para la visualización de código? Estoy pensando en el uso de UML (no estoy seguro de que sea una opción correcta). ¿Alguien me puede recomendar algo?

ADICIONAL:

Considero dos posibilidades:

Crear el gráfico a mano (explícitamente).Crear gráfico de forma automática. Por ejemplo, para usar algunas herramientas que leen el código disponible y generan un gráfico que describe la estructura del código.

AGREGADO 2:

Sería bueno tener algo gratis.

Respuestas a la pregunta(10)

Su respuesta a la pregunta