Very helpful sequence diagram:
https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D...
Regarding classes - in fact, not particularly important what language is used. To describe the operation of the application in your case can be broken down into entities that store data and send each other messages. The first (data) is the class diagram, the second (sending messages) - sequence diagrams. We use RSA (
https://ru.wikipedia.org/wiki/Rational_Software_Ar... and he even had some code to generate graph (I have not tried). But he's too enterprise, I think there is something simpler.