王秀民, 孫霜青, 李春玲, 魯效慶, 胡松青
(中國石油大學(xué)(華東) 理學(xué)院, 山東 青島 266580)
理化實驗室管理信息系統(tǒng)的研究與實現(xiàn)
王秀民, 孫霜青, 李春玲, 魯效慶, 胡松青
(中國石油大學(xué)(華東) 理學(xué)院, 山東 青島 266580)
為了滿足材料物理與化學(xué)實驗室科學(xué)管理的需求,采用C#語言、Microsoft Visual Studio軟件開發(fā)工具和Microsoft Access數(shù)據(jù)庫技術(shù),設(shè)計開發(fā)了一套包括用戶管理、藥品庫存管理、儀器設(shè)備管理、實驗室消耗品庫存管理和庫存余量預(yù)警管理模塊的實驗室管理信息系統(tǒng)。經(jīng)過試用證明,該系統(tǒng)實用性強(qiáng)、操作簡單、運(yùn)行穩(wěn)定,能夠保證實驗室的高效運(yùn)行。
管理信息系統(tǒng); 實驗室管理; 消耗品管理; C#語言; 數(shù)據(jù)庫
隨著我國高等教育事業(yè)的發(fā)展,高校實驗室的建設(shè)呈現(xiàn)出規(guī)模大型化、結(jié)構(gòu)綜合化、系統(tǒng)復(fù)雜化、設(shè)備高檔化的趨勢[1]。高校實驗室不僅承擔(dān)著實驗教學(xué)、畢業(yè)設(shè)計教學(xué)等項工作,還要承擔(dān)大學(xué)生科技創(chuàng)新實驗和教師科研任務(wù)[2-4]。實驗室的科學(xué)化管理是完成教學(xué)任務(wù)和開展科研工作的有效保障。隨著計算機(jī)技術(shù)的快速發(fā)展和普及,我國高校實驗室管理信息系統(tǒng)的設(shè)計與研發(fā)不斷取得新的進(jìn)展[5-7]。中國石油大學(xué)(華東)材料腐蝕與防護(hù)專業(yè)實驗室經(jīng)過前期教學(xué)與科研成果的積累,現(xiàn)在已經(jīng)進(jìn)入高速發(fā)展期[8]。在學(xué)校經(jīng)費的支持下,實驗室購置了一些大型實驗儀器設(shè)備,實驗室承擔(dān)的教學(xué)和科研任務(wù)也在加重,實驗所需藥品及儀器配件的數(shù)量快速增加。面對越來越復(fù)雜的實驗室管理問題,僅僅利用Word、Excel等計算機(jī)辦公軟件已不能滿足實驗室高效運(yùn)行的管理需求。為此,筆者從實驗室管理者的角度,開發(fā)了一套適合實驗室管理的數(shù)字化實驗室管理信息系統(tǒng)。
1.1 需求分析
實驗室管理信息系統(tǒng)的使用者主要是實驗室管理者、指導(dǎo)學(xué)生實驗和進(jìn)行科研工作的教師。實驗室的管理者和使用者可以通過共享信息系統(tǒng)中實驗設(shè)備的使用情況、實驗消耗品的存量狀況等信息,實現(xiàn)實驗設(shè)備和消耗品的高效利用。
實驗室管理信息系統(tǒng)主要包括用戶管理模塊、藥品庫存管理模塊、實驗室消耗品庫存管理模塊、儀器設(shè)備管理模塊以及庫存余量預(yù)警模塊等。使用該系統(tǒng)的教師需要書面向系統(tǒng)管理者申請使用權(quán)限;系統(tǒng)管理者通過管理系統(tǒng)提供用戶的賬號,用戶通過賬號、密碼登錄系統(tǒng)。實驗室管理者可通過查看系統(tǒng)自動生成的數(shù)據(jù)報表,方便地了解實驗設(shè)備以及實驗消耗品的使用情況,及時提出采購計劃。軟件系統(tǒng)的開發(fā),促使實驗室藥品、配件、設(shè)備的管理實現(xiàn)數(shù)字化和系統(tǒng)化,更加科學(xué)、規(guī)范和高效[9-12]。
1.2 軟件開發(fā)環(huán)境
實驗室管理信息系統(tǒng)使用Microsoft Visual Studio工具開發(fā),利用該工具包編寫的應(yīng)用程序能用于所有微軟平臺[13]。利用Visual Studio數(shù)據(jù)窗口,先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后對原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),力求操作容易、界面美觀,直到形成穩(wěn)定、實用、可行的管理信息系統(tǒng)。整個系統(tǒng)的開發(fā)過程嚴(yán)格遵循軟件工程的要求,做到模塊化分析、模塊化設(shè)計和代碼編寫的模塊化。
實驗室管理信息系統(tǒng)中的多個子模塊都涉及大量的數(shù)據(jù)。為了便于數(shù)據(jù)的分析、處理、存儲和輸出等功能的實現(xiàn),系統(tǒng)的部分子模塊選擇Microsoft Access作為數(shù)據(jù)開發(fā)工具。Microsoft Access的用戶不用編寫代碼,就可以方便地開發(fā)出一個功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫,并且該數(shù)據(jù)庫界面友好、易學(xué)好用、開發(fā)簡單、接口靈活。
2.1 數(shù)據(jù)庫設(shè)計
在數(shù)據(jù)庫建立過程中,以藥品信息數(shù)據(jù)庫為例,首先要對實驗室內(nèi)各種藥品分類(例如固態(tài)、氣態(tài)、刺激性氣味等),然后判斷需要存儲的內(nèi)容,做到每項數(shù)據(jù)都有必要,所有的記錄不沖突,不出現(xiàn)重疊的信息或模糊的信息。
根據(jù)材料物理各類專業(yè)實驗室以及系統(tǒng)管理需要,建立數(shù)據(jù)庫并確定各數(shù)據(jù)庫的內(nèi)容如下:
(1) 用戶信息數(shù)據(jù)庫:姓名、管理權(quán)限、登錄密碼、聯(lián)系方式、備注;
(2) 藥品信息數(shù)據(jù)庫:中英文名稱、規(guī)格、產(chǎn)地、存放地、庫存總量、警戒庫存量、入庫量、備注;
(3) 藥品使用記錄數(shù)據(jù)庫:中英文名稱、使用量、使用者、使用目的、提取時間、備注;
(4) 儀器設(shè)備信息數(shù)據(jù)庫:名稱、品牌、資產(chǎn)號碼、產(chǎn)地、存放地、儀器數(shù)量、購買時間、設(shè)備單價、設(shè)備用途、備注;
(5) 儀器設(shè)備使用記錄數(shù)據(jù)庫:名稱、資產(chǎn)號碼、使用時間、故障信息、備注;
(6) 儀器設(shè)備借用記錄數(shù)據(jù)庫:名稱、借用量、借用者、使用地點、借用時間、歸還時間、使用目的、儀器狀況、備注。
2.2 軟件系統(tǒng)設(shè)計
軟件框架設(shè)計是以數(shù)據(jù)庫為核心,將實驗室藥品和藥品使用信息、儀器設(shè)備使用信息、儀器設(shè)備借用信息等都存儲在數(shù)據(jù)庫里(見圖1),軟件各個模塊直接與數(shù)據(jù)庫交換數(shù)據(jù),及時記錄藥品及消耗品的使用情況。實驗室各藥品庫存可以通過系統(tǒng)的查詢功能方便得到;通過數(shù)據(jù)操作工具可以很方便地生成、查看、打印各類數(shù)據(jù)報表。
圖1 軟件框架設(shè)計
通過實驗室管理信息系統(tǒng),實驗室管理者可以對實驗室運(yùn)行情況進(jìn)行數(shù)據(jù)分析,在余量預(yù)警工具的幫助下,及時補(bǔ)充庫存低于警戒線的藥品或配件,保證實驗教學(xué)的正常開展。
余量預(yù)警源代碼如下:
//建立數(shù)據(jù)庫連接
OleDbConnection^ MyConnection = gcnew OleDbConnection(″Provider=Microsoft.Jet.OLEDB.4.0;Data Source=″+Application::StartupPath+″\Lib.mdb″);
MyConnection->Open();
//判斷最低藥品
try
OleDbCommand^ MyCommand = gcnew OleDbCommand(″SELECT Drugs_code,Drugs_name_CH,Current_number ,Min_number,Storage_where FROM drugs where Current_number<=Min_number″,MyConnection);
OleDbDataAdapter^ MyAda = gcnew OleDbDataAdapter(MyCommand->CommandText,MyConnection );
DataSet^ MyDS = gcnew DataSet();
MyAda->Fill(MyDS);
dataGridView1->DataSource = MyDS->Tables[0]->DefaultView;
for(int i=0;i<5;i++) dataGridView1->Columns[i]->Width=100; dataGridView1->Columns[0]->HeaderText=″編號″;
dataGridView1->Columns[1]->HeaderText=″名稱″;
dataGridView1->Columns[2]->HeaderText=″當(dāng)前庫存″;
dataGridView1->Columns[3]->HeaderText=″最小庫存″;
dataGridView1->Columns[4]->HeaderText=″存放位置″;
catch(Exception^ MyEx)
MessageBox::Show(″獲取數(shù)據(jù)表信息出現(xiàn)錯誤:″+MyEx->Message,″信息提示″,MessageBoxButtons::OK,MessageBoxIcon::Information);
//最低藥品end
系統(tǒng)對儀器設(shè)備的使用情況進(jìn)行記錄和及時跟蹤,提供類似預(yù)約方式的管理,這樣不僅能有效地提高設(shè)備的利用率,也有利于儀器設(shè)備的管理與維護(hù)。
系統(tǒng)還提供了操作日志,每次對數(shù)據(jù)庫的操作都存儲于數(shù)據(jù)庫中。當(dāng)數(shù)據(jù)記錄出現(xiàn)問題,或者某設(shè)備管理出現(xiàn)問題時,可以提取日志查找原因,包括一些錯誤記錄導(dǎo)致庫存異常,也能很方便地查詢出錯原因。系統(tǒng)的操作日志功能為實驗室管理提供了可靠保障。
2.3 軟件的實現(xiàn)
根據(jù)實驗室管理信息系統(tǒng)的框架設(shè)計編寫數(shù)據(jù)庫操作代碼。操作代碼是整個管理系統(tǒng)的聯(lián)系紐帶,通過數(shù)據(jù)庫操作代碼,可以任意調(diào)用數(shù)據(jù)庫里的信息,這些信息可以顯示在系統(tǒng)界面上,也可以用于軟件模塊內(nèi)分析。數(shù)據(jù)庫操作代碼還具有把界面上任意信息添加到數(shù)據(jù)庫的功能,即將存儲數(shù)據(jù)記錄到數(shù)據(jù)庫中。修改和更新數(shù)據(jù)庫內(nèi)數(shù)據(jù)信息源代碼如下:
//修改更新數(shù)據(jù)
int CurrentNum,MaxNum,MinNum;
try
CurrentNum=System::Convert::ToInt32(this->textBox4->Text->Trim());
MaxNum=System::Convert::ToInt32(this->textBox5->Text->Trim());
MinNum=System::Convert::ToInt32(this->textBox6->Text->Trim());
//連接數(shù)據(jù)庫
OleDbConnection^ MyConnection = gcnew OleDbConnection(″Provider=Microsoft.Jet.OLEDB.4.0;Data Source=″+Application::StartupPath+″\Lib.mdb″);
寶玉爹喜歡坐一把木質(zhì)靠背椅,這椅子很沉,墨黑墨黑的,后面的靠背呈弧形,上面雕了花,還有獸物什么的,據(jù)說是他祖上留下來的,人稱太師椅。可惜的是,文化大革命的時候,一夜間當(dāng)上了“全無敵”戰(zhàn)斗兵團(tuán)司令的二狗伢,說那是四舊,封、資、修,派了兩個打手,強(qiáng)行將椅子搶走,砸爛,燒了,那是后話。
MyConnection->Open();
//組織數(shù)據(jù)庫查詢字符串
String^ MyUpStr=″UPDATE drugs Set drugs_name_CH=′″+this->textBox2->Text->Trim()+″′,drugs_name_EN=′″+this->textBox3->Text->Trim()+″′″;
MyUpStr+=″,Current_number=″+ CurrentNum+″ ,Max_number=″+ MaxNum+″, Min_number=″+ MinNum;
MyUpStr+=″,Mylevel=′″+this->textBox7->Text+″′,state=′″+this->textBox8->Text+″′,storage_where=′″+this->textBox9->Text+″′″;
MyUpStr+=″,Unit=′″+this->textBox10->Text+″′,Others=′″+this->richTextBox1->Text+″′″;
MyUpStr+=″ where drugs_code=′″+this->textBox1->Text->Trim()+″′″;
OleDbCommand^ MyUpdataCom=gcnew OleDbCommand(MyUpStr,MyConnection);
MyUpdataCom->ExecuteNonQuery();
MessageBox::Show(″數(shù)據(jù)修改成功!″,″信息提示″,MessageBoxButtons::OK,MessageBoxIcon::Information);
//更新數(shù)據(jù)庫數(shù)據(jù)
OleDbCommand^ MyCommand1 = gcnew OleDbCommand(″SELECT * FROM drugs″,MyConnection);
OleDbDataAdapter^ MyAda = gcnew OleDbDataAdapter(MyCommand1->CommandText,MyConnection );
DataSet^ MyDS = gcnew DataSet();
MyAda->Fill(MyDS);
dataGridView1->DataSource = MyDS->Tables[0]->DefaultView;
for(int i=0;i<10;i++)
dataGridView1->Columns[i]->Width=70;
dataGridView1->Columns[0]->HeaderText=″編號″;
dataGridView1->Columns[1]->HeaderText=″中文名″;
dataGridView1->Columns[2]->HeaderText=″英文名″;
dataGridView1->Columns[3]->HeaderText=″庫存″;
dataGridView1->Columns[4]->HeaderText=″最大庫存″;
dataGridView1->Columns[5]->HeaderText=″最小庫存″;
dataGridView1->Columns[6]->HeaderText=″級別″;
dataGridView1->Columns[7]->HeaderText=″狀態(tài)″;
dataGridView1->Columns[8]->HeaderText=″存放位置″;
dataGridView1->Columns[9]->HeaderText=″單位″;
dataGridView1->Columns[10]->HeaderText=″備注″;
//數(shù)據(jù)更新end
//操作日志記錄
logAddC l(″修改藥品信息″);
l.Add();
//處理完畢、關(guān)閉數(shù)據(jù)庫連接
MyConnection->Close();
catch(Exception^ MyEx) //輸出操作異常信息 MessageBox::Show(″數(shù)據(jù)修改失敗:″+MyEx->Message,″信息提示″,MessageBoxButtons::OK,MessageBoxIcon::Information);
//修改end實驗室管理信息系統(tǒng)的設(shè)計和實現(xiàn),均征求了專業(yè)教師和實驗室管理員的意見。目前,該系統(tǒng)已正式投入使用,開放對象是本專業(yè)實驗管理員。后期,將根據(jù)系統(tǒng)使用者的反饋意見對系統(tǒng)進(jìn)行完善升級。
加強(qiáng)實驗室資源的管理,尤其是加強(qiáng)大型儀器設(shè)備的共享管理,充分發(fā)揮其使用效率,是高校教學(xué)、科研及社會服務(wù)工作的重要保證。實驗室管理信息系統(tǒng)提高了大規(guī)模實驗室的管理效率,為實驗室資源共享、科學(xué)使用提供了較好的解決方案。
References)
[1] 左鐵鏞.高等學(xué)校實驗室建設(shè)的作用與思考[J].實驗室研究與探索,2011,30(4):2-6.
[2] 劉青,李華,趙克.基于ASP的開放式實驗管理系統(tǒng)的研究[J].實驗技術(shù)與管理,2004,21(5):71-73.
[3] 魏偉,胡瑋.高校實驗教學(xué)管理系統(tǒng)的創(chuàng)新與實踐[J].實驗技術(shù)與管理,2014,31(11):130-132.
[4] 韓東太,宋正昶,陳寧,等.實驗室面向畢業(yè)設(shè)計開放[J].實驗室研究與探索,2013,32(1):155-157.
[5] 楊官平.B/S結(jié)構(gòu)的實驗儀器設(shè)備管理系統(tǒng)的研究[J].計算機(jī)工程與設(shè)計,2007,28(21):5238-5240.
[6] 梁瑾,聶瑞華.基于NET的隨機(jī)庫存管理信息系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)工程與應(yīng)用,2004(17):212-217.
[7] 孫紅敏,沈維政.高校實驗室設(shè)備管理系統(tǒng)的設(shè)計與開發(fā)[J],佳木斯大學(xué)學(xué)報:自然科學(xué)版,2007,25(2):234-238.
[8] 孫霜青.材料腐蝕與防護(hù)實驗教學(xué)改革[J].科技信息,2012(12):125-126.
[9] 謝雪梅,趙彬彬.高校實驗室管理系統(tǒng)的研究[J].科技信息,2008(35):26-27.
[10] 郭濤,謝琨.高校實驗室建設(shè)的探索與實踐[J].實驗室研究與探索,2013,32(9):222-224.
[11] 高俊敏,袁榮煥,劉元元.加強(qiáng)高校實驗儀器設(shè)備管理,提高實驗設(shè)備利用效率[J].實驗技術(shù)與管理,2008,25(9):173-175.
[12] 張立.C#寶典[M].北京:電子工業(yè)出版社,2007.
[13] 盧少然,俞守華.高校設(shè)備管理決策支持系統(tǒng)的設(shè)計與開發(fā)[J].實驗技術(shù)與管理,2006,23(10):143-146.
Research and realization of management information system of physics and chemistry laboratory
Wang Xiumin, Sun Shuangqing, Li Chunling, Lu Xiaoqing, Hu Songqing
(College of Science, China University of Petroleum, Qingdao 266580, China)
To meet the needs of scientific management of material physics and chemistry laboratory, a laboratory management information system was designed using the C# language, the Microsoft Visual Studio software development tools and the Microsoft Access database technology. There are five different modules in this system, including user management,medicine inventory management, instruments and equipment management, laboratory consumables inventory and inventory balance early warning. After the trial, the system runs stably and can ensure the efficient operation of the laboratory.
management information system; laboratory management; C# language; database
2014- 12- 25
山東省自然科學(xué)基金項目(ZR2014EL003);中國石油大學(xué)(華東)教學(xué)實驗技術(shù)改革類項目(SY-B201403;SY-B201215)
王秀民(1976—),男,山東壽光,碩士,實驗師,從事實驗室管理工作.
E-mail:wangxiumin@upc.edu.cn
TG311
B
1002-4956(2015)8- 0134- 03