软件配置管理可行性报告
八月 3, 2007
发表在: java
编程技术问答:
正文
1 关于本文档
详细的描述在推行软件配置管理的可行性,以及各类软件配置工具的比较,结合本中心的实际特点,分析适合本中心使用的软件配置工具。
本文档由陆国暾撰写,要详尽了解相关软件配置工具的具体性能数据,请参阅该软件出品公司技术文档。
2 现状简述
现有的软件配置管理工具(scm tools)大致有如下几个品种:
(1) ibm—clearcase (cc);
(2) microsoft—visual source safe (vss);
(3) borland—starteam (st)
(4) open source--concurrent versions system (cvs);
(5) hansky—firefly;
该份可行性报告即为以上5种配置管理工具的评估报告,其侧重点针对本中心的实际情况,结合各个开发部门的操作系统,开发流程,项目规模,易用性,价格,与其他管理系统的良好的结合性等等方面来进行考虑。
进行软件配置管理的目的:
一、权限控制(access control)
权限控制对scm工具来说至关重要。一方面,既然是团队开发,就可能需要限制某些成员的权限;特别是大项目往往牵扯到子项目外包,到最后联调阶段会涉及到很多不同的单位,更需要权限管理。另一方面,权限控制也减小了误操作的可能性,间接提高了scm工具的可用性(usability)。
现有的scm工具,在权限控制方面差异很大,也说明了大家都在探索更有效的权限控制的方法。透过不同权限控制方法的差异,我们不难看到其共性:其核心概念是行为(action)、行为主体、行为客体。
行为主体:即用户(user)。用户组(user group)并不是行为主体,但它的引入大大方便了权限管理。
行为客体:即项目和项目成员(member)。不管从scm工具的开发者还是使用者的角度,项目和项目成员都是不同的行为客体。
行为:即由主体施加在客体之上的特定操作,签入和签出是再典型不过的例子。
三个核心概念搞清之后,就可以讨论权限的概念了。
权限是这样一个四元向量:(主体,客体,行为,布尔值)。即,“主体在客体上施加某种行为是否被获准”。
由此看来,权限控制的基本工作就是负责维护主体集合、客体集合、行为集合、权限向量集合。其中,行为集合是固定不变的(在scm工具开发之时已确定),其它三种集合都是动态变化的。
二、版本控制(version control)
scm工具记录项目和文件的修改轨迹,跟踪修改信息,使软件开发工作以基线(baseline)渐进方式完成,从而避免了软件开发不受控制的局面,使开发状态变得有序。
scm工具可以对同一文件的不同版本进行差异比较,可以恢复个别文件或整个项目的早期版本,使用户方便地得到升级和维护必需的程序和文档。
scm工具内部对版本的标识,采用了版本号(version number)方式,但对用户提供了多种途径来标识版本,被广泛应用的有版本号、标签(label)和时间戳(time stamp)。多样灵活的标识手段,为用户提供了方便。
三、增强的版本控制(enhanced version control)
快照(snapshot)和分支(branch)以基本的版本控制功能为基础,使版本控制的功能又更进一步增强。
快照是比版本高一级的概念,它是项目中多个文件各自的当前版本的集合。快照使恢复项目的早期版本变得方便,它还支持批量签入(check in)、批量签出(check out)和批量加标签(label)等操作。总之,快照是版本控制的一种增强,使版本控制更加方便高效。
下一页
No comments in this entry