views:

227

answers:

3

Are there any tools that would allow me to easily create an interactive architectural diagram?

I envisage the ability to view a graphical depiction of the architecture at a high level. I would then be able to click on a specific piece of the architecture and drill into it, thus revealing a more detailed break-down of that piece. This process could then continue for as many levels as necessary.

Does anyone know of any tools that allow me to create this kind of experience? Or should I perhaps try to achieve this with Visio/Powerpoint?

+1  A: 

I agree that such a tool can prove to be valuable. Indeed, this was one of our goals when we set out to develop nWire. We are not there yet, but this is something that we hope to develop and extend some day.

I believe that such a tool should be "alive" with the code and not an offline representation, because we never invest in maintaining such documents and 5 minutes later they're outdated. Hence, I don't think a Visio solution will do. I also believe in minimal user investment, plug-and-play tools.

There are some questions that needs to be addressed, though, like how to derive the architecture from the code in a way that would make sense, what are the zoom levels, etc. I'm not sure one generic solution can fit all projects, you will want to customize it to understand your specific architecture.

If you have more thoughts and ideas around this, I would love to hear them. Either post them here or email me to zviki at nwiresoftware.com.

zvikico
+3  A: 

We use Sparx EA (Enterprise Architect). One of the "export" options is an "HTML Report" which works in the manner you're after. You can zip up the resulting files and send to someone else who can then 'browse' the model.

http://www.sparxsystems.com/

Adrian K
+1 for Enterprise Architect. I used this extensively to reverse-engineer the class diagrams of a project. One can take higher level views going up several packages. However I don't think it's at the level of interactivity that you would look for.
Jon Limjap
+1 Looks interesting. Will check it out.
Kent Boogaart
A: 

The new Architecture tools in Visual Studio 2010 Ultimate edition can do exactly this. You can interactively filter the view. See some of the MSDN topics under "Modeling the Application", "Exploring Existing Code".

John Saunders
Don't those tools assume that your entire system is contained within a VS project? And aren't they rather code-centric? What about non-MS tech? What about extraneous infrastructure such as load balancers that you want in your diagram?
Kent Boogaart