We have now an application which has been in active development for several years and has been through several versions. Although the whole project is well documented within the code and in user documentation, I was planning to create a more detailed description of how the application works. For example, such description would be: "If a new user is added, function [...] checks for if user already exists, then updates tables in database, send message to [wherever]". Of course, I could write all that as text document, but I thought I could create some usable diagrams and schemes.
Primary users of this diagrams would be people doing testing and possibly people writing software requirements.
Of course, I would specially be interested in open source solutions.
I would be grateful for any ideas.