EA(Enterprise Architect)是功能最强大的CASE工具。SVN(SubVersion)是最常用的版本控制工具。两者结合在一起,可以搭建高效的团队协同设计工作环境。
EA本身是以*.eap的私有格式来存储设计图的,但同时它也支持将设计图的内容存储在SVN等版本库中。借助第三方版本控制工具,以实现版本控制和协同设计的目的。
当选择SVN作为EA的版本配置库时,需要在SVN上指定一个存储目录,EA将其的所有设计图都存放在这个目录中。为了达到协同设计的目的,EA将把每一个package作为一个单独的文件进行存储。也就是说,同一个时间内、对同一个package,最多只能有一个人进行编辑。
2、在EA中进行SVN配置
-
刚才说过,在版本配置库中,EA把每一个package都作为一个单独的文件进行存储。而所有的这些文件都需要一个目录来存放。所以,在绑定SVN之前,需要在SVN版本库中,创建一个目录,用来存放EA文件。
如下图所示,我们在SVN库中创建了一个名为“设计图/需求分析”的目录。我们将用它来存放与需求分析相关的设计图。创建完毕后,用svn update命令,将其同步到本地工作拷贝中。
-
在本地创建一个空的eap文件,我们将用它作为设计工作的本地工作拷贝。其中的设计图,除了存储在该eap文件中,还将同时存储在SVN版本库中。
-
打开该文件,右键点击“Project Browser”中的任意位置,选择右键菜单“Package Control -> Version Control Settings"。
-
EA将弹出“Version Control Settings”配置窗口。如下图所示,在该弹出窗口内进行以下配置。其中:
Unique ID:自定义的一个标识字符串,项目组的成员都通过这个ID来定位共享的内容。一经指定不可变更。
Type:所使用的第三方版本控制工具的类型。在这里,我们使用SVN。
Working Copy Path:SVN版本库中,用于存储EA设计图图元的路径。这个路径是其在本地工作拷贝中的路径(绝对路径)。
Subversion Exe Path:SVN命令行工具(svn.exe)的绝对路径。
Save:以上内容填写完毕后,点击“Save”按钮保存设置。
Defined Configurations:已经保存的配置信息都罗列在此表格中。可以同时有多条配置。点击“New”按钮,可增加新的配置条目。
END
3、将本地设计图提交到SVN版本库
-
当版本库初始化完毕后,还只是一个空目录,里面没有任何内容。所以需要先在本地创建并制作初始的设计图,然后将其提交到版本库中。
这个工作基本上只需要做一次。对于项目组中的大多数成员来说,若项目组已经完成了本项初始化工作,则可以跳过这一步,直接从第4步开始。
-
右键点击“Project Browser”中本地设计图的根节点,在弹出菜单中,选择“Package Control -> Add Branch to Version Control”,将本地内容提交版本控制。
-
在弹出的“Apply VC to Branch”窗口中,选择在第2步中配置好的条目,并勾选下面的“Export as Model Branch”。点击OK后,在弹出的“Comment”窗口中,填入SVN日志信息。
-
导出EAB文件,供项目组其他成员导入用。名字可以自定义。
-
版本提交成功后,可以看到在“Project Browser"窗口中,节点上已经被明显地添加了加锁的标记。这表明该节点内的Package,已经纳入版本控制管理了。
END
5、日常设计工作
-
日常的设计工作,都在EA中完成。EA中的版本管理操作,都在右键菜单“Package Control”内。而使用方式与VSS类似,即:Get Latest -> check out -> 本地修改 -> check in -> Get Latest ……这种循环。
常用的菜单项含义如下:
Check In Branch:Checkin选中的Package与其所有的子Package。
Check Out Branch:Checkout选中的Package与其所有的子Package。
Check In:仅Checkin当前选中的Package。
Check Out:仅Checkout当前选中的Package。
Undo Check Out:放弃对当前选中的Package的Checkout,回滚到原来的版本。
Get All Latest:从版本库更新版本到本地。
File Properties:查看文件状态,比如:谁创建的、当前版本号、最后修改日期、被谁锁定等。
File History:查看版本历史。
-