杜博
(榆林學院 信息工程學院,陜西 榆林 719000)
隨著學校規模的不斷擴大,校園網的普及,學校實驗室的硬件設施越來越好,學科之間的相互滲透發展,實驗室在高等院校進行全面的素質教育、培養高質量的人才中發揮著越來越重要的作用。如何最大限度地提高實驗室的科學管理水平和使用效率,減輕實驗室管理員的工作,使實驗室的管理和使用更加規范、有序是高校目前迫切需要解決的問題[1-3],正是在這個基礎上創建了實驗室管理系統。
實驗室管理系統是在傳統實驗室的基礎上,利用先進的計算機技術、網絡通信技術、數據庫技術等相關的技術,將實驗室中的各種實驗資源進行處理,并通過計算機進行開放型管理,其重要意義是使得實驗室在時間和空間上得以延伸。
利用該功能,管理人員不必手動記錄和計算實驗室資源的使用情況,就可以及時處理實驗室預約使用請求,掌握教師和學生的實驗安排。實驗室管理系統以計算機為工具,通過對實驗室信息的管理,把管理人員從繁瑣的數據計算處理中解脫出來,使其有更多的精力從事其他管理政策的研究實施,實驗計劃的制定執行監督檢查,從而全面提高管理質量和管理效率,降低了管理成本。
利用該功能,教師可以登錄實驗室預約系統,預約實驗室,安排實驗任務,查看實驗報告,批改回復實驗報告。節約了工作時間,提高了工作效率,為高校素質教育的全面開展提供技術支持。
信息化管理后的實驗室從學生來看,更是一個以學生為中心的、開放性的、人性化的實驗支持服務系統,學生可以方便快捷的查詢實驗室任務,提交實驗報告,查看實驗成績,最大限度地提高了學習效率。
利用資源管理子系統,管理人員可以通過網絡完成發布通知公告,實驗室資源管理,教師信息管理,學生信息管理等工作。通過為實驗室資源管理建立模型,得到了圖1所示的實驗室資源管理用例圖。
利用學生子系統,學生可以登錄網站完成實驗選課,提交實驗報告,預約實驗等工作,同樣,該系統也為學生子系統建立模型,得到了圖2所示的學生子系統用例圖。

圖1 實驗室資源管理用例圖Fig.1 Lab resources management use case diagram

圖2 學生子系統用例圖Fig.2 Student subsystem use case diagram
利用教師子系統,教師可以登錄網站完成實驗監控,查看實驗報告,預約實驗室等工作,同樣,該系統也為教師子系統建立模型,得到了圖3所示的教師子系統用例圖。

圖3 教師子系統用例圖Fig.3 Teacher subsystem use case diagram
基于對C/S與B/S模式的分析,將系統定位為B/S模式的多層體系架構,多層結構從邏輯上相互獨立,某一層的變動通常不影響其他層,具有很高的可重用性。多層結構的優點還可以利用單一的訪問點,可以在任何地方訪問站點的數據庫。所有的信息都可以用相同的界面訪問。可跨平臺操作,具有良好的開放性。支持異種數據庫[4]。
實驗室管理系統由資源管理、教師管理和學生管理3大功能組成的。系統功能結構如4圖所示。

圖4 實驗室管理系統功能結構圖Fig.4 Function and structure diagram of laboratory management system
數據庫是開放式實驗室管理系統的基礎,開放式實驗室管理系統是在數據庫管理系統(DBMS)[5]的支持下完成信息的搜索、整理、存儲、檢索、更新、加工、統計與發布等功能。本實驗室管理系統的成敗在很大程度上取決于數據庫設計的合理性。數據庫設計的主要任務如圖5所示:

圖5 數據庫設計的主要任務Fig.5 Main mission of database design
數據庫設計中,根據用戶的信息需求、處理需求以及數據庫運行環境的特性,設計出合理的數據模式,確定數據庫選型,確定數據庫的安全保密措施和共享機制。
在數據訪問組件中,利用對象池[6]的目的對象的共享,可以最大限度地最小化多個客戶機的對象初始化成本。雖然每次創建對象的第一個客戶端會降低性能,但只要該客戶端釋放了對象,該對象就立即返回對象池中,由于不必再等待對象的構建,下一個客戶端創建的實例,這樣就大大地降低了系統成本,減輕數據庫服務器的開銷。對象池的具體應用過程如圖6所示。

