I usually document system architectures with traditional UML class diagrams, and then further document the most important/complex code paths with arrows from one method to another, and which property it updates, etc. Usually with little notes of the arguments used and values set.
something like (horrible ascii art warning)
--------------
CASE X | main class | -----------------
-------------- | util |
| count |<-+1 -----------------
-------------- | -----------------
user ---x=A-->| doStuff(x) | ---y=Z---<>| someMath(x,y) |
| other() | -----------------
--------------
is there a name for such a thing? note how i'm pointing to individual methods/properties, not to whole classes as a traditional UML diagram would.
I use graphviz/dot for all my other graphs. but i can easily move to something else that allows me to do that... i just rather it be programatical like graphviz, not a drawing tool like visio if possible.
Please, feel free to edit to add tags if you think some other graph engine may provide this.