摘要:實驗是教學的重要組成部分,是學生實踐的主要陣地。傳統的實驗室管理主要采用手工方式,已經遠遠不能滿足教學、管理的需要。該文設計了一個基于WEB的實驗室管理信息系統,系統使用Jbuilder和DELPHI為主要開發工具,以MYSQL為后臺數據庫,實現了實驗室管理的信息化,有利于實驗信息的資源共享。
關鍵詞: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
學校實驗室設備是學校的基本組成部分,是教學中必不可少的一部分。隨著高校招生規模的不斷擴大,各高校對實驗設備的投入也不斷增加,傳統的實驗室管理操作完全采用手工的方法,用手工來記錄信息,一切均由管理人員手工或用計算器完成,存在數據量大、保存不方便、不利于快速查詢信息等問題,工作效率極為低下。計算機技術的快速發展為實驗室管理信息化提供了有利的條件。為此,開發實驗室管理信息系統,實現實驗室管理的現代化,節約人力和時間,提高工作效率已成為學校發展的需要。
1 系統功能分析
1.1 為實驗室管理人員提供管理工具
為院系級實驗室管理人員提供一個高效的實驗室管理工具,使其對本部門的實驗室情況有一個清晰的完整的掌握。從而協助本室人員提高實驗教學效率、儀器設備使用效率及實驗教學效果, 并能生成上級部門所需的各種報表。
1.2 為實驗室管理部門提供決策依據
給校級管理部門提供本校實驗教學、儀器設備、實驗教學人員等詳細的信息,從而為其評估本校實驗室工作提供詳細信息,并為實驗室決策提供依據。
1.3 架起溝通橋梁
為實驗室或上級實驗管理部門之間的信息交流與溝通提供一個快速的通道,提高工作效率。利用計算機和網絡對實驗室工作的相關信息和數據進行管理、開發出一套各院校通用的實驗室管理信息系統被證明是提高實驗室工作效率、促進實驗室工作規范化管理的有效解決方案。通過利用基于網絡的實驗室管理信息系統對學校的各級實驗室日常工作相關的信息, 包括靜態的各種人員、設備的數據資料或者動態的實驗教學過程及相關的記錄信息進行高效的管理,能夠有效保障實驗教學任務的順利完成,改善學生技能實踐環境,鞏固對理論知識的掌握,培養和提高他們的動手能力和綜合運用能力。
2 系統設計及實現
2.1 系統結構
由于B/S與C/S結構都有其優缺點,綜合比較,本系統采用B/S+C/S體系結構,一些需要用WEB處理的、滿足大多數訪問者請求的功能界面采用B/S結構,一般的實驗室人員、教師、領導和學生可以通過瀏覽器進行信息的管理與維護以及查詢統計,這樣客戶端比較靈活。而后臺只需少數人使用的功能則采用C/S結構,如數據庫管理維護,各種數據的統計,各類報表的打印等。
系統的框架結構如圖1所示。
在圖1可以看出, 整個系統軟件從功能上可以劃分為兩大部分:一是只有少數人使用的數據庫管理維護,各種數據的統計,各類報表的打印等操作,采用C/S體系結構;二是基于WEB的大多數用戶使用的信息管理與維護以及查詢等操作,這一部分采用B/S體系結構。
2.2 系統功能模塊
根據系統功能分析,結合實際情況,具體功能模塊有:
1)用戶管理子模塊:對用戶進行登陸、注冊、審批、資料修改、權限授予等管理, 并根據不同的權限設置區分不同類型的人員。
2)簽到登錄子模塊:工作人員的上下班的簽到、簽退和有關信息的查詢以及學生的簽到和異常設備的報告與查詢等操作。
3)日常工作子模塊:對日常的設備維護工作進行登記或查詢, 對學年、學期、周、日工作計劃、工作總結等進行提交、修改和查詢管理。
4)網上預約子模塊:對實驗室的開放進行網上的預約處理, 可以進行發布預約、預約報名、審批預約、預約查詢等操作。
5)系統設置子模塊:對開學日期進行設置, 增加實驗分室、設備類型、零件類型、易耗品類型,對數據庫進行備份和還原等操作。
6)實驗課程管理子模塊:對實驗課程表、實驗指導、實驗項目等進行填寫、修改、查詢和刪除操作。
7)資產管理子模塊:對實驗室的設備資產、零配件、易耗品等進行入賬、修改和查詢等維護管理,還有借用、領用、轉移、更換、報廢等方面的申請、審批、處理、查詢的操作。
8)系統服務子模塊:對公告的發布、修改、刪除和查詢進行管理, 對記事本進行填寫、查看和刪除等操作, 以及對系統日志進行維護, 還有提供系統的幫助信息。
9)綜合查詢、統計、打印子模塊:對數據庫的信息進行統計、查詢、打印等處理, 還有對數據庫進行導入導出等操作, 主要是實驗室內部管理機所用。
2.3 實驗室管理信息系統的實現
2.3.1 使用的軟件和相關技術
系統的WEB頁面的制作,采用目前比較流行的Jbuilder和Macromedia Dreamweaver,系統的C/S客戶端系統使用DELPHI作為開發工具。MYSQL是一種速度快、可靠性高, 并且易于使用的數據庫產品,而且價格便宜,因此,本系統使用MYSQL作為后臺數據庫。
2.3.2 系統主頁設計——系統主頁框架
頁面權限檢測(\\web\\popedom文件夾):登陸檢測還不能確保系統真正的安全性,為了保證權限的安全性,本文件夾所有的文件都可能被其它頁面包含,它們的作用是防止沒有那種權限的用戶登陸后利用文件路徑打開某個高極權限的頁面。
2.3.3 用戶身份驗證頁面設計
用戶身份驗證部分的文件包含幾個主要文件:一個是檢測登陸函數,用于檢測登陸的用戶,利用已存在的內部屬性用戶名userName和密碼password,還加上已激活的條件,搜索數據表userinfo,如果存在一個記錄,而表示登陸成功,并且令對象的其它屬性保存數據庫中相對應的值,最后返回true;如果登陸不成功,則返回1;一個是據ID號從數據庫得到其它字段值函數,利用已存在的內部屬性用戶編號userID,搜索數據表userinfo,如果存在一個記錄,表示用戶名存在,并令對象的其它內部屬性分別保存這個記錄相應的值,最后返回true,否則表明用戶名不存在,返回1;一個是據用戶名從數據庫得到其它字段值的函數,同上的“據ID號從數據表userinf。得到其它字段值”,只是依據己存在的內部屬性userName值搜索數據庫;還有一個用戶注冊函數,先設置默認的用戶權限設置在相應的內部屬性中,然后和已存在的對象的其它內部屬性值一起保存到數據表userinfo中,操作成功返回true,否則返回1。
主要源代碼如下:
public boolean chkLogin()throws Exception{
DBConnect dbc=1;//引用鏈接數據庫類
ResultSet rs;//查詢數據集
Boolean ismaster;//是否有登陸權限
String act; //臨}時變量,指激動狀態
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 數據庫備份與還原操作
基于B/S模式的開放實驗室管理信息系統,以校園網為基礎,在系部或中心設立中心數據庫服務器,存放本系統運行所需的數據庫信息。雖說遍布校園各個角落的高速校園網絡己初具規模,但是校園網存在著不穩定,故障率較高的缺點。為了保證系統在校園網不全通的情況下依然能順利進行,為了便于信息的交流和共享,我們可以通過系統程序來進行數據庫的備份和還原等操作。
實現數據庫備份的函數:
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 結束語
本實驗室管理信息系統的運行,將實現實驗室管理的高效性、方便性、準確性和安全性,為改善工作質量、提高工作效率發揮很好的作用。還可擴展服務范圍,有利于實現資源共享,使學校實驗室管理工作上一個新臺階。
參考文獻:
[1] 黃梯云.管理信息系統導論[M].北京:機械工業出版社,2000.
[2] 王星明,周山芙.管理系統中計算機應用[M].武漢:武漢大學出版社,2003.
[3] 求實科技.ASP數據庫開發技術與工程實踐[M].北京:人民郵電出版社,2004.