Create models for your app


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Create models for your app.

Modeling diagrams help you understand, clarify, and communicate ideas about your code and the user requirements that your software system must support. For example, to describe and communicate user requirements, you can use Unified Modeling Language (UML) use case, activity, class, and sequence diagrams. To describe and communicate the functionality of your system, you can use UML component, class, activity, and sequence diagrams.

See Channel 9 Video: Improve architecture through modeling.

You can create the following UML diagrams in this release:

UML Activity Diagrams: ReferenceFlow of work between actions and participants in a business process
UML Component Diagrams: ReferenceComponents of a system, their interfaces, ports, and relationships
UML Class Diagrams: ReferenceTypes that are used to store and exchange data in the system and their relationships
UML Sequence Diagrams: ReferenceSequences of interactions between objects, components, systems, or actors
UML Use Case Diagrams: ReferenceUser goals and tasks that a system supports

To see which versions of Visual Studio support each type of diagram, see Version support for architecture and modeling tools.

To visualize the architecture of a system or existing code, create the following diagrams:

Layer Diagrams: Guidelines

 Layer Diagrams: Reference
High-level architecture of the system
Code maps

 Map dependencies across your solutions

 Find potential problems using code map analyzers
Dependencies and other relationships in existing code
Code-generated class diagrams

 Working with Class Diagrams (Class Designer)
Types and their relationships in .NET code
Create UML modeling projects and diagramsCreate models and add diagrams.
Edit UML models and diagramsDraw diagrams to edit the model.
Define packages and namespacesCreate packages to divide a model into units that different team members can work on.
Generate code from UML class diagramsGenerate C# code from class diagrams to start your implementation.
Customize your model with profiles and stereotypesCustomize model elements using stereotypes, to extend the standard UML model elements for specific purposes.
Link model elements and work itemsCreate links between model elements and work items to help you track tasks, test cases, bugs, requirements, issues, or other kinds of work that are associated with specific parts of your model.
Export diagrams as imagesSave your model and diagrams so that you can share them with other users, including those who do not use Visual Studio Ultimate.
Visualize codeCreate code maps and layer diagrams to better understand unfamiliar code.
Model user requirementsUse models to clarify and communicate the users' needs.
Model your app's architectureUse models to describe the overall structure and behavior of your system and to make sure that it meets the users' needs.
Validate your system during developmentMake sure that your software stays consistent with your users' needs and the overall architecture of your system.
Use models in your development process

 Use models in Agile development
Use models to help you understand and change your system during its development.
Structure your modeling solutionOrganize models in a large or medium project.
Forums- Visual Studio Visualization & Modeling Tools
- Visual Studio Visualization & Modeling SDK (DSL Tools)