圖6 對象池技術示例圖Fig.6 Diagram of object pooling
為了增加管理系統的靈活性,便于該系統與其他異構系統進行集成,系統的業務邏輯層采用Web Services來實現,下面是系統涉及到的主要Web Service方法:
1)Get Laboratory(ID)方法 該方法得到編號為 ID的實驗室的時間安排列表,并按時間段排序。
2)Get Student List(time)方法 該方法從時間段列表中選取時間,并查找該實驗室該段時間學生列表。
3)Test Time(ID)方法 該方法驗證該學生上機時間是否在實驗上機時間內。
4)LockID(Manageid)方法 該方法保存該管理人員的服務對象,以及開始時間,防止關閉頁面后信息丟失。
5)Update Account(ID)方法 該方法每一分鐘更新一次結果。
6)Arrangement Of Lab Account()方法 該方法調用其他Web Services方法,進行管理。
在支持 AJAX的網頁中,瀏覽器向服務器發出對頁面的初始請求,然后向Web服務發出對數據的后續異步請求。客戶端通信元素采用代理類和核心客戶端腳本庫的形式。服務器通信元素是處理程序和自定義服務。
目前實現AJAX應用有如下幾種方式:
1)完全手工自己打造AJAX,可能對大多數人而言,太困難也太耗時;
2)使用微軟callback方式,只支持ASP.NET 2.0[7];
3)使用AJAX現成Library,快速容易;
4)微軟的 ALtas Project,只支持 ASP.NET 2.0。
該系統采用的是第三種方式,利用現有的成熟的AJAX開發包在微軟.Net平臺下完成Web開發。實現步驟如下:
1)在工程項目添加引用ajax.dll;
2)在工程配置文件web.config中設置Ajax引擎替代瀏覽器默認的HttpHandler;
3)在Page_Load事件函數中注冊AJAX組件類型:Ajax.Utility.RegisterTypeForAjax(GetType(Index));
4)在頁面實現文件中加入AJAX方法;
5)在JavaScript腳本中直接調用AJAX[8]方法,基本形式為:PageClass.theAjaxMethod()
AJAX實現異步響應的列表中的cityResult事件就具有在客戶端程序中才會有的事件監聽功能,具體的設計如下所示:
3層對應的文件對象:Register.aspx(視圖)、Register.aspx.cs(控制器)、AjaxMethod.cs(模型)。
Register.aspx是用戶看到的界面,并通過內置的AJAX對象異步方式給Register.aspx.cs發送請求。
Register.aspx.cs接收到 Register.aspx發過來的請求(get或者post方式),判斷后發送給相應的業務/數據模型 A-jaxMethod.cs。
AjaxMethod.cs開始執行業務操作,執行完畢直接給Register.aspx頁面發送數據更新的通知,這個通知的消息有可能是XML封裝的數據。
Register.aspx頁面中為AJAX對象接收到了數據更新通知,根據實際情況用DOM進行頁面呈現更新。
經過調研國內外實驗室管理系統[9]現狀的基礎上,分析了國內高校目前在實驗室管理上存在的問題,落后的管理手段和越來越高的管理要求之間的矛盾嚴重制約著高校實驗教學質量的提高。
論文就基于Web的實驗室管理系統的設計和實現以及采用的相關技術進行了較為深入和全面的分析,探討了選擇Visual studio.net 2005作為系統開發工具,在.NET框架下采用 B/S 三層架構體系,使用 Microsoft SQL Server 2005、c#、和asp.net等技術來分析、設計和開發實驗室管理系統。基本實現了基于.NET平臺開發Web版的實驗室管理系統的設計與開發,符合高校實驗教學和管理的需求。
[1]陳佩民.計算機實驗室管理系統的開發研究[J].科技咨詢導報,2007(22):178.
CHEN Pei-min.Development and research of laboratory management system[J].Science and Technology Consulting Herald,2007(22):178.
[2]蘇新,畢經存,陳利文,等.實驗室開放式管理的探討與研究[J].實驗室研究與探索,2003,22(5):139-144.
SU Xin,BI Jing-cun,CHEN Li-wen,et al.Discussion and investigation on lab management in opening mode[J].Research and Exploration in Laboratory,2003,22(5):139-144.
[3]李云,黃家瑜.實驗室信息管理系統的設計與實現[J].實驗室研究與探索,2005,4(10):52-55.
LI Yun,HUANG Jia-yu.Design and realization of a laboratory information management system[J].Research and Exploration in Laboratory,2005,4(10):52-55.
[4]薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000.
[5]孟小峰.WEB數據庫管理研究綜述[J].計算機研究與發展,2001,12(4):385-395.
MENG Xiao-feng.An overview of WEB database management[J].Journal of Computer Research and Development,2001,12(4):385-395.
[6]蔡明山.高校實驗室綜合管理系統研究與設計[D].長沙:湖南大學,2003.
[7]周奕,謝煌.基于網絡的院級實驗室管理信息系統設計與開發[J].信息技術與信息化,2007(2):126-128.
ZHOU Yi,XIE Huang.A MIS design and development of college-level experimental center based on the Web[J].Information Technology and Informatization,2007(2):126-128.
[8]McDowall R.D.Amatrix for a LIMS with a strategic focus[J].Laboratory Automation&Infonmation Management,1995(31):57-64.
[9]葉繼英,胡即明.實驗室管理系統設計[J].現代電子技術,2009(14):101-102,106.
YE Ji-ying,HU Ji-ming.Design of laboratory management system[J].Modern Electronics Technique,2009(14):101-102,106.