0 引言
产品开发过程中形成的产品数据,大多以电子文档的形式存在,如设计任务书、2维图纸、3维模型、工艺数据文件等。有效地管理和维护这些企业文档,为产品开发人员提供一个透明、一致、安全和实时的产品信息共享环境,是产品数据管理(Prod-uct Data Manufacturing.PDM)系统开发与实施的基础。由于产品开发是一个不断尝试、反复修改的过程,PDM系统不仅要求实现对文档的增删改、浏览、检索和统计汇总等静态管理,还需要记录、跟踪和回溯文档的设计历史,这对积累设计经验、实现产品创新尤为重要。因此,面向产品开发过程,管理文档在其生命周期内的动态变化具有重要意义。
本文结合北理产品数据管理系统( Beijing Institute of Technology Product Data ManagementSystem,BITPDM)的开发,从产品开发过程和数据对象生命周期管理的角度,建立文档管理的对象模型,实现了基于Web的动态文档管理,有效地跟踪和控制文档在产品开发过程中的状态、版本及访问权限的变化,为企业信息集成奠定了基础。
1 产品数据管理中的文档管理
新产品开发是一个多领域、跨地域设计人员相互协作的过程,所有参与产品开发的相关人员均能透明、快速、准确和及时地访问产品的相关信息。新产品开发也是一个不断设计、评估、反馈和再设计的过程,任何对产品局部的改变,都将引起其上游或下游相关数据及其他设计环节的修改。同时,在文档的整个生命周期中,随其成熟度的不断演进,文档的状态、开发流程、访问权限等会经历一系列的变化。由此可见,在整个开发过程中,只有保证所有产品数据的一致,记录数据之间的相互关联及动态变化,保存产品设计历史,才能保证各文档中数据的前后一致,否则,将导致产品开发的混乱。
为满足企业产品开发的需求,PDM中文档的动态管理应能为产品开发人员间协作和数据共享提供文档组织及存储模式的支持,具备版本管理、文档生命周期管理、流程管理和动态权限管理等主要功能。
2 面向产品开发过程的文档动态管理
2.1 文档的基本含义
文档是PDM特有的业务对象,如何界定它的含义是有效管理产品数据的前提。在产品开发过程中,对于同一个零件,经常需要多页或者几种不同格式的2维图纸,还可能存在用于说明该零件的文本文件或图片,从而造成一个工程图涉及多个文件的现象,而将这几个文件分开并独立管理,不利于维护数据的一致性。因此,本文将工程上相关的、描述同一类产品信息的多个文件在逻辑上看成一个整体,抽象出图1所示的文档对象。每个文档都包含内容文件和属性两部分,内容文件为电子化的、实际的物理文件,如AutoCAD文件(.dwg)、Word文件(.doc)、图像文件(.avi)等。属性为文档的一组元数据,描述该文档的特性以及内容文件的存储路径。此外,一个文档还可以参考和使用其他文档,构成文档之间的层次结构关系。
图1 文档对象的定义和结构
2.2 文档的组织与存储机制
统一、集中和灵活的文档组织与存储机制是敏捷产品开发和项目动态管理的基础。文档包含元数据和内容文件。本文将元数据存放于企业单一或分布式数据库中,内容文件则存放于分布式文件仓库中,实现数据的集中与物理文件的分布存储。文件仓库对应文件系统下一组加密的目录结构,可以部署在多台文件服务器中。当文件上传至服务器时,加密系统对文件的名称和内容进行加密处理,保证文件的安全。文件仓库和数据库是文档的后台存储机制,由企业中的系统管理人员负责维护,提供跨地域、跨企业、跨部门的文档组织与存储机制。根据企业的不同需要,可以提供多种面向用户的文档组织方式:
(1)基于文件柜组织文档。文件柜屏蔽了文档在文件仓库中的存储位置,为用户提供透明存取空间,适于组织异地分布的产品数据且可保证数据的安全性。根据企业的实际需求,系统提供个人文件柜和共享文件柜,分别存储私人和共享的产品数据,并借助文件柜系统为用户提供移动办公、异地访问和分布存储的功能。
(2)以产品为核心组织文档。把产品结构作为组织文档的框架,通过建立零部件与描述文档以及参考文档的关联关系,使用户能够在产品结构树上获得相关文档,这种方式符合企业业务流程及技术人员的工作习惯。
(3)面向生命周期状态组织文档。按产品、项目或文档的阶段、状态进行组织,是一种面向过程的组织方式,充分体现了不同阶段文档的不同作用以及文档的产生次序和变化。
以上3种方式在BITPDM系统中相辅相承,共同完成数据的有效组织。对于静态数据一般采用基于文件柜的方式,动态数据则优先选择以过程为核心来组织。
2.3 文档的版本管理
产品开发是一个反复迭代和逐步求精的过程,为了跟踪和回溯设计历史,有必要记录和管理文档的多个版本。常见的版本管理模型有:线性版本模型、树形结构版本模型和有向无环图版本模型。本文采用树形结构模型,依据不同版本间的演变关系构成版本结构树,并基于文件柜进行版本控制,图2表达了BITPDM系统中文档版本的树形结构及其演进过程。
图2 文档对象的树形版本模型及其演进过程
版本管理方案如下:①版本=版次十版序;②新建文档保存在个人文件柜中,通过注册操作提交到共享的项目或部门文件柜中,开始进行版本控制,未经注册的文档不记录更改次数和更改历史;③以检入/检出共享文件柜来控制具有版本的文档,文档的内容文件将随检入/检出操作自动上传和下载;④在相同时间内,系统只允许一个人检出同一文档版本,允许存在多个同时被检出的同一档的不同版本,已检出的文档可以被其他人浏览,但不能修改;⑤已经发布的文档需要变更时,必须按照企业规定的更改流程对文档进行修订,修订后的文档版次升级。图3中的功能模型描述了在依据以上方案而设计的BITPDM系统中,用户操作文档的详细过程。
2.4 基于过程的文档生命周期管理
图3 文档版本管理的功能模型
数据对象生命周期包含数据对象所必须经历的一系列状态、状态变迁、状态变迁条件和触发事件,记录了数据对象从产生、使用到废弃的整个生命历程,表明了数据的成熟度。不同种类或项目的文档可具有不同的生命周期,经历不同的生命周期状态。一般情况下,典型的文档生命周期包括设计、校对、审批、发布、归档和废弃等状态。每种状态对应文档的不同版本,如设计版本、发布版本等,前文所论述的版本管理主要用来控制设计状态的文档变化历史。本文采用统一建模语言(Unified ModelingLanguage,UML)状态图建立了文档的生命周期状态模型,如图4所示。
图4 文档生命周期的状态模型
文档在其生命周期的每个阶段都会经历一定的设计过程,而整个产品/项目的开发又是由项目的开发流程控制和协调,只有将过程模型和生命周期模型集成在一起,才能动态地管理数据。本文以过程为核心完成产品开发,并采用“过程一生命周期”互动模式驱动文档生命周期状态的变迁。具体实现方
法如下:
(1)过程定义,主要包括活动、活动执行人等信息。
(2)过程启动,工作流引擎根据系统定义的流程生成过程实例,激活相应的任务项,自动将任务发送给相应的负责人,每一个任务项都有应用数据的输入、输出和数据状态操作的要求。
(3)分配任务的同时,将任务需要操作的附加文档传递到任务负责人,任务负责人从个人工作列表中打开该任务,便可以获得相关文档。
(4)任务负责人完成具体文档的创建、修改或评审工作,文档一旦被创建,系统将自动启动该文档的生命周期,控制文档对象全局有效的状态变迁,文档的状态将在过程执行中随着任务的完成和提交而不断改变。
(5)当文档的生命周期状态变迁条件满足后,状态发生迁移,同时触发变迁事件,通过定义任务事件,在文档状态变化时,由相关人员执行校对和审核。
(6)为保证附加文档的安全性,生命周期状态还关联了权限策略,限制了任务负责人所能做的操作,文档作者一旦提交文档,就失去了对文档的更改权限;当文档审批被驳回时,文档作者才重新获得更改文档的权限。
在这种模式下,文档通过任务被过程和生命周期同时控制。任务由工作流引擎驱动,并附带应用数据;而数据对象本身的成熟和变化历程则由生命周期状态控制。任务操作与关联的数据以松耦合的方式共同组成任务项,跟踪和控制文档的变化,减少了数据混乱。
3 系统实现
文档动态管理的核心是文档的版本和状态,以及文档与设计过程的关系。依据以上设计方案,本文构建了图5所示的文档动态管理对象模型。该模型包含了文档动态管理所需要的主要业务对象及其业务逻辑。一个文档主对象( DocumentMaster)包含多个具体的版本,每个文档版次( DocumentRevi-sion)包含多个版序,文档版序(DocumentIteration)可以与多个内容文件(ContentFile)相关联,同时具有一组与版本变化相关的属性。通过这4个对象来组织文档的不同版本,记录文档内容的变化历史。每个文档创建后,将启动其生命周期(LifeCycle),记录文档状态( State)的变迁及变迁历史。文档作为设计过程中某个具体任务的输入数据和结果数据,将随着过程的执行,有序地在人员和应用之间流动。通过文档与过程对象间的文档关系对象,记录文档在设计过程中的动态变化过程。
BITPDM系统运用文档动态管理对象模型,以Microsoft. NET为开发平台,采用目前最先进的Web体系结构和技术,实现文档的动态管理。该模块为B/S结构,依靠Microsoft Windows erver强大的服务管理功能,通过基于超文本传输协议( HyperText Transport Protocol,HTTP)的Web访问和基于简单对象访问协议(Simple Object Access Proto-col.SOAP)的Web service提供各类应用服务。所有系统功能以COM+应用组件的形式运行于.NET环境上,由ASP. NET页面和rich client端进行访问。通过连接池与数据库系统进行连接,并采用PDM XML协议进行数据传输。
图5 文档动态管理对象模型
4 结束语
产品开发具有动态性、反复性和发展性,使产品数据表现出较强的动态性,管理随时间动态变化的数据变得非常重要。本文结合企业对文档管理的实际需求,规划和设计了文档的存储、组织及其版本控制机制,提出了“过程一生命周期”松耦合互动模式,并运用所构建的文档动态管理对象模型,进行BIT-PDM系统的开发,实现了对文档设计历史的跟踪与回溯。同时,在实践中验证了面向产品开发过程文档动态管理在企业信息集成中的基础作用。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:面向产品开发过程的文档动态管理技术