views:

674

answers:

4

A 2 part question:

  1. Are flow-charts, as tool to analyze source-code, no longer considered useful? The reason I ask this question is that if you Google for source-code to flowchart tools for Visual Studio, there are no relevant results. Also, Microsoft does not seem to have a tool for this purpose. Are people just not using flowcharts that much any more? (I find them to be a great way to document complex logic in my code).

  2. Are there any VS tools that can take .Net (C#, VB.Net) code and convert it to a flowchart? (The only tool that I found is Aviosto's Visustin, which does not provide VS integration).

  3. Any other tools that you can recommend for this purpose?

+1  A: 

At the risk of answering your question with something that doesn't amount to much more than "I'm sorry, I can't answer your question" in my experience flow charts have been going out of style for the last few years, and are not really a suitable way of modelling the modern, complex relationships between objects in a multi threaded environment. This gap has been filled somewhat by the multi-diagram nature of UML especially the activity and sequence diagrams.

It looks like Visual Studio 2010 will have built in support for generating activity and sequence diagrams from code (some details here, but that was just the first result I found from a quick Google search). In the meantime, while I can't recommend anything directly since I don't use them, I imagine you'd have better luck looking for tools that reverse engineer to UML rather than flow charts. This, for example.

Martin Harris
A: 

Visual Studio 2010 Ultimate supports UML class, sequence, component, use case, and activity diagrams. It also supports creating sequence, dependency graphs, and layer diagrams from code. Other tools include Architecture Explorer, which lets you browse and explore your solution.

I've posted more links on my profile for more info.

Esther Fan - MSFT
A: 

Flowcharts are good for modeling procedural code. For object-oriented code, you want to use an Activity Diagram or Sequence Diagram. Both can show views of the behavior of one or more classes.

Consider the following and see if it looks familiar:

Activity diagram showing data flow

John Saunders
+1  A: 

I think you should take a look at Code Rocket: http://www.getcoderocket.com

It provides exactly what you describe. Flowcharting support directly embedded inside Visual Studio. The flowcharts are generated automatically from your code and/or you can design them up-front and generate code from them.

CdeeR