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