VSTS 2010 Architecture 第一章:Modeling Project
在上一篇博文中,我们讨论了VSTS 2010 Architecture产品的逻辑结构。现在,我们将深入探究该产品的不同领域。首先,让我们来看一下“团队合作”领域,特别是最新引入的名为“Modeling Project”的新工程类型。
Modeling Project是模型数据、图表文件和其他用户想要存储的资源(比如Word文档)的容器。用户可以在任何新建的或者已有的解决方案中添加该工程,无论解决方案中是否有其他工程(C#、VB、Web等等),它都能工作的很好。当然,和其他工程一样,Modeling Project也支持版本控制。
现在,让我们实际操作一下:
Modeling
Project
在2010
CTP版本中,当用户创建新工程时,会在对话框中发现新的工程模板,如下图所示:

选择Modeling Project模板后,Visual Studio解决方案窗口中会创建Modeling Project。

在”ModelDefinition”文件夹中有一个名为”ModelDefinition.uml”的文件。在2010 CTP版本中,这个文件会用来存储所有创建出的UML模型。让我们来看一下工程创建后该文件的内容:

接下来,我们来看一下,创建一个Logical Class Diagram并在Diagram上创建一个Class元素后,该文件会产生哪些变化。
右键点击ModelingProject的工程结点,选择”New Item”,如下图:

选取后,将弹出“Add New Item”对话框:

采用默认选择,直接按”Add”按钮。modeling project会变成这样的状态:

现在,让我们在新打开的图表中创建Class元素。单击选中Toolbox上的”Class”,拖拽到我们刚创建的图表上,并保存全部。
图表看起来是这样的:

让我们回过头来看一下ModelDefinition.uml文件发生了什么变化:

相比之前的文件,唯一增加的是该Class元素的信息。值得注意的是,所增加的部分只是对于该元素的数据描述,没有任何布局信息。这里没有显示该元素所必需的位置、颜色信息,甚至连该元素包含在LogicalClassDiagram1图表这样的信息都没有。在维护数据的时候,模型数据和布局信息始终是分开的。
在CTP版本中,无论用户在不同的UML图表中添加多少模型元素,只有一个文件会随之增大。这不是我们想要的行为。在RTM版本中,每创建一个Package元素,都会有一个文件随之创建,放在ModelDefinition文件夹中。在这样的设计下,一旦Modeling
Project位于版本控制下,多文件的结构能减轻合并修改冲突时的工作。
那么布局信息在哪里?你能在.diagram文件里找到它。
团队合作
为什么我要将Modeling Project的内容归类到“团队合作”框架里?因为这个工程会成为主要的方法之一,将其包含的模型元素数据通过版本控制系统在你的开发小组中共享。
当然,你也可以通过打印和邮件来共享这些数据信息,但是将你的源代码和对应的代码模型一同放在版本控制系统中,能够极大地方便开发,提高效率。
也许大家还有一个问题,如果我们的开发人员并没有安装2010 Architecture版本,是否依然能够使用包含Modeling Project的解决方案?他们是否能够查看其中的图表文件?当然可以!!在这样的情况下,开发人员可以加载Modeling Project,双击并查看图表,选择其中的元素,查看它们的属性,放大或者缩小图表,等等。他们唯一无法做的,是修改这些数据。
总结
2010 Architecture中新的Modeling Project会将所有与模型相关的资源包含在内。它会存储模型数据,图表信息,以及用户认为重要的资源,例如Word文档,PowerPoint幻灯片等等。然后,Modeling Project可以加入版本控制,在小组中共享了。
注:本文翻译自Cameron Skinner的博文:VSTS 2010 Architecture: [Part One] Model Project