0 引言
CAPP系統(tǒng)的總體設(shè)計在軟件開發(fā)中占有非常重要的地位,總體結(jié)構(gòu)設(shè)計的好壞,不僅影響著系統(tǒng)的效率、維護性和擴展性,更影響系統(tǒng)使用的方便性和可靠性。同樣,數(shù)據(jù)庫設(shè)計在CAPP系統(tǒng)開發(fā)中也起著重要作用。本文對如何合理設(shè)計及使用表、視圖和存儲過程等數(shù)據(jù)庫對象及事務(wù)的合理使用進行說明。
1 總體設(shè)計
1.1方案設(shè)計
該套系統(tǒng)的總體結(jié)構(gòu)是根據(jù)鍋爐冷作部件加工制造流程和企業(yè)現(xiàn)有計算機硬件情況等因素決定的。由于該系統(tǒng)使用人員主要是工藝員,用戶數(shù)量不大,且使用地點相對固定,而系統(tǒng)需要處理的數(shù)據(jù)量大而復(fù)雜,交互性、實時性和安全性要求較高,所以設(shè)計中采用客戶端/服務(wù)器(Client/Server,C/S)體系結(jié)構(gòu)。C/S結(jié)構(gòu)模式隨著網(wǎng)絡(luò)技術(shù)、操作系統(tǒng)和軟件技術(shù)的發(fā)展而不斷完善,具有較強的安全性和可靠性,它是通過客戶端與服務(wù)器端之間相對獨立和分工協(xié)作而實現(xiàn)的。
1.2系統(tǒng)組成
本套CAPP系統(tǒng)由用戶管理模塊、工藝文件信息管理模塊、知識管理模塊和工藝文件管理模塊等四部分組成,如圖1所示。
1.2.1用戶管理模塊
由于該系統(tǒng)是多用戶使用,根據(jù)制造企業(yè)的要求,不同的用戶擁有不同的權(quán)限,以保障系統(tǒng)的可靠運行以及工藝文件的安全。因此,系統(tǒng)提供了用戶管理模塊,該模塊由"用戶管理"、"崗位管理"和"權(quán)限管理"三個子模塊組成。它的使用者是冷作部門的系統(tǒng)管理員,其他人員無權(quán)使用。系統(tǒng)管理員利用此模塊,可以對冷作部門不同級別的用戶授予不同的權(quán)限。例如,可對一般工藝人員提供編制、修改、打印和預(yù)覽,以及查詢工藝等功能;而對高級用戶除提供一般用戶具有的權(quán)限外,還提供如工藝文件的審核和批準、工藝知識的編輯等一些高級功能的使用權(quán)限。
1.2.2工藝文件信息管理模塊
工藝文件信息管理模塊主要由"文件信息錄入"、"文件信息修改"和"文件信息瀏覽"三個子模塊組成。該模塊提供對冷作工藝文件信息的管理功能,為后面的工藝文件管理模塊打下基礎(chǔ)。
1.2.3知識管理模塊
知識管理模塊由"知識獲取"、"知識更新"和"知識摒棄"三個子模塊組成,該模塊提供的功能對本系統(tǒng)非常重要。該模塊存在的實際意義如下:制造企業(yè)零/部件工藝路線的安排,實際上處于一個動態(tài)變化過程之中,由于新材料、新設(shè)備和新加工刀具等因素的存在,工藝路線會發(fā)生變化。但這并不等于工藝路線的安排沒有規(guī)律可循,在一定時間段內(nèi),在工裝、設(shè)備、量檢具和刀具等因素不變的情況下,工藝路線的安排是有規(guī)律可循的。具體到該公司,其生產(chǎn)電站鍋爐中的冷作部件工藝路線更有特殊性,即冷作部件的工藝路線更具有穩(wěn)定性,易于實現(xiàn)工藝編制的計算機化。但從發(fā)展的眼光看,根據(jù)公司工藝專家總結(jié)出來的知識庫不是一成不變的,必須能實現(xiàn)知識庫的動態(tài)管理,這樣才能適應(yīng)公司的實際發(fā)展需要,系統(tǒng)才具有更長的生命力。
當冷作部件工藝路線發(fā)生變化,并且這種變化經(jīng)過一段時間的生產(chǎn)實踐檢驗,確認是可行的,即可通過知識管理模塊提供的功能,對原來儲存在數(shù)據(jù)庫中的工藝知識進行修改,將新的工藝知識存人數(shù)據(jù)庫,以便實現(xiàn)知識庫的更新,利用更新后的知識庫即可編制出符合當前工廠實際情況的工藝文件。知識管理模塊提供的功能屬于高級功能,因此,只有經(jīng)過系統(tǒng)管理員授權(quán)的用戶才能使用此功能。
1.2.4工藝文件管理模塊
工藝文件管理模塊由"工藝編制"、"工藝審核"、"工藝批準"、"查詢?yōu)g覽工藝"和"工藝打印預(yù)覽輸出"等子模塊組成。它主要負責工藝文檔的管理,包括生成新工藝文件、修改工藝、審核工藝、批準工藝、查詢工藝和打印輸出工藝文件等功能。工藝編制子模塊主要負責生成新的工藝文件,編輯修改工藝文件,直至工藝文件編制完成。審核工藝子模塊實現(xiàn)的功能是當工藝編制人員編制完工藝文件后,將工藝文件提交審核。具有審核權(quán)限的用戶對工藝進行審核,確認工藝文件是否合理。批準工藝子模塊實現(xiàn)的功能是當審核員審核確認工藝文件無誤后,將工藝文件提交批準。具有批準權(quán)限的用戶對工藝進行批準操作,確認工藝文件是否合格。查詢?yōu)g覽工藝模塊實現(xiàn)的功能是對經(jīng)批準合格的工藝文件進行瀏覽,但只能對工藝文件進行讀的操作,而不能對工藝文件進行任何寫的操作。因此,一般用戶都具有進行工藝文件查詢的權(quán)限。工藝打印預(yù)覽輸出子模塊包括輸出制造過程卡、輸出制造卡和按車間編號輸出制造過程卡三個模塊。
1.3系統(tǒng)層次結(jié)構(gòu)
本套系統(tǒng)的層次結(jié)構(gòu)中,服務(wù)器、客戶端PC和網(wǎng)絡(luò)等位于物理設(shè)備層。物理設(shè)備層之上的是操作系統(tǒng),服務(wù)器端采用Windows2000 Server,客戶端采用Windows2000或Windows XP Professional版本。服務(wù)器端的支持軟件MS SQL Server 2000位于Windows2000Server操作系統(tǒng)之上,為開發(fā)工具VisualBasic 6.0提供數(shù)據(jù)存取支持,如圖2所示。本系統(tǒng)位于層次結(jié)構(gòu)的最頂層。
數(shù)據(jù)庫是存儲、管理和操作數(shù)據(jù)的核心,其設(shè)計的主要任務(wù)是按照應(yīng)用的要求,為信息建立一個結(jié)構(gòu)合理、使用方便和效率較高的數(shù)據(jù)庫。數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織、描述和存儲,因而具有較小的冗余度,較高的數(shù)據(jù)獨立性和易于擴展性,并可為各種用戶共享。CAPP系統(tǒng)不單純地為個人或工藝部門服務(wù),而是為整個企業(yè)信息化服務(wù)。
因此必須使用網(wǎng)絡(luò)化的大型數(shù)據(jù)庫平臺。由于該企業(yè)的工藝數(shù)據(jù)量大且復(fù)雜,采用先進的穩(wěn)定的關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫是必然的。而且CAPP系統(tǒng)是一個能為企業(yè)提供數(shù)據(jù)查詢功能的系統(tǒng),管理著非常重要的產(chǎn)品數(shù)據(jù),對系統(tǒng)的可靠、穩(wěn)定性要求嚴格。Microsoft SQLServer 2000是一個運行于Windows操作系統(tǒng)上的高性能數(shù)據(jù)庫管理系統(tǒng)。它具有數(shù)據(jù)利用率高、安全性好、容錯性強和數(shù)據(jù)結(jié)構(gòu)完整等特點。因此,本系統(tǒng)選擇SQL Server 2000作為數(shù)據(jù)庫支持軟件。
2.1數(shù)據(jù)庫對象
2.1.1表
表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對象,定義為列的集合。由于SQL Server2000是關(guān)系型數(shù)據(jù)庫系統(tǒng),所以數(shù)據(jù)在表中是按行和列的格式組織排列的,每行代表唯一的一條記錄,而每列代表記錄中的一個域。表是使用其他數(shù)據(jù)庫對象的基礎(chǔ),所以它的設(shè)計最為重要。設(shè)計數(shù)據(jù)庫時,應(yīng)先確定需要什么樣的表,各表中都有哪些數(shù)據(jù)以及各個表的存取權(quán)限等。而要正確做到這一點,就必須對制造企業(yè)的業(yè)務(wù)流程及開發(fā)的CAPP系統(tǒng)數(shù)據(jù)流有充分的了解,同時表的結(jié)構(gòu)設(shè)計應(yīng)盡可能地符合三范式原則。只有這樣才能將數(shù)據(jù)冗余降到最低,且最大可能地保持數(shù)據(jù)的一致性。具體設(shè)計時應(yīng)注意以下問題:表所包含數(shù)據(jù)的類型;表的各列數(shù)據(jù)類型;哪些列允許空值;是否要使用默認設(shè)置或規(guī)則;所需索引的類型,哪里需要索引;哪些列是主鍵,哪些列是外鍵。
2.1.2視圖
視圖是保存在SQL Server數(shù)據(jù)庫中的SELECT查詢。視圖通常用來集中、簡化和自定義每個用戶對數(shù)據(jù)庫的不同認識。視圖可用作安全機制,方法是允許用戶通過視圖訪問數(shù)據(jù),而不授予用戶直接訪問視圖的權(quán)限。視圖具有如下優(yōu)點。
1)簡化數(shù)據(jù)操作。通常可將經(jīng)常使用的聯(lián)接、聯(lián)合查詢和選擇查詢定義為視圖,這樣,用戶每次對特定的數(shù)據(jù)執(zhí)行進一步操作時,不必指定所有條件和限定。例如,在編制工藝制造卡時,制造卡中的數(shù)據(jù)來源于產(chǎn)品工序表和產(chǎn)品工步表,如果用SQL語句實現(xiàn)對這兩個表中的相關(guān)數(shù)據(jù)的查詢,則實現(xiàn)起來的代碼比較復(fù)雜,如果將這兩個表中的相關(guān)數(shù)據(jù)定義為一個視圖,在每次需要查詢時只訪問這個視圖即可。該視圖定義如下列的含義,甚至當數(shù)據(jù)庫結(jié)構(gòu)改變時都不會影響用戶,故增加了邏輯數(shù)據(jù)獨立性,方便系統(tǒng)的維護。
2.1.3存儲過程
存儲過程是存儲在數(shù)據(jù)庫中能夠從外部源被調(diào)用和執(zhí)行,能夠接受0個或多個參數(shù)的T-SQL代碼塊,這些參數(shù)可以是輸入或輸出參數(shù),存儲過程也能夠返回用于說明過程狀態(tài)的單個整數(shù)值?。在數(shù)據(jù)庫管理系統(tǒng)中使用存儲過程,主要有以下三個優(yōu)點。
1)減少網(wǎng)絡(luò)通信流量。使用存儲過程,數(shù)據(jù)處理在服務(wù)器上完成,網(wǎng)絡(luò)上僅傳輸最終結(jié)果。而采用傳統(tǒng)編程方法,客戶端需要實現(xiàn)所有數(shù)據(jù)庫編程,通過網(wǎng)絡(luò)向服務(wù)器發(fā)出查詢或更新請求,并根據(jù)服務(wù)器發(fā)回的結(jié)果再發(fā)送新的請求,客戶端和服務(wù)器間交互占用了大量網(wǎng)絡(luò)資源。
2)執(zhí)行效率高。存儲過程是預(yù)編譯的,在首次運行一個存儲過程時,查詢優(yōu)化器對其進行分析、優(yōu)化,并給出最終存儲在系統(tǒng)表中的執(zhí)行方案。以后每次調(diào)用不再需要分析,從而避免了后續(xù)的執(zhí)行優(yōu)化和編譯這兩個階段,這為過程的執(zhí)行節(jié)省了時間。
3)標準組件式編程把完成某一數(shù)據(jù)庫處理的功能設(shè)計為存儲過程,可以在應(yīng)用程序中重復(fù)調(diào)用,一方面可以減輕程序編寫的工作量,另一方面可以提高程序的可移植性,提高了代碼的可重用性。把查詢封裝到存儲過程中,當存儲過程所描述的功能發(fā)生變化時,僅對服務(wù)器上的存儲過程進行修改和維護,不用修改客戶端應(yīng)用程序。相反,如果把查詢嵌入到應(yīng)用
程序中,當需求發(fā)生改變時,就需要修改程序中那部分代碼,并發(fā)布新的客戶端版本。
在本系統(tǒng)中大量使用了存儲過程,提高了系統(tǒng)的響應(yīng)時間,減少了與服務(wù)器之間的網(wǎng)絡(luò)通信量。例如為了實現(xiàn)刪除一份正在編輯的工藝文件而編寫的存儲過程如下:
2.1.4關(guān)系
關(guān)系表示表之間的連結(jié),使一個表中的外鍵引用另一個表中的主鍵。在關(guān)系數(shù)據(jù)庫中,關(guān)系能防止冗余的數(shù)據(jù)。表與表之間存在三種類型的關(guān)系。一對多關(guān)系;多對多關(guān)系;一對一關(guān)系。在本系統(tǒng)中,所創(chuàng)建的表之間的關(guān)系大多數(shù)是一對多的關(guān)系。例如,表Processes和Steps之間的關(guān)系就是典型的一對多的關(guān)系,Processes中的一個工序記錄行可以在Steps中有多個工步記錄行相匹配。通過在Processes和Steps之間創(chuàng)建關(guān)系,確保Steps和Processes之間的引用完整性。同時,在創(chuàng)建的此關(guān)系的屬性中,選中了級聯(lián)更新和級聯(lián)刪除復(fù)選框,在服務(wù)器端就確保了當更新或刪除Processes表中的記錄時,數(shù)據(jù)庫會自動在Steps表中將相關(guān)的列或記錄更新或刪除。所以合理的使用關(guān)系,可以極大地減小編程工作量,確保據(jù)的一致性。
Processes和Steps之間的關(guān)系如圖3所示。
2.2事務(wù)的應(yīng)用
2.2.1事務(wù)
數(shù)據(jù)庫系統(tǒng)中,事務(wù)是"一種機制,一個操作序列"。它包含一組數(shù)據(jù)庫操作命令,所有的命令作為一個整體一起向系統(tǒng)提交或撤銷操作請求,即要么都執(zhí)行,要么都不執(zhí)行。
2.2.2事務(wù)控制語句
通過應(yīng)用事務(wù),實現(xiàn)了要么將相關(guān)數(shù)據(jù)全部存入數(shù)據(jù)庫,要么一個數(shù)據(jù)也不能存人數(shù)據(jù)庫。不會出現(xiàn)一部分數(shù)據(jù)存入數(shù)據(jù)庫而另一部分沒有存人數(shù)據(jù)庫的情況。如在工藝知識管理模塊,由于工藝知識的完整是整個CAPP系統(tǒng)正確運行的基礎(chǔ),所以在進行編輯工藝知識時,使用了事務(wù),以確保工藝知識相關(guān)數(shù)據(jù)的完整性。
3 結(jié)語
本文以鍋爐冷作部件CAPP系統(tǒng)總體及數(shù)據(jù)庫設(shè)計為例,對該系統(tǒng)框架結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計相關(guān)問題進行了詳細的介紹,對于CAPP系統(tǒng)的整體架構(gòu)及其數(shù)據(jù)庫設(shè)計有一定的借鑒意義。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF