Visual Studio 2010在架构和项目管理方面的功能增加让人眼前一亮,之前曾详细介绍过Visual Studio 2010新增的架构工具,包括通过可视化技术DGML提供直观的图表,依赖图,继承图和自定义图表的Visual Studio UML浏览器工具。今天,带您深入VS2010的UML功能,看看如何在Visual Studio 2010中进行UML建模。
在Visual Studio 2010中增加一个新的项目模板,叫做“建模项目”,通过这个模板,我们可以快速创建一系列UML图,目前可以创建UML 2.x 13个图中的5个,另外还可以创建层图和有向图(.dgml)。
图1:Visual Studio 2010中新增的模板
UML类图
你可能会认为它会取代Visual Studio 2008中引入的类图,但它们之间有一个显著的区别,现行的类图(.cd)是你代码的实时可视化效果,你可以从现有代码进行逆向工程,也可以从类图创建代码存根,但新的UML类图(.classdiagram)与你的代码完全没有联系了,也不能实施逆向工程,如果你想自动生成代码框架,你也必须借助T4模板。
UML序列图
这是唯一支持逆向工程的UML图,我很喜欢它,通过在你代码中的方法上点击右键,选择“生成序列图”,一张序列图就自动生成了。
图2:自动生成的序列图
你也可以在图上点击右键,选择“转到定义”,就可以从序列图切换到对应的代码。
UML用例图
这可能是你期望的功能,是的,现在Visual Studio 2010中也可以直接画用例图了。
UML活动图
这可能也是你很想要的功能,现在Visual Studio 2010也支持画UML活动图了。
图3:UML活动图
UML组件图
Visual Studio 2010现在也支持画组件图了,而且比Visio更好用,更简单。
层图
层图的目的是展示架构层次,除了绘图功能外,它还支持层验证功能,通过给这个图中的不同层指定不同的代码,你可以生成和验证这些类之间的依赖关系,确保不存在不正确的层依赖关系,这个功能相当有用,当开发人员错误地添加了违反架构的依赖关系时,可以及时发现。Patterns和Practices团队创建了一个层图指南,可以从http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7下载安装,你的工具箱中就会多出以下参考架构。
◆Web Application
◆Rich Client Application
◆Rich Internet Application
◆Services Application
◆Mobile Application
图4:层图
有向图文件
有向图文件(.dgml)可以用于Visual Studio 2010许多不同的功能,如关联图,它是一个常规文件类型,表示节点/连接关系的各种类型,下面是一个简单的命名空间(Namespace)依赖图。
图5:命名空间依赖图
小结
Visual Studio 2010朝建模方向迈出了正确的一步,我看到了很多令人印象深刻的新功能,但我也看到有些功能越改越不行,但我却帮不上忙,特别是UML类图,除此之外,我很高兴,现在终于可以直接在Visual Studio 2010中建模了。