利用Rational Rose 和 VSS实现团队建模

来源:互联网 发布:古墓丽影崛起低配优化 编辑:程序博客网 时间:2024/05/16 01:43

 本文针对利用Ratioanl Rose进行建模的团队,讲述了如何通过配置VSSRose将两者集成实现团队协同工作,同时,还提出了一个相对成熟的工作环境配置方案,从而降低了团队沟通成本,使得团队建模更具经济性和实用性。对于高端用户,还给出了解决复杂问题的小技巧。

 

 

IBM Rational Rose是目前业界公认最优秀的建模工具,很多文章都介绍了如何利用Rose进行模型设计,但在实际项目工作中,特别是在大中型的软件项目中,往往不可能一个人完成整个建模工作,必须由整个团队协同工作。那么就必然用到了版本控制工具,同样,Microsoft Visual Source SafeVSS)也是非常常用的版本控制工具。本文将结合一个实际的案例讲解如何利用Rational RoseVSS这两项工具实现团队建模。

一、安装IBM Rational Rose Enterprise 2003

参见Rose 2003安装手册。

 

二、安装Microsoft Visual Source Safe 6.0b

要将项目纳入版本控制体系中,必须首先建立VSS数据库。如何建立VSS数据库,请参见VSS帮助。

 

三、约定项目文件组织结构

可以根据团队的工作习惯或制度要求,约定一个公认的文件组织结构,每个团队成员的项目文件组织结构都必须以此为依据,以便于进行版本控制。

例如:Z:/Building/Sample

                                   |-Doc

                                          |-Business

                                          |-Model

                                          |-Reqirement

                                          |-Reference

                                   |-Projects (子项目)

                                          |-P1

                                                 |-Doc

                                                        |-……

                                                        |-Model

                                          |-P2

                                                 |-……

                                          |-P3

                                                 |-……

对于项目目录所在驱动器,建议使用比较大的字母作为盘符,如:X, Y, Z等,这样可以最大限度地避免冲突。可以通过映射实现。点[开始] –[运行……] –〉输入cmd进入Dos操作台,输入命令:

 

 

Microsoft Windows 2000 [Version 5.00.2195]

(C) 版权所有 1985-2000 Microsoft Corp.

C:/>subst z: F:/My/

 

   

 

 

 

                    图1  一个典型的项目文件组织结构

 

