views:

198

answers:

2

Hello,

I'd like to create a simple central documentation that visually shows various processes and dependencies in my ASP.NET MVC application, for example how a service is called when my "Signup" action method gets POST data, decryption and verification happens, and finally everything is stored using the repository and the email service sends out an email. Even just a flow chart that shows the method calls, instance names and parameters would be great from start to finish (with branching).

Is there something that can do this automatically (e.g. for each action method) or do you guys do this by hand/use a specific tool? The whole point of it is to have new developers quickly understand what kinds of dependencies and flows exist in the application without endless "go to definition" in-source browsing of how things work.

Thank you

A: 

Personally I use Enterprise Architect for this type of modeling. It can automatically build certain relationships by analyzing both your static source code information as well as runtime behavior. However, I personally don't use it that way... I model the system first, then build the system based on that model (often with a good deal of code generation from the model.

Eric J.
+1  A: 

We use Altova UModel (all our diagrams are in UML). I prefer it to Visio, but Visio is a reasonable alternative. You are talking about a couple of different types of diagrams, Activity Diagrams and Sequence Diagrams. Also useful are Data Flow Diagrams. Given a correct set of these documents, getting a new developer up to speed can be much easier. Of course, from time to time you will have to get them up to speed on UML first (although reading UML is much easier than writing proper UML).

From their page (emphasis added) ...

Visually design application models and generate Java, C#, or VB.NET code and project documentation. Or, reverse engineer existing programs into UML 2 diagrams then fine tune your designs and complete the round trip by regenerating code.

JP Alioto