This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.
The latest version of this topic can be found at Visualize code.
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
What do you want to do?
|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.
|- Map dependencies across your solutions
- Use code maps to debug your applications
- Find potential problems using code map analyzers
- Map methods on the call stack while debugging
|Understand class structures:
Visualize the structure of classes in a project by creating class diagrams from code.
|How to: Add Class Diagrams to Projects (Class Designer)|
|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.
|- Create layer diagrams from your code
- Layer Diagrams: Reference
- Layer Diagrams: Guidelines
- Validate code with layer diagrams
|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.
|- Create models for your app
- Model user requirements
- Model your app's architecture
|Forums||- Visual Studio Visualization & Modeling Tools
- Visual Studio Visualization & Modeling SDK (DSL Tools)
|Blogs||Visual Studio ALM + Team Foundation Server Blog|
|Technical Articles and Journals||MSDN Architecture Forum|
Scenario: Change your design using visualization and modeling
Analyzing and Modeling Architecture
Create models for your app
Model user requirements
Model your app's architecture
Use models in your development process