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.guhuozai8.cn/
本文標題:面向產品開發過程的文檔動態管理技術