凌 勇
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
集成電路質(zhì)量信息庫系統(tǒng)(以下簡稱ICQID系統(tǒng))采用成熟穩(wěn)定的VB6.0做為開發(fā)工具,VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易地使用DAO/RDO/ADO連接數(shù)據(jù)庫;ICQID系統(tǒng)采用Access 2003作為數(shù)據(jù)庫,Access具有強(qiáng)大的數(shù)據(jù)處理、統(tǒng)計分析能力。利用Access的查詢功能,可以方便地進(jìn)行各類數(shù)據(jù)匯總、平均等統(tǒng)計。整個ICQID系統(tǒng)從符合操作簡便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成集成電路產(chǎn)品質(zhì)量信息添加、修改、刪除、查詢等操作,可以代替Excel電子表格用于企事業(yè)單位集成電路產(chǎn)品質(zhì)量信息管理。
ICQID系統(tǒng)主界面包括數(shù)據(jù)庫設(shè)置、數(shù)據(jù)庫查詢、信息提醒、報表打印、數(shù)據(jù)庫維護(hù)共五個功能模塊。各功能模塊主要功能如下:
(1)數(shù)據(jù)庫設(shè)置模塊
用于編輯Access數(shù)據(jù)庫數(shù)據(jù),可以直接添加、修改、刪除Access數(shù)據(jù)庫相關(guān)質(zhì)量信息數(shù)據(jù)。
(2)數(shù)據(jù)庫查詢模塊
用于查詢數(shù)據(jù)庫數(shù)據(jù),可以通過“電路型號”、“封裝形式”、“反饋受理時間”、“反饋單號”以及“當(dāng)前處理狀態(tài)”共5種查詢方式查詢相關(guān)質(zhì)量信息數(shù)據(jù)。
(3)信息提醒模塊
用于“在辦事項(xiàng)”提醒以及“超期事項(xiàng)”提醒;在辦事項(xiàng)是指“當(dāng)前處理狀態(tài)”為“處理中”的相關(guān)質(zhì)量信息數(shù)據(jù);而超期事項(xiàng)是指“當(dāng)前處理狀態(tài)”為“處理中”,并且“預(yù)計閉環(huán)時間”超過“當(dāng)前時間”的相關(guān)質(zhì)量信息數(shù)據(jù)。
(4)報表打印模塊
用于打印任意日期所在的周、月、年質(zhì)量反饋統(tǒng)計報表。
(5)數(shù)據(jù)庫維護(hù)模塊
用于注銷當(dāng)前用戶以及編輯修改用戶名和登錄密碼,維護(hù)數(shù)據(jù)庫系統(tǒng)安全。
ICQID系統(tǒng)功能結(jié)構(gòu)如圖1所示。
圖1 ICQID系統(tǒng)功能結(jié)構(gòu)圖
E-R圖又稱實(shí)體-聯(lián)系圖(Entity-Relation Diagram),主要用于建立數(shù)據(jù)模型。E-R圖提供了表示實(shí)體(即數(shù)據(jù)對象)、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。在ICQID系統(tǒng)中,質(zhì)量信息實(shí)體包括電路型號、封裝形式、異常描述、處理結(jié)果等屬性。質(zhì)量信息實(shí)體E-R圖如圖2所示。
根據(jù)E-R圖在Access數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表,系統(tǒng)數(shù)據(jù)庫主要包括質(zhì)量信息表和系統(tǒng)維護(hù)表。質(zhì)量信息表(database1)主要用于存儲質(zhì)量信息,其結(jié)構(gòu)如表1所示。系統(tǒng)維護(hù)表(login)主要用于存儲用戶登錄信息,其結(jié)構(gòu)如表2所示。
表1 質(zhì)量信息表邏輯結(jié)構(gòu)
表2 系統(tǒng)維護(hù)表邏輯結(jié)構(gòu)
圖2 質(zhì)量信息實(shí)體E-R圖
在ICQID系統(tǒng)中采用目前流行的ActiveX Data Objects(以下簡稱ADO)數(shù)據(jù)庫訪問技術(shù)[1]。ADO是建立在基于低層數(shù)據(jù)訪問接口OLE DB(對象連接與嵌入數(shù)據(jù)庫)技術(shù)上的數(shù)據(jù)對象,它通過ODBC方法同數(shù)據(jù)庫接口連接。ADO按照訪問和更新數(shù)據(jù)源的順序定義了對象模型,其功能結(jié)構(gòu)如圖3所示。
圖3 ADO對象結(jié)構(gòu)圖
4.1.1 窗體設(shè)計
在登錄模塊窗體中,Adodc控件主要用于連接系統(tǒng)維護(hù)表(login),窗體運(yùn)行界面如圖4所示。
4.1.2 代碼設(shè)計
登錄模塊用于輸入用戶名和密碼,如果輸入正確,則系統(tǒng)進(jìn)入主頁面;否則提示出錯。關(guān)鍵代碼如下:
圖4 登錄窗體界面
4.2.1 窗體設(shè)計
在數(shù)據(jù)庫編輯模塊中,Adodc控件主要用于連接質(zhì)量信息表(database1);Datagrid控件主要用于顯示數(shù)據(jù)庫數(shù)據(jù)。窗體運(yùn)行界面如圖5所示。
圖5 數(shù)據(jù)庫編輯模塊窗體界面
4.2.2 代碼設(shè)計
數(shù)據(jù)庫編輯模塊同時采用了richtextbox控件和textbox控件,textbox控件使用excute方法直接讀寫Access數(shù)據(jù);而richtextbox控件不支持excute方法,每個richtextbox控件內(nèi)容需要另存為rtf格式臨時文件,并將臨時文件轉(zhuǎn)換成二進(jìn)制數(shù)后,才能和Access交換數(shù)據(jù)。關(guān)鍵代碼如下:
4.3.1 窗體設(shè)計
在報表打印模塊中,DTpicker控件主要用于選擇任意日期。窗體運(yùn)行界面如圖6所示。
圖6 報表打印模塊窗體界面
4.3.2 代碼設(shè)計
正確打印出相應(yīng)周、月、年統(tǒng)計報表的關(guān)鍵在于結(jié)構(gòu)化查詢語言(Structured Query Language)以及VB提供的weekday()、Montday()、Year()等時間函數(shù)的靈活運(yùn)用[2]。限于篇幅,下面僅列出“月統(tǒng)計報表打印”的設(shè)計代碼。
以下列出ICQID系統(tǒng)與Excel 2003電子表格性能綜合比測結(jié)果,詳見表3。
表3 ICQID系統(tǒng)與Excel 2003性能綜合比測
綜上所述,ICQID系統(tǒng)在信息錄入、信息查詢、信息存儲等集成電路產(chǎn)品質(zhì)量信息管理方面均優(yōu)于Excel 2003電子表格。
本文介紹了ICQID系統(tǒng)功能結(jié)構(gòu)、數(shù)據(jù)庫設(shè)計以及主要功能模塊設(shè)計。經(jīng)過實(shí)際測試證明,ICQID系統(tǒng)占用內(nèi)存較小,具備數(shù)據(jù)庫編輯、查詢、報表打印和信息提醒等多項(xiàng)功能,可以用于企事業(yè)單位集成電路產(chǎn)品質(zhì)量信息管理工作。由于ICQID系統(tǒng)基于Access數(shù)據(jù)庫,而Access是一種桌面數(shù)據(jù)庫,在處理單機(jī)訪問的數(shù)據(jù)庫時效率較高,但并發(fā)處理能力較弱(僅支持100人在線提交)。而且Access數(shù)據(jù)庫有一定的極限,假如數(shù)據(jù)達(dá)到100M左右,會很輕易造成服務(wù)器iis假死,或者消耗掉服務(wù)器的內(nèi)存導(dǎo)致服務(wù)器崩潰[3]。因此如果需要聯(lián)網(wǎng)處理海量數(shù)據(jù),SQL serevr數(shù)據(jù)庫可能是更好的選擇。
[1] 王國榮. Visual Basic 6.0數(shù)據(jù)庫程序設(shè)計[M].北京:人民郵電出版社,1999.34-53.
[2] 明日科技. 實(shí)戰(zhàn)突擊:Visual Basic項(xiàng)目開發(fā)案例整合[M].北京:電子工業(yè)出版社,2011.176-187.
[3] 崔洪芳. Access數(shù)據(jù)庫應(yīng)用技術(shù)[M].武漢:華中科技大學(xué)出版社,2009.100-105.