Analyze and model your architecture
Make sure your app meets user requirements by using Visual Studio architecture and modeling tools to design and model your app. Understand existing program code more easily by using Visual Studio to visualize the code's structure, behavior, and relationships.
Create models at different levels of detail throughout the application lifecycle as part of your development process. Track requirements, tasks, test cases, bugs, and other work associated with your models by linking model elements to Team Foundation Server work items and your development plan. See Scenario: Change your design using visualization and modeling.
To see which versions of Visual Studio support each feature, see Version support for architecture and modeling tools
Note: In this release of Visual Studio, the term code map is used in place of dependency graph. The term graph when used alone generally refers to a Directed Graph or DGML diagram (or document). Code maps are a specialized type of DGML diagram.
Describe and communicate user requirements:
Define the architecture:
Validate your system with the requirements and intended design:
Share models, diagrams, and code maps using Team Foundation version control:
When you have multiple users who work with these items under Team Foundation version control, use these guidelines to help you avoid version control issues:
Generate or configure parts of your application from UML or domain-specific languages:
Customize models and diagrams:
Generate text using T4 templates:
Model type and typical uses
Code maps help you see the organization and relationships in your code.
Layer diagrams let you define the structure of an application as a set of layers or blocks with explicit dependencies. You can run validation to discover conflicts between dependencies in the code and dependencies described on a layer diagram.
A UML model includes several views, including class, component, use case, activity, and sequence diagrams. You can customize UML to suit your application domain. For example, you can attach tags, additional information, and constraints to the model elements. You can also define tools that operate on the models. See Create models for your app.
Domain-specific language (DSL)
A DSL is a notation that you design for a specific purpose. In Visual Studio, it is usually graphical.