I used to use the free/trial version of gliffy for making flowcharts for a programming class, and later flowcharts for industrial processes. That might be a useful program (it's online so you can cooperate with other people), but the free thing I linked to may have the same features, I haven't checked that one yet.