版本管理概念

版本管理概念
版本管理概念

(产品协同设计过程的版本管理研究_刘国军)

我们把设计人员设计的一个版本叫做工作版本。版本提交以后必须等待审批,此时的版本叫做待批版本。如果版本得到了审批,则版本由待批版本转化为有效版本,否则变为无效版本。有效版本在设计需求修改或其它相关条件变化时,可以变为无效版本。如果无效版本被删除,则版本销毁,无法恢复。设计用户可以对有效版本和无效版本进行修改,此时这两种版本又变为工作版本,修改完毕后,可以对其再一次进行提交审批。

2.2.4 版本的分类

产品协同设计过程是产品版本由一个版本状态向另一个版本状态变化的过程,版本状态的变化反映产品版本设计过程的变迁。在产品协同设计过程中,版本具有四种状态:工作版本、提交版本、发放版本和冻结版本。

1、工作版本

工作版本是处于设计阶段的版本,设计者在自己私有工作区中正在进行设计的版本,不能用来使用的版本,其他用户也不能访问。工作版本存储在一个设计者自己的工作区中,不能被其他设计者引用。工作版本由设计者设计产生,也可以由其他版本的设计产生。例如:从提交版本、冻结版本以及其他状态的版本均可以通过设计产生新的工作版本。由不同状态版本产生的工作版本包含不同的含义。通过不同的设计方案,一个原始的工作版本可以转化为一个新工作版本。由提交版本转化为工作版本,通常是从原有设计方案产生新的设计方案,在新设计方案中保留原设计方案的某些设计思想,缩短设计周期,减少版本设计重复性的过程。因为不满足用户需求或对设计方案进行变更,冻结版本也可以转化为工作版本。

2、提交版本

提交版本是指产品设计已经完成所产生的最终版本,需要等待审批人员进行审批的版本,此时版本还不能使用,提交版本不能删除或修改。

3、发放版本

提交版本通过审批人员的审核后,提交版本转变为发放版本。在审核的过程中,任何审核人员都可以对提交版本提出意见,反馈给设计人员,指出设计中的不足之处,从而使提交版本变为工作版本,设计人员经过修改后可以再次申请审核,直到版本通过审核,才能称为发放版本。版本一旦发放,所有设计人员只能对发放版本进行查询不能进行修改。

4、冻结版本

冻结版本是版本已经达到某种要求,且不能改变的版本。发放版本也可看作是一种冻结版本。提交版本处于审批过程中的一种冻结版本。设计人员完成设计任务后,将设计结果提交审批人员进行审核,等待审核的版本不能使用,此时工作版本转换为冻结版本。当审核通过时,对该版本保存,此时版本不能进行修改和删除,此时冻结版本转为发放版本。当需要对发放版本进行改进来满足用户新的需求时,在发放版本转变为工作版本,若审批不通过,该发放版本转换为工作版本,设计人员对该版本进行修改,直到通过审核。

2.2.3 版本的操作

1、版本添加

如果要添加一个新版本,我们通过查询版本字典从而获得该版本的当前版本号,在当前版本号加1就是要添加新版本的版本号,然后建立插入的新版本和其前驱版本之间的关联关系。其父版本的子版本属性中增加添加新版本的版本号,新版本的父版本属性中记录前驱版本的版本号,同时设置添加新版本的子版本号属性为空。

2、版本修改

版本修改操作有两种情况:一种是保留历史版本修改,为了保存历史版本,修改后的版本作为新版本进行添加。另一种是替换版本修改,修改后的版本替换原版本。保留历史版本的修改可以看成是一个新版本添加的过程,操作过程同添加版本过程类似。替换修改版本可以看成是删除版本过程和添加版本过程的结合,删除被修改的原版本,添加修改后的新版本。

3、版本删除

在协同设计过程中会产生大量的冗余版本,为了节约存储空间,提高版本查询速度,版本删除的操作特别重要。为了能很好的回溯历史版本,系统必须记录要删除版本的版本号、时间、理由,操作人员等。拥有删除权限的操作者才能对版本进行删除操作。不同的版本包含不同的设计信息,反映产品设计过程中不同阶段的设计信息,但是每个版

本都是独立保存的文件。如果要删除一个版本,它是不会影响其它版本的相关信息,版本的删除完全可以保证其它版本内容的完整性。版本删除操作有两种基本方式:一种是只删除指定的一个版本,与其相关联的后继版本不进行删除操作,此时要将删除版本中的信息存入其所有后继版本中进行标记。

操作过程是:(1)检查操作用户是否拥有权限,如果具有删除操作权限,则操作人员才能对版本进行删除操作,否则,不能进行删除操作。(2)将被删除版本的有关数据信息保存到相关的后继版本中。(3)执行删除版本操作。(4)修改该版本所在的版本字典,删除属于该版本的记录项。(5)修改版本链,保持其他版本之间的相关性。另一种方式:不仅要删除指定的版本,还要删除它的所有允许删除的后继版本。操作过程是:(1)检查操作用户是否拥有删除版本操作权限,如果具有版本删除操作权限,则操作人员才能对版本进行删除操作,否则,不能进行删除操作。(2)从要删除的版本出发遍历其所有的后继版本,列出该版本的所有的后继版本和通过替换得到的后继版本。(3)对于通过替换所得到的后继版本,则需要将被删除版本的相关数据进行保存。(4)删除该版本和它的后继版本。(5)修改版本字典,删除属于该版本的记录项。(6) 修改版本链,保持版本之间的相关性。

