You can use the visualization and modeling tools in Visual Studio to help you understand existing code and describe your application. This lets you visually learn how your changes might affect the code and help you assess the work and risks that result from those changes. For example:
To understand the relationships in your code, map those relationships visually.
To describe your system's architecture and keep the code consistent with its design, create layer diagrams and validate code against these diagrams.
To describe class structures, create class diagrams.
To model and communicate various aspects of the system, draw Unified Modeling Language (UML) diagrams. For example, you can model a system's components, types, interactions, and processes.
These tools also help you communicate more easily with the people involved with your project. For example, you can use UML class diagrams to create a common glossary for discussing the system with project stakeholders, users, and team members.
To see which versions of Visual Studio support each feature, see Version support for architecture and modeling tools
Understand code and its relationships:
Map relationships between specific pieces of code.
See an overview of the relationships in your code for the entire solution.
Note: In this release of Visual Studio, the term code map is used in place of dependency graph.
Understand class structures:
Visualize the structure of classes in a project by creating class diagrams from code.
Describe the high-level system design and validate code against this design:
Describe the high-level system design and its intended dependencies by creating layer diagrams. Validate code against this design to make sure dependencies in code remain consistent with the design.
Communicate the user requirements and architecture:
Model the user requirements and architecture of your software system by drawing the following UML diagrams: activity, component, class, sequence, and use case.
Technical Articles and Journals