Your figures make no sense. You are mixing different kinds of abstractions using the same symbols.
I'd suggest to study diagram standards a bit, and redraw them with some commonly known symbols. For example, if they supposed to represent some models and their relations, then use structure diagrams and
UML. If they supposed to represent workflow, then use
flowchart. Using the common symbols will help understanding your diagrams greatly.
For a tool, I'd suggest
Dia diagram editor, available for Windows, Linux and MacOS. Granted, it is not as polished as MS Visio, it's pain in the @ss to use at first (but you can learn). On the bright side it is for free, and you can find it in almost every Linux distro's repositories (so you can install it the usual way, no need to compile from source). The Windows installer works perfectly too. The big advantage of Dia is that you can
choose a standard set and then select the symbols by name, so you don't have to learn the said standards, it takes that burden from your shoulders. And you can export the result in JPEG and PNG (actually it can do a lot more, for example with UML it can generate C++ source with placeholders and skeleton classes etc.).
Cheers,
bzt