以图2为例,其中A为基版本,存储完整的版本信息V0。B存储相对于A改变的版本信息∆1,以次类推,C存储和B改变的版本信息∆2,D也存储和B比较改变的版本信息∆3。前一个是后一个的前驱版本。解析的时候,比如要得到E版本的全部信息,必须先得到A版本信息V0,然后得到∆1、∆2、∆4的信息,综合就是E版本的全部信息。 3 版本管理的实例应用对于产品零组件的标识,产品零组件代号由两部分组成:产品零组件的族号以及版本号。比如产品0001A就代表产品族0001版本为A。其它代号也是如此。
产品0001A和0001B的产品结构如图3所示:
图3
产品0001A和0001B都属于产品族0001,所以都存储在一张表中。其中0001A是基版本,也是0001B的前驱版本,所以0001A存储完整的产品结构,而0001B只存储和和0001A的差异结构。具体在过程库中存储的方式如表1所示。表1中的前去过程属性体现了过程思想,避免了存储冗余,并且能够基于过程的逆序对于产品结构以及信息进行提取。
表1 产品结构表 过程代号 父节点 操作类型 子节点 前驱过程 操作时间 最终所属 4 产品 增加 0001A 0 t0 5 0001A 增加 0013A 4 t1 0001A 6 0001A 增加 0014A 4 t2 0001A 7 产品 增加 0001B 0 t3 8 0014A 修改 0014B 7 t4 0001B 9 0001B 增加 0015A 7 t5 0001B 获取产品的完整结构,除了需要上面产品结构表之外,还必须对产品零组件信息表和组件结构表进行操作,具体记录信息如表2和表3所示。从表2中的前驱版本这一属性就可以得出版本变迁的过程,不会造成版本混乱。表3和表1的不同在于存储的是组件结构,能够单独提供组件结构,便于灵活提取。
表2 产品零组件信息表 零组件代号 前驱版本 属性 0001 A 无 0013 A 无 0014 A 无 0001 B A 0014 B A 表3 组件结构表 过程代号 父节点 操作类型 子节点 前驱过程 操作时间 最终所属 1 0014 A 增加 0101 A 0 t10 0014 A 2 0014 A 增加 0102 A 0 t11 0014 A 3 0102 A 修改 0102 B 2 t12 0014 B 因为主要说明版本管理,所以产品结构的提取算法不做介绍,只说明提取产品结构步骤与表的关系。
这里以0001A为例来说明。如果要解析0001A的产品结构,步骤如下。
步骤一:在表2中查看0001A是否有前驱版本是无,所以就只要在表1中找到最终版本为0001A的数据,根据解析算法得到该产品的第一层结构,从而不用得到其他版本信息,再进行匹配,提高了效率。
步骤二:要提取完整的产品结构,就进一步递归循环子节点,如果是组件,比如是组件0014,就到相应的组件表3中去提取组件结构,规则和步骤一相同,然后完成后再递归循环子节点,直到所有子节点都是零件为止。
0001B和0001A的解析步骤基本相同,唯一区别就是0001B具有前驱版本。具体区别表现在步骤一的内容。在步骤一中,在表2中查看0001B有前驱版本是A,然后继续查看A无前驱版本,所以我们在表一中找到最终版本为A和B的数据。 4总结通过基于过程驱动的版本管理,实现了产品结构、技术文档和属性信息的科学、规范管理,实现了数据源的统一。能够对产品组件结构信息进行合理存储,避免造成数据冗余,精确提取产品组件各个阶段的结构信息;对技术文档查看修改做出快速响应,确保信息一致;对版本各种信息进行有效修改,避免造成存储数据的混乱。 参考文献:[1] 自GBT19017-2008 重量管理体系,技术状态管理指南.
[2] 童秉枢,李建明.产品数据管理(PDM)技术.北京:清华大学出版社,2000,7 .
[3] 自GJB32306-1998 技术状态管理.
[4] 李欣,张路,谢冰,杨芙清.基于构件的软件版本管理系统.电子学报,2000,11:120-122页.
[5] 于源,卢军,王小椿.基于多色图理论的PDM版本管理模型的研究[J].计算机辅助设计与图形学学报, 2001,13(12):1083-1087.
[6] 宋政君,黄克正,杨志宏,王艳东,高常青.协同概念设计中的版本管理. 机电一体化, 2004年第2期:93-96.
[7] 李斌,黄正东,陈立平,钟毅芳.面向大规模定制的产品版本管理研究与实现.科技资讯,2007,NO.30:139-140.
[8] Ray foulkes,Michael P.Mills. Software Configuration Management and Its Contribution to Reliability Program Management. IEEE TRANSACTIONS ON RELIABILITY, VOL. R-32, NO. 3, AUGUST 1983:289-292.
[9] Dana Glasner,Vugranam C.Sreedhar. Configuration Reasoning and Ontology For Web.IEEE International Conference on Services Computing,2