四、设置虚拟路径映射目录(Virtual Path Map


每个团队成员应根据自己工作机的实际情况,设置虚拟路径。具体方法是:进入[File] -> [Edit Path Map……],弹出Virtual Path Map对话框:


                             
              图2  虚拟路径设置对话框


依次输入:键
Symbol ,实际路径Actual,注释Comment,点击Add即可添加路径到虚拟路径映射目录中。

推荐的设置如下:

$CurDir=&                              // &表示当前模型文件.mdl所在路径

$Root=Z:/Building/                    //项目根目录,所有与模型文件有关的资料都将在此目录及其子目录内

$Sample=$Root/Doc/Model/     //项目模型文件目录

$P1=$Root/Sample/Projects/P1/Doc/Model          //P1项目模型文件目录

$P2=$Root/Sample/Projects/P2/Doc/Model          //P2项目模型文件目录

 

按照上述的方法设置,可以确保模型文件中的cat包和外部链接存储的路径为相对路径,避免了不同机器中出现路径不相同的情况下,无法打开链接的情况发生。

 

²        注意:每台机器上的$Root路径可能也允许不同,但推荐使用相同的盘符路径。而其他映射路径则不允许不相同,这样可以避免不必要的沟通成本。

例如:团队成员Lee$Root=X:/

团队成员Yee$Root=Y:/Working/Projects

团队成员Liu$Rott=Z:/Building/

 

五、VSS环境初始化

VSS环境进行初始化,需要做以下几件事情:

 

1、 VSS服务器端为每个团队成员分配一个用户名。为简化操作,用户名和密码应与成员客户机上登录的用户名和密码相同。这样就可以不需要每次打开VSS时系统都提示输入用户名、密码。特别注意的是,VSS服务器所在的服务器操作系统也必须设置相同的用户名和密码,但安全性应根据需要做适当改动。

 

2、 每个团队成员应设置本地工作目录。选定根结点$/,按Ctrl+D,弹出[设置工作目录]对话框。该路径应与前面设置的$Root路径相同。

 

3、 项目配置经理建立完整项目结构,并配置各个Project的安全性。比较简便的方法是选择根目录->Show Difference,将本地存在而VSS数据库中不存在的目录全部加入到数据库中。事实上,第一次执行该操作时VSS数据库中没有任何数据,因此所有本地目录和文件都将被加入到数据库中。

 

六、Rose中实现VSS操作

由于VSS是符合SCC规范的系统,通过RoseVersion Control 插件可以无缝集成VSS

使用VSS实现版本控制的主要操作有:AddCheck outCheck inGet latest version

对于一个拥有多个子项目的复杂项目而言,分包是必不可少的选择,并且还需要将各个子项目的包分别寸放在各自的项目目录内。

1、              将包加入到VSS中,选择该包按右键Add to Version Control,弹出Add to version control对话框,选择需要加入的包,这些包都将被保存到当前目录下的同名.cat文件。

2、              要自定义保存包可以选择该包按右键Units->Contorl ,将该包保存到其他目录中。

3、              要将其他cat包加入到模型文件中,可以选定一个包,然后选择File->Units->Load…,将其他包加入到模型文件中来,当其他人修改该包后,可以反映到模型文件中。

4、              通过选择包,按右键Check out来获得修改包的权限。

5、              通过选择包,按右键Check in来更新包的修改成果。

6、              建议只能由项目负责人具有Check in Check out 模型文件的权限。

7、              建议为每个子项目建立一个模型文件用于子项目的模型设计,同时与项目模型文件共享设计包。

 

²        注意:通过分包,可以确保团队中各司其职,同时又能共享工作成果。VSS的安全性设置也保证了工作成果不会被随意修改。

 

七、非正常情况下的解决办法

对于一些非常特殊的情况,通过正常的方法无法达到或者操作非常复杂。那么这时候我们可以通过直接修改源文件的办法很快地解决问题。

²        注意只推荐非常熟悉Rose的用户使用,并且操作之前请做好备份。


例如:原来的Virtual Path Map配置中$Root=Z:/Building/JOA,我们修改为$Root=Z:/Building以后,再打开之前修改保存过的模型文件,这时候在引入子包时就会出现错误信息:

 

            
 

我们查看Log时会发现以下的提示:

09:00:59|  Warning: The directory Z:/Building/Projects/JCM/Doc/Model does not exist.

 

 

 


这是因为在修改了
Virtual Path以后,模型文件中的相对地址也就发生了变化,按照以前的设置自然无法找到文件,即使碰巧找到了,也不是预想的文件。


  使用记事本或者类似EditPlus的文本编辑器,打开.mdl文件,查找JCM.cat我们可以从中找到类似这样的内容:

  

              logical_models    (list unit_reference_list

           (object Class_Category "Business Object Model"

              is_unit        TRUE

              is_loaded    FALSE

              file_name    "$CURDIR//Business Object Model.cat"

              quid         "412F4917009A")

           (object Class_Category "JCM"

              is_unit        TRUE

              is_loaded    FALSE

              file_name    "$ROOT//Projects//JCM//Doc//Model//JCM.cat"

              quid         "3D256AB500B8"))


 

 

这里描述的是Logical View包中的一部分子包Business Object Model包和JCM包的基本属性,其中file_name指的就是该包存储的文件名。出现这样的描述的前提是Business Object Model包和JCM包已经是一个Controlled Unit单独加入到版本控制(Add to Version Control)中。如果$Root发生了变化,并且不能够通过$ROOT//Projects//JCM//Doc//Model//JCM.cat找到.cat文件,那么我们就可以修改这个路径,例如:$ROOT//JOA//Projects//JCM//Doc//Model//JCM.cat,保存后,再重新打开模型文件,一切OK

 

同样的解决办法,也可以用在修改版本控制信息上 ,例如:

 

           (object Attribute

              tool          "sc"

              name              "SourceControlProject"

              value        (value Text

|"$/Projects/JCM/Doc/Model", FFUAAAAA

              ))

 

 

 

 

 

 

 

 

 

 

$/Projects/JCM/Doc/Model改成$/JOA/Projects/JCM/Doc/Model,就可以保证能够直接通过Rose对文件进行版本控制操作了。

原创粉丝点击