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: Reference

Flow of work between actions and participants in a business process

UML Component Diagrams: Reference

Components of a system, their interfaces, ports, and relationships

UML Class Diagrams: Reference

Types that are used to store and exchange data in the system and their relationships

UML Sequence Diagrams: Reference

Sequences of interactions between objects, components, systems, or actors

UML Use Case Diagrams: Reference

User 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 diagrams

Create models and add diagrams.

Edit UML models and diagrams

Draw diagrams to edit the model.

Define packages and namespaces

Create packages to divide a model into units that different team members can work on.

Generate code from UML class diagrams

Generate C# code from class diagrams to start your implementation.

Customize your model with profiles and stereotypes

Customize model elements using stereotypes, to extend the standard UML model elements for specific purposes.

Link model elements and work items

Create 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 images

Save your model and diagrams so that you can share them with other users, including those who do not use Visual Studio Ultimate.



Visualize code

Create code maps and layer diagrams to better understand unfamiliar code.

Model user requirements

Use models to clarify and communicate the users' needs.

Model your app's architecture

Use 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 development

Make 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 solution

Organize models in a large or medium project.