Ajuda para entender código fonte de um sistema

Boa noite galera,

bem vou descrever minha situação:

tenho um código bem comentado, no entanto não tenho documentação nenhuma ou seja nenhum diagrama UML ou qualquer especificação das funcionalidades do sistema de forma textual,gostaria de saber pela experiência de vcs se existe um processo para se entender o sistema no estado em que se encontra ou somente a solução é debuggar e ir entendendo a olhando o código.livros sugestão estou precisando, se alguém já passou pelo mesmo msm problema qual foi solução e qual é a melhor…

Obrigado pela ajuda,perguntei bastante se incomodei desculpa galera

Se o código está bem documentado converter para javadoc pode ser um passo, isso facilita bastante.

Com relação a UML, o que recomendo que você faça é um esboço do seu software. Tente encarar a UML como uma forma de comunicar o que seu software faz e não tudo o que ele faz.
Um exemplo. Se você projeta um carro e quer mostrar para as pessoas, você não mostra um desenho com todas as peças que compoem um carro. Você faz um desenho contendo o motor, a lataria, bancos, porta malas, de forma que pessoa tenha uma idéia de como o carro é. Agora se a pessoa quiser ir mais a fundo ela e saber como funciona a embreagem do carro ela pode pegar o código ou ver a documentação em javadoc. O importante é que assim fica fácil manter a documentação de forma que a mesma não fique desatualizada.

Um livro, que não trata exatamente sobre isso, mas que pode de ajudar, é Programação Extrema Explicada do Kent Beck.
Leia também o livro Domain Drive Design do Eric Evans

Outra coisa, muda o título do tópico, por isso que tu não recebeu respostas, não tem nada haver uma coisa com a outra! Eu mesmo tinha visto e passei batido.