One importat part of the report is to explain how the code works. Is important to define all the classes and all the information flow between them, the most clearly way to describe this is using sequence diagrams.
The reason I'm writting this post is because I found an interesting Java program which creates this sequence diagram from your source code.
This program is eUML2,
eUML2 for Java is a powerful UML modeler designed for Java developer in Eclipse. The main features are:
- Real-time code/model synchronization
- Advanced reversed engineering
- Powerful true dependency analyze tools
- JDK 1.4 and 1.5 support
- Customizable template support.
Website: http://www.soyatec.com/euml2/