4、版本提取

在产品协同设计过程中,设计过程是反复的协商、比较、反馈和迭代过程,不同设计阶段的历史版本链体现了设计者设计思想的演变过程,这样就需要对某一段历史时期的某一个设计对象的所有关联的历史版本进行提取,为了便于对该版本进行比较和回顾。版本的提取可按版本创建时的时间段和时间窗口的位置来截取。如图 2.3 所示,通过保存版本设计过程的历史版本链,当我们按给定时间窗口提取对象版本时,通过对版本的历史链进行向上或向下遍历,比较版本信息中存储的版本创建时间与时间窗口的起点和终点,在时间窗口内的版本为要提取的版本。若在时间窗口内没有对应要提取的版本,则按照就近原则提取距离时间窗起点最近的版本。当时间窗口的起点和终点重合时,版本的提取也按就近原则,把重合点作为基点,查找该时间基点的前驱版本和后继版本,提取距离重合点最近版本。版本的提取,体现了该版本在这段历史时间里的版本设计演变历程。

5、版本回溯

通过版本之间形成的历史版本链,可以对历史版本进行回溯。在整个产品设计过程中,一个产品的设计要经历无数次修改,在这个过程中产生大量中间版本。设计人员希望能够随时查看设计对象的某一历史版本。在产品最终设计完成之前,由于中间版本蕴涵了设计人员丰富的设计信息和设计方法,需要对设计过程中产生的所有历史版本进行保存。利用版本回溯技术,设计者可以很方便回溯产品设计过程中产生的任何一个历史版本,以便于比较和回顾。

6、版本比较

在产品的协同设计过程中,由于设计过程具有反复性,设计者经常要比较不同版本之间的变化和差异,用来发现更好的设计思路。例如,在零件A设计过程中,会产生若干个子版本,设计人员需要对不同的子版本进行比较,通过版本比较可以反映该零件版本协同设计变化过程。通过比较可以吸取好的设计经验,启发新的设计思路。版本比较的过程为:首先,确定是两个不同的版本对象。其次,两个不同版本的对象,找到两个不同版本的版本号。最后,以两个版本的创建时间作为时间窗口的起点和终点,截取历史版本链,从版本链中反映了该对象版本在两个版本之间的变化过程。

7、版本合并

版本的合并是指产品设计过程中两个或者两个以上的版本合并成一个版本。版本合并过程中,最重要的是处理版本之间关系,新合并的版本有多个父版本。因此,在新合并版本的父版本属性中保存被合并的几个父版本号,在被合并父版本的子版本属性中保存该合并版本

的版本号。

在现有的几种版本关系模型中, 线性版本模型能够很好地描述版本顺序产生的过程, 但不能区分替换版本和修订版本的区别。树状版本模型虽然解决了对象模型的修订版本与替换版本之间的区别, 但是不能描述版本合并这一实际情况。有向无环图尽管支持版本合并和变更的历史信息描述, 但只能用节点序号描述版本的产生层次和来源, 无法表示该版本的逻辑层次性, 而且容易产生歧义。多色集合和多色图的版本模型也有报道, 但只考虑了同一对象版本的修订和变型(替换)关系, 没有考虑对象版本之间的约束关系, 或者仅仅采用一些规则来表示这种关系。(多色集合理论——侯守明)

(基于多色图理论的协同设计多级版本管理模型——刘国军)

线性版本管理模型是一种最简单的版本关系管理模型。它是以版本生成的先后顺序进行排列。各版本之间按顺序排列的关系,每个版本最多有一个父版本和子版本。这种模型的缺点是无法反映不同版本之间逻辑上的关系。无法用该模型反映不同的产品版本的变化过程和设计方案。时间上出现在后面的子版本不一定由它的父版本得到。树状版本管理模型中只有根版本节点没有父版本,其余的子版本都有父版本。一个父版本可以有多个子版本。这种版本模型结构层次清晰,每一个节点表示一个版本,每条有向边表示版本之间的依赖关系。该模型缺点是不能表示多个设计版本合并成一个新版本的情况。有向无环图版本管理模型它能够描述每一个版本的历史信息,还可以表示把多个版本合并成一个新版本的过程。该模型中每个节点表示一个版本每条有向边表示版本之间的依赖关系。该模型中版本之间可以平行存在一个版本又可以有多个父版本能很方便地表示版本之间的继承关系和依赖关系。该模型能够描述版本合并和版本历史信息变更,只能用版本序号来描述版本产生层次和根源。该模型的缺点是无法表示版本之间的关联关系。基于多色图理论的版本管理模型利用多色图原理,为版本图中的边着色,用边的颜色来描述版本之间关系的属性。该模型可以更清晰地描述版本之间关联信息。该模型表达形式灵活开放易扩充。该模型缺点是只能表示对同一个版本的修订和替换关系不能表示多个不同版本之间的关联关系。

相关主题
相关文档
最新文档