在農機產品生產中,工藝裝備的設計和制造在整個生產準備過程中周期最長,它實際決定了農機生產的工藝準備周期。近年來,我國的新機研制、系列改型任務繁重,產品更新速度快,客觀上要求采用新的設計手段和工藝方法來縮短生產準備周期。從設計角度來看,采用數字化技術進行工藝裝備設計,增強工藝裝備設計過程的柔性,提高對已有設計資源的可重用性,是縮短工藝裝備設計周期的重要途徑。在農機產品CAPP系統開發過程中,各模塊對系統的要求可以說是多種多樣的,利用對象建模技術對CAPP系統進行設計和開發,可以保證系統的可重用性、易維護性、獨立性和互操作性。CAPP系統是一個采用數據庫存儲和管理大量工藝卡及其相關數據的系統。該文采用非面向對象的關系數據庫管理系統Sybase加上面向對象的開發工具PowerBuilder來實現面向對象的設計,從而將對象的屬性和操作分離,所開發的CAPP系統在農機產品的工藝設計中得到了良好應用。
1 基于對象建模的CAPP系統模型
1.1 CAPP系統的對象模型
對象建模技術在面向對象分析時,首先將工藝人員看到的各種表格,如工藝過程卡、生產進度表、材料明細表、材料匯總表等所有數據項看成為初始對象,將表達對象之間的關系抽象成初始對象之間的關聯,由此得到CAPP系統設計的一般對象圖(圖1)。
圖1 表與操作分離時的CAPP一般對象模型圖
由于CAPP系統中很大部分任務是對工藝卡內容數據以及生成工藝卡的支撐數據的存儲與管理,因此圖1中的對象為表對象,它們是CAPP系統的對象的主體部分,基于對象模型,各個表對象類Xi的存儲等基本操作均可以共用。
1.2 對象模型的實現過程
在面向對象的系統中,系統的運行是靠事件來驅動的。CAPP系統開發時將對象、關聯及操作等映射成數據庫表和程序實體,其具體實現過程是:
①把數據對象X1,X2,X3等映射成相應的數據庫表、視圖。在定義這些表與視圖的同時也定義了相應的驗證規則和缺省數據,它們作為數據庫的一部分與表、視圖保存在一起。②把關聯Dij映射成表或表的一部分,而對于多對多關聯,可把該關聯映射成獨立的表。③將操作OPij映射成對應的操作窗口,并將操作OPij關聯到對象Xi,最終映射成Powerbuilder的數據窗口和事件驅動下的程序。
2 對象模型在CAPP系統中的實現
2.1 工藝過程卡對象模型的實現流程
CAPP系統設計中,最重要的對象就是工藝過程卡,其實現流程如下:
(1)第1步:定義一個“工藝過程卡”對象。
該對象的屬性包括:①外觀屬性:邊框、標題、表格等。每一個屬性還可以繼續細分下去,比如邊框可以繼續分解成起點、終點、線型、線寬等。標題可以繼續分解成文本、字號、字體等;②內容屬性:零部件圖號、零部件名稱、零部件材料、編制者、編制日期、序號、工種、工步內容、車間、設備、工裝、額定工時、準備工時等。
(2)該對象的操作包括:
①自身約束操作——有效性檢測、默認值設置等;②其他操作——新建工藝卡、修改工藝卡、保存工藝卡、檢索工藝卡、刪除一行工藝卡內容、插入一行工藝卡內容、恢復一行工藝卡內容、指針定位到工藝卡第一行、指針定位到工藝卡最末行、指針上移一行、指針下移一行等。
對象的屬性、對象的操作(或稱方法)構成了對象模型。
第2步:考察“工藝卡對象”與系統其他對象的關聯。根據工藝卡對象屬性的取值的數目,工藝卡屬性可以劃分為兩部分。一種是該屬性在一個對象中只能有一個取值,這種屬性如零部件圖號、零部件名稱、零部件材料、編制者、編制日期等;另一種是該屬性在一個對象中可以有多個取值,這種屬性如序號、工種、工步內容、車間、設備、工裝、額定工時、準備工時等。
基于上述分析,可將工藝卡對象拆分為兩個相互關聯的新對象,一個稱“工藝卡主表”,一個稱“工藝卡副表”。“工藝卡主表”對象包含原工藝卡對象中所有取值數目只能為一的屬性;“工藝卡副表”對象包含原工藝卡對象中所有取值數目可能大于一的屬性。其中“工藝卡主表”中的屬性還可以分成兩類:一類是“工藝卡主表”本身特有的屬性,如編制者、編制日期等;另一類并非“工藝卡主表”本身特有的屬性而是存在于其他對象中只是反映在工藝卡主表中的屬性,比如零部件圖號、零部件名稱、零部件材料,這些屬性存在于“產品零部件明細表”中,工藝卡主表中相應的屬性只是對它的一種再現。最終得到“工藝卡主表”、“工藝卡副表”、“產品零部件明細表”之間的關聯(圖2)。
圖2 工藝卡主衰、工藝卡副表、產品零部件明細表之間的關聯
第3步:將用戶的“工藝卡”在系統中映射成一個視圖。
映射視圖的定義為:
第4步:將各個對象的自身約束操作映射成各數據庫表的有效性規則和默認值,這在定義數據庫表時作為表的一部分被同時定義,對于更復雜的規則可以通過把它們映射成“存儲過程( stored procedure)”或“觸發器(trigger)”來實現。
第5步:將對象的其他操作映射成相應的事件驅動下的消息處理程序。如“保存工藝卡”操作被映射成消息處理程序ue_save()。
第6步:實現各消息處理程序。
至此,實現了CAPP系統的“工藝卡”對象的具體應用。2.2 CAPP系統的域分析所謂CAPP域,就是CAPP系統,應用需求的問題及其背景知識。域分析的主要任務是針對單個或一族相似的域,以重用為目標,尋找并挖掘域或域族中能夠公用的部分。
在CAPP系統中,所有數據都以數據庫表的形式存放在計算機中,這些數據庫表可以分為這樣幾類:一類是CAPP系統的輸出結果,主要是工藝卡主表和工藝卡副表;另一類是CAPP系統運行的支撐數據庫,如零部件明細表,車間設備表,工時系數表,零件工裝表,型鋼規格表,知識庫等。
圖3 工藝過程卡
對于所有這些數據庫表,系統都必須向用戶提供完善的數據庫維護的功能,即提供錄入、刪除、修改、插入、檢索、打印等功能。所有這些操作的實現都是相同的,所不同的只是操作實施的對象。如果對每一個數據庫表都設計一個維護窗口,不僅增加CAPP系統開發的工作量,而且對系統的可靠性和可維護性都將帶來不利的影響。
基于軟件重用的思想,在CAPP系統中設計了一個通用的數據庫維護窗口,內含一個抽象的數據庫表,在其基礎之上實現數據庫維護的功能。對應于具體的某個數據庫表,只須在運行時將通用數據庫維護窗口和它相連即可。這樣就實現了所有的數據庫表共用一個數據庫維護窗口,操作與操作的對象分離。數據庫表的改動不影響數據庫維護窗口,反之亦然。這給CAPP的實現與維護帶來極大的便利。
CAPP系統的選單設計中采用對象建模技術實現選單的重用,整個系統盡管功能復雜,但選單數目卻只有3個,圖3即采用對象建模技術開發的農機產品CAPP系統工藝過程卡選單。
3 結論
采用基于對象模型方法進行CAPP系統的設計,實現簡單,系統功能的可擴充性與可維護性都比較強,并可提高選單的可重用性,即CAPP系統開發過程中,只需開發一個編輯窗口,而非對應每一個數據表開發相應的編輯窗口。當數據表發生結構改變時可通過修改數據窗口來實現。采用這種方法,同一個選單就可以被不同的窗口所共用,系統的開發效率大大提高,同時系統的結構也非常合理,根據作業機的主體結構相似性,可應用于各類農機制造的工藝設計過程。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/