摘要:實驗是教學的重要組成部分,是學生實踐的主要陣地。傳統(tǒng)的實驗室管理主要采用手工方式,已經(jīng)遠遠不能滿足教學、管理的需要。該文設(shè)計了一個基于WEB的實驗室管理信息系統(tǒng),系統(tǒng)使用Jbuilder和DELPHI為主要開發(fā)工具,以MYSQL為后臺數(shù)據(jù)庫,實現(xiàn)了實驗室管理的信息化,有利于實驗信息的資源共享。
關(guān)鍵詞:WEB; 實驗室管理; C/S; B/S
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)33-9554-03
WEB-based Laboratory Information Management System Design and Implementation
QIN Qin
(Henan Institute of Engineering,Zhengzhou 450000,China)
Abstract: The experiment is an important part of teaching is that students are the main positions in practice. Laboratory management mainly in the traditional manual method has been far from being able to meet the teaching, management needs. This paper designed a WEB-based laboratory management information system, system uses Jbuilder and DELPHI as the main development tools in order to MYSQL as back-end database to achieve the laboratory management, information technology is conducive to experimental information, sharing of resources.
Key words: WEB; laboratory management; C/S; B/S
學校實驗室設(shè)備是學校的基本組成部分,是教學中必不可少的一部分。隨著高校招生規(guī)模的不斷擴大,各高校對實驗設(shè)備的投入也不斷增加,傳統(tǒng)的實驗室管理操作完全采用手工的方法,用手工來記錄信息,一切均由管理人員手工或用計算器完成,存在數(shù)據(jù)量大、保存不方便、不利于快速查詢信息等問題,工作效率極為低下。計算機技術(shù)的快速發(fā)展為實驗室管理信息化提供了有利的條件。為此,開發(fā)實驗室管理信息系統(tǒng),實現(xiàn)實驗室管理的現(xiàn)代化,節(jié)約人力和時間,提高工作效率已成為學校發(fā)展的需要。
1 系統(tǒng)功能分析
1.1 為實驗室管理人員提供管理工具
為院系級實驗室管理人員提供一個高效的實驗室管理工具,使其對本部門的實驗室情況有一個清晰的完整的掌握。從而協(xié)助本室人員提高實驗教學效率、儀器設(shè)備使用效率及實驗教學效果, 并能生成上級部門所需的各種報表。
1.2 為實驗室管理部門提供決策依據(jù)
給校級管理部門提供本校實驗教學、儀器設(shè)備、實驗教學人員等詳細的信息,從而為其評估本校實驗室工作提供詳細信息,并為實驗室決策提供依據(jù)。
1.3 架起溝通橋梁
為實驗室或上級實驗管理部門之間的信息交流與溝通提供一個快速的通道,提高工作效率。利用計算機和網(wǎng)絡(luò)對實驗室工作的相關(guān)信息和數(shù)據(jù)進行管理、開發(fā)出一套各院校通用的實驗室管理信息系統(tǒng)被證明是提高實驗室工作效率、促進實驗室工作規(guī)范化管理的有效解決方案。通過利用基于網(wǎng)絡(luò)的實驗室管理信息系統(tǒng)對學校的各級實驗室日常工作相關(guān)的信息, 包括靜態(tài)的各種人員、設(shè)備的數(shù)據(jù)資料或者動態(tài)的實驗教學過程及相關(guān)的記錄信息進行高效的管理,能夠有效保障實驗教學任務(wù)的順利完成,改善學生技能實踐環(huán)境,鞏固對理論知識的掌握,培養(yǎng)和提高他們的動手能力和綜合運用能力。
2 系統(tǒng)設(shè)計及實現(xiàn)
2.1 系統(tǒng)結(jié)構(gòu)
由于B/S與C/S結(jié)構(gòu)都有其優(yōu)缺點,綜合比較,本系統(tǒng)采用B/S+C/S體系結(jié)構(gòu),一些需要用WEB處理的、滿足大多數(shù)訪問者請求的功能界面采用B/S結(jié)構(gòu),一般的實驗室人員、教師、領(lǐng)導(dǎo)和學生可以通過瀏覽器進行信息的管理與維護以及查詢統(tǒng)計,這樣客戶端比較靈活。而后臺只需少數(shù)人使用的功能則采用C/S結(jié)構(gòu),如數(shù)據(jù)庫管理維護,各種數(shù)據(jù)的統(tǒng)計,各類報表的打印等。
系統(tǒng)的框架結(jié)構(gòu)如圖1所示。
在圖1可以看出, 整個系統(tǒng)軟件從功能上可以劃分為兩大部分:一是只有少數(shù)人使用的數(shù)據(jù)庫管理維護,各種數(shù)據(jù)的統(tǒng)計,各類報表的打印等操作,采用C/S體系結(jié)構(gòu);二是基于WEB的大多數(shù)用戶使用的信息管理與維護以及查詢等操作,這一部分采用B/S體系結(jié)構(gòu)。
2.2 系統(tǒng)功能模塊
根據(jù)系統(tǒng)功能分析,結(jié)合實際情況,具體功能模塊有:
1)用戶管理子模塊:對用戶進行登陸、注冊、審批、資料修改、權(quán)限授予等管理, 并根據(jù)不同的權(quán)限設(shè)置區(qū)分不同類型的人員。
2)簽到登錄子模塊:工作人員的上下班的簽到、簽退和有關(guān)信息的查詢以及學生的簽到和異常設(shè)備的報告與查詢等操作。
3)日常工作子模塊:對日常的設(shè)備維護工作進行登記或查詢, 對學年、學期、周、日工作計劃、工作總結(jié)等進行提交、修改和查詢管理。
4)網(wǎng)上預(yù)約子模塊:對實驗室的開放進行網(wǎng)上的預(yù)約處理, 可以進行發(fā)布預(yù)約、預(yù)約報名、審批預(yù)約、預(yù)約查詢等操作。
5)系統(tǒng)設(shè)置子模塊:對開學日期進行設(shè)置, 增加實驗分室、設(shè)備類型、零件類型、易耗品類型,對數(shù)據(jù)庫進行備份和還原等操作。
6)實驗課程管理子模塊:對實驗課程表、實驗指導(dǎo)、實驗項目等進行填寫、修改、查詢和刪除操作。
7)資產(chǎn)管理子模塊:對實驗室的設(shè)備資產(chǎn)、零配件、易耗品等進行入賬、修改和查詢等維護管理,還有借用、領(lǐng)用、轉(zhuǎn)移、更換、報廢等方面的申請、審批、處理、查詢的操作。
8)系統(tǒng)服務(wù)子模塊:對公告的發(fā)布、修改、刪除和查詢進行管理, 對記事本進行填寫、查看和刪除等操作, 以及對系統(tǒng)日志進行維護, 還有提供系統(tǒng)的幫助信息。
9)綜合查詢、統(tǒng)計、打印子模塊:對數(shù)據(jù)庫的信息進行統(tǒng)計、查詢、打印等處理, 還有對數(shù)據(jù)庫進行導(dǎo)入導(dǎo)出等操作, 主要是實驗室內(nèi)部管理機所用。
2.3 實驗室管理信息系統(tǒng)的實現(xiàn)
2.3.1 使用的軟件和相關(guān)技術(shù)
系統(tǒng)的WEB頁面的制作,采用目前比較流行的Jbuilder和Macromedia Dreamweaver,系統(tǒng)的C/S客戶端系統(tǒng)使用DELPHI作為開發(fā)工具。MYSQL是一種速度快、可靠性高, 并且易于使用的數(shù)據(jù)庫產(chǎn)品,而且價格便宜,因此,本系統(tǒng)使用MYSQL作為后臺數(shù)據(jù)庫。
2.3.2 系統(tǒng)主頁設(shè)計——系統(tǒng)主頁框架
頁面權(quán)限檢測(\\web\\popedom文件夾):登陸檢測還不能確保系統(tǒng)真正的安全性,為了保證權(quán)限的安全性,本文件夾所有的文件都可能被其它頁面包含,它們的作用是防止沒有那種權(quán)限的用戶登陸后利用文件路徑打開某個高極權(quán)限的頁面。
2.3.3 用戶身份驗證頁面設(shè)計
用戶身份驗證部分的文件包含幾個主要文件:一個是檢測登陸函數(shù),用于檢測登陸的用戶,利用已存在的內(nèi)部屬性用戶名userName和密碼password,還加上已激活的條件,搜索數(shù)據(jù)表userinfo,如果存在一個記錄,而表示登陸成功,并且令對象的其它屬性保存數(shù)據(jù)庫中相對應(yīng)的值,最后返回true;如果登陸不成功,則返回1;一個是據(jù)ID號從數(shù)據(jù)庫得到其它字段值函數(shù),利用已存在的內(nèi)部屬性用戶編號userID,搜索數(shù)據(jù)表userinfo,如果存在一個記錄,表示用戶名存在,并令對象的其它內(nèi)部屬性分別保存這個記錄相應(yīng)的值,最后返回true,否則表明用戶名不存在,返回1;一個是據(jù)用戶名從數(shù)據(jù)庫得到其它字段值的函數(shù),同上的“據(jù)ID號從數(shù)據(jù)表userinf。得到其它字段值”,只是依據(jù)己存在的內(nèi)部屬性userName值搜索數(shù)據(jù)庫;還有一個用戶注冊函數(shù),先設(shè)置默認的用戶權(quán)限設(shè)置在相應(yīng)的內(nèi)部屬性中,然后和已存在的對象的其它內(nèi)部屬性值一起保存到數(shù)據(jù)表userinfo中,操作成功返回true,否則返回1。
主要源代碼如下:
public boolean chkLogin()throws Exception{
DBConnect dbc=1;//引用鏈接數(shù)據(jù)庫類
ResultSet rs;//查詢數(shù)據(jù)集
Boolean ismaster;//是否有登陸權(quán)限
String act; //臨}時變量,指激動狀態(tài)
Act=\"是\";
try{
dbc=new DBConnect();
dbc.prepareStatement(\"SELECT*FROM userinfo WHERE userName=?and password=?and activation=?\");
dbc.setBytes(1,userName.getBytes(\"GB2312\")):
dbc.setBytes (2, password. getBytes (\"GB2312\"));
dbc.setBytes (3, act.getBytes(\"GB2312\"));
rs=dbc.executeQuery();
if(!rs.next())
{
ismaster = 1;
}else{
setUserID(rs.getInt(\"userID\"));
setUserName(rs.getString (\"userName\"));.
setPassword(rs.getString(\"password\"));
setRegisterType(rs.getString(\"registerType\"));
setRegisterDate(rs.getString(\"registerDate\"));
setAssetPopedom(rs.getString(\"assetPopedom\"));
setStusignPopedom(rs.getString(“stusignPopedom\"))
ismaster=true:
}
}catch (Exceptione){
System. err. println(e);
ismaster=1;
}finally{
try{
dbc.close();
}catch (Exceptione){
e.printStackTrace();
}
return ismaster;
2.3.4 數(shù)據(jù)庫備份與還原操作
基于B/S模式的開放實驗室管理信息系統(tǒng),以校園網(wǎng)為基礎(chǔ),在系部或中心設(shè)立中心數(shù)據(jù)庫服務(wù)器,存放本系統(tǒng)運行所需的數(shù)據(jù)庫信息。雖說遍布校園各個角落的高速校園網(wǎng)絡(luò)己初具規(guī)模,但是校園網(wǎng)存在著不穩(wěn)定,故障率較高的缺點。為了保證系統(tǒng)在校園網(wǎng)不全通的情況下依然能順利進行,為了便于信息的交流和共享,我們可以通過系統(tǒng)程序來進行數(shù)據(jù)庫的備份和還原等操作。
實現(xiàn)數(shù)據(jù)庫備份的函數(shù):
public boolean BackUp(String path){
runtime=Runtime.getRuntime();
process=1;
line==1;
is=1;
isr=1;
br=1;
if (path==1)
return 1;
path=CheckStr(path);
dir=GetDirectory(path);
dir=dir.replaceAll(\"/\",\"\\\\\\\\\\\\\\\\\");
cmd=\"cmd /c cd C:\\\\Program Files\\\\MySQL\\\\MySQLServer 4.1\\\\binmkdir\"+dir+\"mysqldump -u root lab>\";
cmd=cmd+path;
try{
process=runtime.exec(cmd);
is=process.getInputStream();
isr=new InputStreamReader(is);
br=new BufferedReader(isr);
System.out.println(\"
\");
while((line=br.readLine())!=1){
System.out.println(line);
System.out.flush();
}
System.out.println(\"\");
is.close();
isr.close();
br.close();
}
catch (IOExceptione){
System.out.println(e);
runtime.exit(1);
} return true;
}
3 結(jié)束語
本實驗室管理信息系統(tǒng)的運行,將實現(xiàn)實驗室管理的高效性、方便性、準確性和安全性,為改善工作質(zhì)量、提高工作效率發(fā)揮很好的作用。還可擴展服務(wù)范圍,有利于實現(xiàn)資源共享,使學校實驗室管理工作上一個新臺階。
參考文獻:
[1] 黃梯云.管理信息系統(tǒng)導(dǎo)論[M].北京:機械工業(yè)出版社,2000.
[2] 王星明,周山芙.管理系統(tǒng)中計算機應(yīng)用[M].武漢:武漢大學出版社,2003.
[3] 求實科技.ASP數(shù)據(jù)庫開發(fā)技術(shù)與工程實踐[M].北京:人民郵電出版社,2004.