Architecture, Design, and Modeling

Architecture, Design, and Modeling

Develop complex apps faster and more easily

Work more efficiently by visualizing your app's architecture and design. Read less code by creating code maps, layer diagrams, and UML diagrams. Introduce fewer bugs when you make changes because you better understand their impact when you assess the risk. Communicate more easily with your team about your app and its requirements by sharing diagrams. Keep code consistent with the design by validating them with each other during development.

Understand your code's architecture and design

Map your code so you can easily see its current structure and navigate it visually. Start from the top-down with an entire solution or set of binaries. Or start from the bottom-up with code elements in the editor, Solution Explorer, Class View, or Object Browser. Customize your map further by editing its content, filtering items, and applying styles. Make notes with flags and comments. Communicate your learning with others by sharing maps as files or images.

Assess how a proposed change affects your code

Map the code that you want to change so you can understand the impact. Create a code map starting from a single code element and its references. Group references by class, namespace, and so on to understand them in context. Use the map to navigate the code and assess the impact from your proposed change. Flag items and add comments to show where you might have to make changes. Communicate your learning with others by sharing maps as files or images.

Analyze and validate dependencies

Create dependency graphs to understand different dependencies at a high level, between assemblies or binaries, namespaces, or even arbitrary groups. Drill into dependencies on the graph to see how they're related at a low level. Explore further by navigating from the graph to the the corresponding code.

Create layer diagrams to specify what those dependencies should look like to meet design requirements. Find out where the current code doesn't meet those constraints and help your team manage technical debt. Validate future code with that baseline during development so that the code stays consistent with the design. Drill into code from validation errors to help you resolve them.

Create software models with UML® 2.0

Model your software and requirements with class, use case, sequence, activity, and component diagrams. Communicate with others by sharing diagrams as files or images.

Understand your code with code maps

Get a better understanding about your source code by visualizing relationships. In this video, Andrew Bragdon introduces Code Map and shows how to visualize and navigate complex code in your projects

Design and validate your architecture with layer diagrams

Validate your project's source code against a layer diagram. In this video, you’ll get a demo about how this feature works and can be used to make sure that your components implement the intended architecture

Improve architecture with modeling tools

Visual Studio provides developers and architects modeling capabilities to help them build even the most complex software. In this video, you’ll learn how our modeling tools can help improve and maintain your software architecture as part of your development lifecycle

Find architecture and modeling features in Visual Studio

Enterprise 2015

Created for enterprise-class development, Visual Studio Enterprise with MSDN helps your team handle demanding requirements like high availability, performance, scale, and complexity.

  • Quickly get the information you need, in context
  • Use IntelliTrace for historical debugging, even in production
  • Test to ensure scalability and performance in production
  • Visualize the structure of an application with UML diagrams
  • Describe and enforce architectural dependencies
  • Use tools to understand the relationships in existing code
  • Receive the MSDN Subscription level for Visual Studio Enterprise.