基于构件的软件版本管理系统研究

时间:2012-12-13来源:网络

  3.3 文件的操作权限管理

  操作权限用于管理特定用户对构件中文件的使用权限,分为/只读0和/可写0两种。它控制的是用户对文件的操作能力。用户操作模式是用户检出构件时对文件的实际操作。用户操作模式不能超过操作权限。例如,拥有/只读0权限的用户只能用/只读0模式检出文件,拥有/可写0权限的用户才可以用/只读0、/排他写0和/共享写0模式修改文件。操作权限与操作模式一样,都是针对构件中的文件。通过操作权限的管理,可以划分不同用户对同一构件所承担的工作任务。操作模式和操作权限相结合,有效地解决了多个用户协同开发同一个构件时的并发控制问题。

各种文件操作模式间的转换

  图3 各种文件操作模式间的转换

  4 基于构件的版本管理系统的实现

  在上述研究基础之上,研制了青鸟配置管理系统JBCM的核心部分。基于构件的版本管理系统JBVM. JBVM对基于构件的软件开发方法提供了充分支持,其最主要的特点是将构件与文件版本管理分布于两个不同层次,在系统设计方面也就具有相应的层次性。本节主要讨论设计与实现中的关键问题及其解决策略。

  4.1 版本库的组织结构

  版本库是构件版本演化历史的存储区。版本库中记录的数据分为版本构件和元数据两类。版本构件是用户交付的各类构件,由于同时具有版本信息,故称为版本构件。元数据是管理系统维持自身运行所需的各种控制文件与完成各种版本管理功能所需的信息,包含日志、用户管理、并发控制、权限控制、操作模式、统计与审计等信息。

版本库的层次结构

  图4 版本库的层次结构

  版本管理系统设计的核心内容包括版本库的组织、结构与维护。 版本库的组织结构分为两个层次: 项目层和构件层。对于系统开发人员来说, 版本库中的项目可以与系统开发中的工作划分相对应, 一个软件系统的整体或子系统都可以作为一个项目。 而构件对应于软件系统结构中最低层的不可再分的基本逻辑单元, 可以是系统开发过程中需要作为一个整体的文件集合, 例如用于实现一个C+ + 类的所有。 cpp 和。 h文件。 下面是版本库的一个简化结构示例图。 在项目a( 用a.Prj 表达) 下, 有c 和d 两个构件( 用c. Comp 和d. Comp 表达) ,而c 构件由e. cpp、f. h 和一个g 目录组成。 TempFile 是版本库的临时文件存储区。

  4.2 构件的增量存储

  构 件的不同版本间具有较大的内容相似性, 不同版本的存储有必要使用增量存储方式, 以减少存储冗余。 在传统的文件版本管理系统中, 已较深入地研究了文件的增量存储技术, 有实际的算法及实现, 如最长公共子序列算法[ 5] 等。 根据基于构件的版本管理的特点,提出了按构件和文件两个层次分别进行增量存储的设计方案:

  ( 1) 对于构件中具体文件的修改, 使用传统的文件逆向增量存储技术[ 2] , 保存最新文件版本与增量部分。

  ( 2) 构件的版本由附属目录及文件的版本组成。 构件的增量存储体现在版本中记录的是相比前一版本组成成分的不同部分。

  ( 3) 对于文件和构件存在多个分支的情况, 对各分支独立进行增量式存储。 保存每个分支上的最新版本和其他版本相对于各自后一版本的增量。

  4.3 构件版本的比较与合并

  构件演化过程中会产生多个分支,各分支都会实现一些不同于其他分支的新特性。有时需要将这些特性都合并到一个版本中。为了保证在多个用户协同工作时的正确性,也经常需要合并多个用户分别修改过的构件版本。构件不同版本的合并采用如下策略:不同版本添加的文件有选择地添加到合并版本中,修改过的文件逐一进行合并。

  构件版本的比较是版本合并的基础。在合并之前,可以通过构件版本的比较得到不同版本间的差异。除此之外,为了查看构件的演化历史,实现对构件的变化与过程控制,也需要比较构件的新老版本;在基于构件的版本管理系统中,构件版本的比较分为两个层次。底层是文件级的比较,通过比较不同版本文件的具体内容,得到文件内容的差异。上层是构件级的比较,通过比较构件不同版本组成成分,来获取构件整体的变化情况。在JBVM系统中,通过构件级别上的比较则可分析出构件的不同版本各自包含哪些文件,以及分别对哪些文件进行了修改。

  5 结束语

  本 文着重讨论了基于构件的软件版本管理模型, 以及相应系统的设计与实现。 基于构件的思想不仅可以应用于版本控制, 配置管理中的其它功能, 例如配置支持、构造支持、审计控制、统计报告、过程支持和团队支持等方面都可以建立在构件的基础上。 我们将进一步研究以构件为粒度配置支持、构造支持和变化控制方法。

1 2

关键词: 管理系统 研究 版本 软件 构件 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版