views:

361

answers:

6

I'm putting together something I'll soon release as OSS and I wanted to make a map of dependencies to get a clearer idea of the big picture. I ended up making the mind map myself using pen and paper:

Mind Map

This is something I wish I could do more often, but mapping bigger projects manually is too troublesome (and virtually impossible due to the size of the sheet) and since I can't find any mind mapping software that fits my needs and allows me to display the map in the visual structure I want I often leave the mind maps in my mind alone, no visual representation whatsoever...

Can anyone suggest a good mind mapping software that allows me to do something like the above? I've tried FreeMind and XMind so far but their visual structure is too rigid for what I need.

+2  A: 

Have you tried graphviz?

It does not have a WYSIWYG IDE, but it's very flexible.

EDIT:

If you are looking for something easier, I would highly recommend Gliffy. Take a look at their examples.

jbochi
Thanks. I haven't tried graphviz it seems awfully powerful but also very complex, I'm looking for something that has a small learning curve.
Alix Axel
You're welcome. I have edited my reply, including a second suggestion.
jbochi
+2  A: 

Doxygen, in addition to automatically generating HTML documentation and class hierarchy diagrams, is also capable of generating complete dependency graphs and call graphs for your libraries and applications. You just need to configure it appropriately so that it will generate the type of documentation that you want.

Note that Doxygen uses GraphViz and its dot tool to generate those graphs. While you could use GraphViz directly, Doxygen is able to parse the code and extract the necessary information needed in order to pass it along to GraphViz/Dot and have it generate the appropriate graph visualizations.

If you are looking to create these graphs before you have a product... in other words, to plan out your code rather than to document it, then you might be interested in a UML design tool such as ArgoUML. You can use it to diagram inheritance as well as dependencies, and you can generate code from the UML diagrams.

If you want to create these kind of diagrams manually, and you just want a general-purpose drawing tool, then OpenOffice has a drawing tool, although I have found that making it look nice can be quite difficult.

Michael Aaron Safyan
I'll give Doxygen a try, however I visited their website and couldn't find any real example of dependencies map. UML seems to be what I'm looking for but I don't understand how to use it, I even bought a lousy book a few years ago on UML modeling but ended up learning nothing with it. Have you had any experience with ArgoUML or any alternatives (http://alternativeto.net/desktop/argouml/)?
Alix Axel
Also, if you happen to know any good UML online tutorial that's worth reading please share it. And yes, I'll be re-reading the Wikipedia entry. =)
Alix Axel
+1  A: 

I wonder if you might be better suited with a general-purpose diagramming software - while it might not have quite as fluid an approach to specifically mind-mapping, it should be far more versatile in terms of how to display them.

Amber
I agree that I probably would. I've heard very good things about Visio (and I just love these diagrams: http://www.sqlite.org/syntaxdiagrams.html), but I believe it's rather expensive. Do you have any suggestions?
Alix Axel
A: 

FreeMind is a good choice for putting whatever you need to the computer.
It also exports mind maps to png, jpeg and other formats.
I have used it before and I recommend it.

the_drow
A: 

Structure101 produces a dependency map at all levels in your code direct from the byte code for Java and .Net, so it always reflects your "as-is" code. C/C++ currently relies on third party products such as Coverity Prevent and QA C/C++. If this doesn't cover your needs, there is a generic version, Structure101g, which allows third parties to build their own backends, a handful of which are already under way and will be available shortly.

alt text

pth
Seems like a good software but as limited as it is, doxygen does more and it's free.
Alix Axel
A: 

You could use IHMC CmapsTool a free concept mapping software. It does not restrict you to a tree-like structure, a very easy to learn tool, it allows you to label links between items (concepts) so your maps should be easy to understand by other people. Multiplatform Java based.

http://cmap.ihmc.us/conceptmap.html

Other similar free concept mapping software although harder to use are:

Compendium (look on Wikipedia) and VUE (See Wikipedia page)

cgomezsilva