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
Sparx enterprise architect is very good. I use it at my work.
Altova UModel
ILSpy looks alot like Reflector.
http://wiki.sharpdevelop.net/ILSpy.ashx
I've used it many times and it's very handy.
There's also dotPeek(Creators of Resharper)
http://www.jetbrains.com/decompiler/index.html?topDP
They Are both free :D
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 http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.Graph/InternalDependenciesGraphSmall2.jpg
alt text http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.Graph/CycleGraphSmall2.jpg
alt text http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.CQLExport/Graph1.jpg
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.
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.