views:

552

answers:

6

Hello,

can you say me if there are good tools for reverse-engineering my C# applications. I need UML-class-diagrams of my written software and i don't want to draw these diagrams by myself. I've already tested StarUML but it didn't work because I used generics an something.

Would be great if there a some advices.

Greetings, Martin

A: 

Altova UModel

bniwredyc
+14  A: 

Have you checked out .NET reflector? Has a diagram plugin too..

List of Add-Ins

Ian
Wow, have you seen the number of plug-ins available these days? Nice reminder!
flq
It's even better than that... It also has a "Create Source" plugin which creates a a project and sln based on the dlls/exes you are examining. Now that is gold.
Quibblesome
+1 very usefull piece of software
Gavin Draper
i've tested autodiagrammer. it's ok for my purposes
martin
That's good :) cus I've not actually got it working before... or am maybe too impatient.
Ian
A: 

Sparx enterprise architect is very good. I use it at my work.

Pratik
+3  A: 

Coincidentally enough a colleague of had a meeting with some MS guys regarding Visual Studio 2010 team foundation server. They told him that it has the ability to reverse engineer your assemblies and produce UML diagrams. A quick look on MSDN (link text) seems to partially confirm this. It doesn’t say UML but it confirms architectural diagrams can be derived and your code which can be validated against at compile time. But it’s obviously not available yet and I’m sure it will carry a hefty price tag.

Ian Gibson
A: 

Visual Studio 2010 Ultimate supports UML class diagrams as well as sequence, component, use case, and activity diagrams. It also supports creating sequence, dependency graphs, and layer diagrams from code. Regarding your question about generating UML diagrams from code, there's a response here in the VS Architecture & Modeling tools forum: Is it possible to reverse engineer C# code into an UML Class Diagram?

Other tools include Architecture Explorer, which lets you browse and explore your solution.

For more info, see the following links:

To download the RC release, visit: Microsoft Visual Studio 2010 Ultimate RC

To see the RC documentation, see Modeling the Application.

To discuss these tools, visit the Visual Studio 2010 Architectural Discovery & Modeling Tools forum.

Esther Fan - MSFT
+1  A: 

The NDepend tool is certainly what you are looking for C# code reverse engineering. NDepend comes with a dependency graph coupled with a dependency matrix. You can try NDepend straight on your code thanks to a Free Trial Edition. As a picture is worth a thousands words, see NDepend's screenshoots extracted from this blog post: Interactive Code Dependencies Graph

alt text

alt text

alt text

alt text

Patrick Smacchia - NDepend dev