We need to do reverse engineering of C# code which has SQL server backend. We are calling SPs in Business layers. We need to generate some kind of Diagrams which estabilshes the relationship between Business Layers and Database till the table lavel. We can
do this manuaaly but since we have 100+ classes it is becoming an uphill task. Can someone suggest some tools for this task ??
You can visualize your code from the top-down by generating dependency graphs at the overall assembly, namespace, or class level, and then drill down to more granular levels. If you have a very large solution, this can be overwhelming,
so you can also use Architecture Explorer to start from the bottom-up.
You can use either dependency graphs or Architecture Explorer to create layer diagrams and maintain control over the code's architecture by running layer validation (see below).
- At the logical level
You can create layer diagrams from code and other artificts to visualize what the architecture should look like and then reverse-engineer the existing dependencies. You can save that diagram as a baseline and then edit the diagram
to show where the dependencies should be.
You can also run validation against layer diagrams to get a list of conflicts and create linked work items so that you can address those conflicts incrementally. By running regular validation reguarly, you can maintain control over changes
in the code that might conflict with the intended architecture.