Architecture Tools in VSTS 2010
来源:互联网 发布:济源公务员网络培训 编辑:程序博客网 时间:2024/06/06 01:22
Designing new functionality on existing applications can be daunting. There are always differences between the original design and the current implementation.
The new Architecture tools within Visual Studio Team System 2010 help you understand the application you have, design new functionality you need, and validate that your design and your implementation do not deviate.
Understanding What You Have
Understanding the dependencies between parts of your application can be critical to determining where you may have problems. Additionally, having a visual graph can help you find the best place to implement new functionality.
You can get a big picture view of your solution by assembly, namespace, class or a custom filter in a Directed Graph Markup Language document (DGML) using the Generate Dependency Graph feature:
The DGML document generated from your solution can be visualized as a Dependency Matrix, Force Directed Layout, or as a Top to Bottom layout, as shown below. Each view can provide a different take on the structure of your project.
This high-level view is a great way to understand the overall shape of your architecture, but understanding the dependencies for an area you need to change can make the difference between a fifteen-minute change and a one-hour change. For instance, being able visualize the relationships around the Cart class can be very helpful in making changes to the shopping cart:
Another valuable way of understanding how your application works is to be able to visualize the sequence of calls that happen in key sections of your application. The Generate Sequence Diagram function, available in the code editor, will give you a view of the method calls your application makes. Below, you can see the sequence of calls that make up the Add method implementation within the shopping cart.
Designing New Functionality
Now that you have a more complete understanding of your existing application, you are in a better position to add functionality. Collaborating on design requires communicating in a standard way. Unified Modeling Language (UML) diagrams allow you to express your design in a way that others can understand. For instance, you can build UML Component and Class diagrams that describe the existing structural elements of your design, then add new elements to the diagrams to illustrate and document your changes. Below is how a completed Component diagram might look:
A Class diagram might look like this:
The Use Case diagram below enables teams to better understand and agree on the functions of the application.
Once you have a UML diagram, you can create or link designer elements to work items within Team Foundation Server’s (TFS) Work Item Tracking system.
Ensuring Application Validation
Over time, the code quality of a project can degrade if bug fixes and new feature implementations are not done with overall architecture in mind. This is where the Layer designer and Layer validation can help. The Layer designer enables you to define the logical layers and valid communication paths between layers of your project. Once you have associated assemblies, namespaces, and classes with layers in the Layer diagram, you can validate existing or new code against the layering constraints. For example, in this Layer diagram, it is valid for software within the Presentation layer to have dependencies on software within the Business Logic layer. However, since there is not a dependency line between Presentation and Resource Access, any software that attempts to take that dependency would cause a compile-time violation in the Error List.
You can validate layer constraints from the designer surface, command line, or from within the build process. Team Build’s gated check-in process ensures that layer constraint violations never make it into source control.
These are some of the features in Visual Studio Team System 2010’s architecture tools. You can get more information about these and other features at Cameron Skinner's blog.
- Architecture Tools in VSTS 2010
- VSTS
- vsts
- VSTS
- VSTS
- VSTS 2010中的实验室管理
- VSTS TFS 2010 学习足迹
- 【Learning】Thinking in Architecture
- VSTS 2010 Test Edition 文章收集
- 使用VSTS 2010进行静态代码分析
- 3-tier architecture in C#
- Plug-in architecture 学习笔记
- Alignment trap: in ARM architecture .
- C# Plug-In Architecture Articles
- ARM SMMUv3 architecture in linux
- Great Ideas in Computer Architecture
- Simple Plug-in Architecture in Plain C
- cassandra (2)Understanding the Architecture【Architecture in brief】
- Javascript原型链
- 发个邮件发送流程,SMTP应答原理
- Sql Server 常用日期格式转换
- Java通用工具类(一)------常用工具类!
- [新闻资讯] [AIR] microwave开始在应用程序商店上架发行
- Architecture Tools in VSTS 2010
- 在 Android 上使用 XML
- android收藏
- 关于ACID中的I
- Linux下单网卡设置双ip,ubuntu设置双IP
- 文字编辑器的运用
- nagios安装与配置
- Xcelsius常用日期函数
- [2010年9月7日]CSDN BLOG OPEN!CONGRATULATIONS!