Modeling the Application
Creating models in Visual Studio Ultimate helps you ensure that your application meets its users' needs. You can create models at different levels of detail and relate them to one another, to tests, and to your development plan. You can create and develop models throughout the application lifecycle as part of the development process. For more information, see:
To add capabilities to this release, download and install the Visual Studio 2010 Microsoft Visual Studio 2010 Visualization and Modeling Feature Pack.
Activities Supported by Models
Activity |
---|
Understand the users' needs: Clarify user stories, business rules, and other requirements and help ensure their consistency by drawing activity, class and other UML diagrams: |
Visualize the code: See a visual representation of the code by generating dependency graphs and sequence diagrams. View the objects, settings, and relationships in your databases by creating an offline representation of those databases: |
Define the architecture: Model the large-scale structure of the system and the design patterns by drawing UML component, class, and sequence diagrams. Define and enforce constraints on the dependencies between components of your code by creating layer diagrams. |
Generate or configure parts of your application from UML or domain-specific languages and make your design more responsive to requirements changes and easily variable across a product line: |
Validate your system with the requirements and intended design: Define acceptance tests or system tests based on the requirements models. This creates a strong relationship between the tests and your users' requirements and helps you update the system more easily when the requirements change. |
Share models, diagrams, and graphs using Team Foundation version control: Put modeling project and diagram files, dependency graphs, and Architecture Explorer queries under 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. |
Customize the models and diagrams: Adapt models more closely to how your project uses them by defining additional properties for UML elements, validation constraints to make sure that your models conform to your business rules, and additional menu commands and toolbox items. You can also create your own domain-specific languages. |
Types of Models and Their Uses
Model type and typical uses |
---|
UML model 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. For more information, see Developing Models for Software Design. Typical uses:
|
Domain-specific language (DSL) A DSL is a notation that you design for a specific purpose. In Visual Studio it is usually graphical. For more information, see Visualization and Modeling SDK - Domain-Specific Languages. Typical uses:
|
Layer diagram A layer diagram lets you define the structure of an application as a set of layers or blocks with explicit dependencies. You can also validate code against the layer diagram on every check-in. For more information, see Layer Diagrams: Guidelines. Typical uses:
|
Dependency or directed graph Dependency and directed graphs let you inspect large and complex sets of dependencies or other relationships. You can generate graphs of the structure of your code. You can also write tools that create graphs from a wide variety of other sources. For more information, see How to: Generate Dependency Graphs for .NET Code. Typical uses:
|
Code-based sequence diagram Sequence diagrams that you can generate from .NET code help you visualize how the code implements a method. For more information, see How to: Explore Code with Sequence Diagrams. Typical uses:
|
Related Sections
Walkthrough: Update a System by Using Visualization and Modeling Tools
What's New for Application Lifecycle Management in Visual Studio 2010
Visual Studio Application Lifecycle Management
External Resources
Videos
PDC 2009: Code Visualization, UML, and DSLs
Channel 9: Enabling Architects with Microsoft Visual Studio 2010
Channel 9: UML with Visual Studio 2010 Ultimate
Channel 9: Extensibility for Architecture & Modeling Tools in Visual Studio 2010 Ultimate
Forums
Visual Studio 2010 Visualization & Modeling Tools
Visual Studio 2010 Visualization & Modeling SDK (DSL Tools)
Blogs
Favorite VS2010 Features: Layer Validation
Favorite VS2010 Features: Dependency Graphs and DGML
Technical Articles and Journals
The Architecture Journal - Issue 23: Architecture Modeling and Processes