VS新功能.docx
- 文档编号:2456224
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:10
- 大小:261.06KB
VS新功能.docx
《VS新功能.docx》由会员分享,可在线阅读,更多相关《VS新功能.docx(10页珍藏版)》请在冰豆网上搜索。
VS新功能
VisualStudio2010
架构师最怕程序员知道的新工具
分享到
【51CTO独家特稿】2010年4月12日是微软VisualStudio2010正式版发布的日子。
作为VisualStudio的用户,您是否还记得自己使用的第一个VisualStudio版本?
是否还记得CODE出第一段代码时的兴奋?
是否还记得那无数个寻找Bug的日日夜夜?
51CTO开发频道带您一起走进VisualStudio历史,今天我们要介绍的是——VisualStudio2010。
1.VisualStudio2010建模概述
在微软VisualStudio2010(VisualStudio2010Ultimate)中,应用程序生命周期(ALM)是其重要特性和SDLC实现方式之一。
我们将一个软件的生命周期(SDLC)划分为几个阶段,而利用各种工具辅助每个关键环节进行管理,就称为应用程序生命周期管理(ALM,ApplicationLifecycleManagement)。
微软的VisualStudio2010将会努力打造一个功能平等、共同分担,易用便捷的平台,以用于组织内的应用程序生命周期管理过程。
在VisualStudio2010的工具中,真正主角已经不在是作为编码工具的VisualStudio IDE,而是ALM的核心TFS(TeamFoundationServer)。
其中,在架构方面则是通过新的架构浏览器(ArchitectureExplorer)和架构层图(ArchitectureLayerDiagram),以图形化的方式描述系统架构,从而使得项目中的技术人员或非技术人员都能以模型透过图形化的方式进行协作,以及定义企业与系统功能。
另外,VSTS2010也同时支持统一建模语言(UML,UnifiedModelingLanguage)及特定领域语言(DSL,DomainSpecificLanguage),架构设计人员在VisualStudio2010中可以进行架构与建模设计,从而摆脱了传统使用非VS架构设计工具,使得设计师可以更有效率的进行.NET架构设计工作。
微软在最初的时候,项目中的技术人员使用一些单独的开发工具进行软件开发,例如架构师使用Rose进行架构设计,开发人员则使用VisualStudio进行编码。
同时,项目中的非技术人员则使用一些通用的项目管理工具进行项目管理,例如项目经理使用Project,Excel等制定项目计划,进行任务划分和分配等。
VisualStudio经过近十年左右的发展,已经不再是仅仅面向某一个角色(开发人员)的工具,而是要服务于软件开发过程中的所有不同的角色(开发人员、测试人员、架构师、项目经理等),使其覆盖在整个软件开发生命周期(SDLC)中,所以,在VisualStudio2010中的各个功能之间,彼此相互关联和互通也大大增强。
我们可以通过VisualStudio2010架构泳道(swim-lane)图,来对VisualStudio2010建模过程功能应用更直观的了解。
如图1所示。
图1 VisualStudio2010建模过程结构
在架构建模设计过程中,同样遵循ALM的过程定义(理解代码、域理解、控制维护、扩展性等)。
我们可以根据产品所针对的问题,将通过上图中的4个主题的方式来分析VisualStudio2010建模功能过程。
例如,“理解代码”描述如何利用VisualStudio2010中的代码分析和可视化技术帮助用户分析理解已有的系统。
最终,用户可以利用这些技术在已有的代码库基础上帮助客户实现最新的功能需求。
VisualStudio 2010新增了UMLModelingProject,提供了对类图,时序图,用例图等的支持,这也是基于VS.NETDSL来实现。
如图2所示。
图2 DSL设计模型
2.VSTS2010架构分析工具
VSTS2010全新的架构工具可以让我们了解应用程序和功能设计,并帮助验证设计与执行过程中不偏离开发目的。
它除了支持一般系统分析设计流程(需求—>实体)外,也支持另一类的流程——逆向工程(ReverseEngineering)。
通过逆向工程可以理解应用程序之间的部分是重要的依赖,以确定可能会出现问题。
此外,直观图可以帮助我们找到最佳地方来执行新的功能。
DGML文件可以使解决方案产生的依赖矩阵和布局,每个视图可以在项目结构中提供一个不同的视图。
如图3所示。
图3程序集关系分析
通过高级的视图功能可以来分析模型的整体结构。
在一个区域中,可以根据需要修改15分钟到一个小时之间的变化差异的依赖关系,也可以放大局部类之间的关系图。
VSTS2010逆向工程类型可分为静态与动态,静态指的是整个程序代码的静态结构,如组件或类别间的关系;动态则是程序代码执行的顺序,如某个程序代码区段相关方法调用与响应顺序。
3.静态逆向工程(StaticReverseEngineering)
VSTS2010提供针对不同功能层面的分析工具来辅助程序代码进行逆向工程。
LayerDiagram可从高阶面来看架构;ArchitectureExplorer能从特定点切入,只探索我们所关心的部分;.netClassDiagram则可分析详细部分的Class结构。
静态的逆向工程,主要有三个工具:
ArchitectureExplorer、LayerDiagram和ClassDiagram。
LayerDiagram可以让我们以高层角度来分析整个软件结构,细腻程度可以自由选择,从项目、Namespace、Classs、到方法都可以。
如图4所示。
图4关系层图
我们可以定义每个Layer包含的工作产品(Artifact),并可以直接用相关文件对应到Layer,然后对Layer右键单击选择ViewLinks,即可检视此Layer相关工作产品。
LayerDiagram基本上为快照(Snapshot)图形,后续即使程序代码有了变动,图形并不会自动跟着更新,所以必须定期执行ValidateArchitecture。
如图5所示。
4.动态逆向工程(DynamicReverseEngineering)
在以前程序开发等人员,当分析程序代码完全没头绪时,需要从程序代码中直接理解程序流程,这是一件困难且很痛苦的事。
VSTS2010新增架构工具支持动态逆向工程,主要有两个工具:
依赖图(DependencyGraph)和SequenceDiagram(时序图),使用这两个工具会大大增强代码分析的效率。
依赖图可以协助理解程序代码的结构与关系,可以透过架构浏览器(ArchitectureExplore)来生成依赖图。
顺序图是用来表达程序流程的图像工具,VSTS2010也用于对象导入系统设计,可以手工直接绘制SequenceDiagram功能,也能通过逆向工程依选择代码段自动生成图形。
图6展现顺序图合并
如图6所示,分组生命线(LifelineGrouping)。
在VSTS2010中,顺序图具有合并功能,可以通过Group功能把Lifeline合并起来,按“Ctrl”键选择多个Lifeline后,右键单击选“Collapse”,即可合并成LifelineGroup。
例如,可以将两个Class1合并起来,若要展开,右键单击选“Expand”。
12下一页>>
内容导航
第1页:
VisualStudio2010建模概述
第2页:
VSTS2010模型浏览器
5.VSTS2010模型浏览器
在实际的项目开发实践中,大多数情况下都是在已有代码的基础上构建新的系统。
在这种情况下,架构师或者开发人员遇到的一个典型的问题是:
没有好的工具可以帮助他们很好的理解现有代码的架构,从而很难有效地在现有代码的基础上,添加新的功能以满足新的需求。
为了解决这个问题,VSTS2010提供了新的两个重要的建模工具:
UML模型浏览器(UMLModelExplorer)和架构浏览器(ArchitectureExplorer)。
新的模型浏览器可以让架构师为已有代码创建完整的架构图,并且能够理解原有系统的各个组件是怎样协作在一起的。
这将为架构师决定如何设计、使用、复用或者是否放弃现有代码,提供了非常有价值的参考信息。
6.UML模型浏览器(UMLModelExplorer)
在VSTS2010Architecture和Ultimate版本中,新增加了一个新的工具窗(UMLModelExplorer)来帮助用户理解和使用所创建的UML模型。
它是一个树状结构的WPF组件,用来展示UML模型中的层次结构。
在这里,模型是指所创建ModelingProject(工程模板)中的内容。
通过这个工程模板可以创建模型工程,在模型工程中再创建UML图。
也就是说UML类图、活动图、用例图、组件图,只能在模型工程中才能创建,并且可以按照模型架构进行设计与创建层次。
ModelingProject是模型数据、图表文件和其他用户想要存储的资源(比如Excel、Word文档)的容器。
用户可以在任何新建的或者已有的解决方案中添加该工程,在解决方案中同样支持不同程序工程(C#、VB、Web等等)。
模型工程ModelingProject同样也支持版本控制。
一般来说,UMLModelExplorer中的根节点用来表示ModelingProject本身。
如图7所示。
图7模型工程创建
创建模型工程后,在SolutionExplorer下有一个默认创建的文件夹“ModelDefinition”下面的*.uml文件是建模工具自动添加和维护,不需要用户任何手工干预。
它们存储了UML图内部所对应的模型关系定义,这是整个模型工程的核心。
uml文件和模型中Package对象是一一对应的,当创建好一个新的模型工程后,会有一个默认ModelDefinition.uml文件被创建,它对应了整个模型的根Package,也就是“UMLModelExplorer”窗口中的根节点。
7.架构浏览器(ArchitectureExplorer)
在VisualStudio2010中,提供了构架浏览器(ArchitectureExplorer)工具来辅助广大开发人员来分析和理解已有代码或者编译好的.NetAssembly。
它能够以ClassView、SolutionView和FileSystem的方式来浏览已有的系统代码。
ClassView和SolutionView支持对VisualC#和VisualBasic.Net工程的浏览,而FileSystem->SelectFiles方式则可以用来浏览任何基于.Net的编译好的Assembly文件的内容,类似Reflection反编译工具的功能。
如图8所示。
图8 架构浏览器
另外,可以通过鼠标拖拽的方式,直接把构架浏览器中的内容通过拖拽的方式添加到已有的依赖图上。
除了能浏览打开的工程之外,构架浏览器还可以直接浏览编译好的Assembly文件中的名字空间、类型等,只是不能双击导向到相应的代码,其它都与直接浏览工程差不多。
如图9所示。
图10 架构浏览器选择类视图生成依赖图
8.规格浏览器(SpecExplorer)
SpecExplorer是微软发布的一款与VisualStudio2010紧密整合的基于模型测试的工具,也是一个VisualStudio集成开发环境的插件。
它已经被大量用于微软内部技术团队的测试,并已在Windows协议测试工程(超过两百工程师参与并协同工作)。
SpecExplore与VS整合工作环境是基于模型的测试(Model-BasedTesting
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VS 新功能