Hola
willaser !
Puedes utilizar StarUML, tiene la capacidad de hacer ingeniería inversa, convertir el código fuente en algún diagrama como el de clases y viceversa, nada mas que no es 100% eficaz y a veces pasa por alto algunas relaciones, dependencias, etc.
Sería bueno que lo complementaras con alguna lectura de UML, así podrás sacarle mejor partido a la aplicación.
La liga del software:
http://staruml.sourceforge.net/en/index.php Un saludo y suerte !