杜博
(榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)
隨著學(xué)校規(guī)模的不斷擴(kuò)大,校園網(wǎng)的普及,學(xué)校實(shí)驗(yàn)室的硬件設(shè)施越來越好,學(xué)科之間的相互滲透發(fā)展,實(shí)驗(yàn)室在高等院校進(jìn)行全面的素質(zhì)教育、培養(yǎng)高質(zhì)量的人才中發(fā)揮著越來越重要的作用。如何最大限度地提高實(shí)驗(yàn)室的科學(xué)管理水平和使用效率,減輕實(shí)驗(yàn)室管理員的工作,使實(shí)驗(yàn)室的管理和使用更加規(guī)范、有序是高校目前迫切需要解決的問題[1-3],正是在這個(gè)基礎(chǔ)上創(chuàng)建了實(shí)驗(yàn)室管理系統(tǒng)。
實(shí)驗(yàn)室管理系統(tǒng)是在傳統(tǒng)實(shí)驗(yàn)室的基礎(chǔ)上,利用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫(kù)技術(shù)等相關(guān)的技術(shù),將實(shí)驗(yàn)室中的各種實(shí)驗(yàn)資源進(jìn)行處理,并通過計(jì)算機(jī)進(jìn)行開放型管理,其重要意義是使得實(shí)驗(yàn)室在時(shí)間和空間上得以延伸。
利用該功能,管理人員不必手動(dòng)記錄和計(jì)算實(shí)驗(yàn)室資源的使用情況,就可以及時(shí)處理實(shí)驗(yàn)室預(yù)約使用請(qǐng)求,掌握教師和學(xué)生的實(shí)驗(yàn)安排。實(shí)驗(yàn)室管理系統(tǒng)以計(jì)算機(jī)為工具,通過對(duì)實(shí)驗(yàn)室信息的管理,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來,使其有更多的精力從事其他管理政策的研究實(shí)施,實(shí)驗(yàn)計(jì)劃的制定執(zhí)行監(jiān)督檢查,從而全面提高管理質(zhì)量和管理效率,降低了管理成本。
利用該功能,教師可以登錄實(shí)驗(yàn)室預(yù)約系統(tǒng),預(yù)約實(shí)驗(yàn)室,安排實(shí)驗(yàn)任務(wù),查看實(shí)驗(yàn)報(bào)告,批改回復(fù)實(shí)驗(yàn)報(bào)告。節(jié)約了工作時(shí)間,提高了工作效率,為高校素質(zhì)教育的全面開展提供技術(shù)支持。
信息化管理后的實(shí)驗(yàn)室從學(xué)生來看,更是一個(gè)以學(xué)生為中心的、開放性的、人性化的實(shí)驗(yàn)支持服務(wù)系統(tǒng),學(xué)生可以方便快捷的查詢實(shí)驗(yàn)室任務(wù),提交實(shí)驗(yàn)報(bào)告,查看實(shí)驗(yàn)成績(jī),最大限度地提高了學(xué)習(xí)效率。
利用資源管理子系統(tǒng),管理人員可以通過網(wǎng)絡(luò)完成發(fā)布通知公告,實(shí)驗(yàn)室資源管理,教師信息管理,學(xué)生信息管理等工作。通過為實(shí)驗(yàn)室資源管理建立模型,得到了圖1所示的實(shí)驗(yàn)室資源管理用例圖。
利用學(xué)生子系統(tǒng),學(xué)生可以登錄網(wǎng)站完成實(shí)驗(yàn)選課,提交實(shí)驗(yàn)報(bào)告,預(yù)約實(shí)驗(yàn)等工作,同樣,該系統(tǒng)也為學(xué)生子系統(tǒng)建立模型,得到了圖2所示的學(xué)生子系統(tǒng)用例圖。
圖1 實(shí)驗(yàn)室資源管理用例圖Fig.1 Lab resources management use case diagram
圖2 學(xué)生子系統(tǒng)用例圖Fig.2 Student subsystem use case diagram
利用教師子系統(tǒng),教師可以登錄網(wǎng)站完成實(shí)驗(yàn)監(jiān)控,查看實(shí)驗(yàn)報(bào)告,預(yù)約實(shí)驗(yàn)室等工作,同樣,該系統(tǒng)也為教師子系統(tǒng)建立模型,得到了圖3所示的教師子系統(tǒng)用例圖。
圖3 教師子系統(tǒng)用例圖Fig.3 Teacher subsystem use case diagram
基于對(duì)C/S與B/S模式的分析,將系統(tǒng)定位為B/S模式的多層體系架構(gòu),多層結(jié)構(gòu)從邏輯上相互獨(dú)立,某一層的變動(dòng)通常不影響其他層,具有很高的可重用性。多層結(jié)構(gòu)的優(yōu)點(diǎn)還可以利用單一的訪問點(diǎn),可以在任何地方訪問站點(diǎn)的數(shù)據(jù)庫(kù)。所有的信息都可以用相同的界面訪問??煽缙脚_(tái)操作,具有良好的開放性。支持異種數(shù)據(jù)庫(kù)[4]。
實(shí)驗(yàn)室管理系統(tǒng)由資源管理、教師管理和學(xué)生管理3大功能組成的。系統(tǒng)功能結(jié)構(gòu)如4圖所示。
圖4 實(shí)驗(yàn)室管理系統(tǒng)功能結(jié)構(gòu)圖Fig.4 Function and structure diagram of laboratory management system
數(shù)據(jù)庫(kù)是開放式實(shí)驗(yàn)室管理系統(tǒng)的基礎(chǔ),開放式實(shí)驗(yàn)室管理系統(tǒng)是在數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)[5]的支持下完成信息的搜索、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)與發(fā)布等功能。本實(shí)驗(yàn)室管理系統(tǒng)的成敗在很大程度上取決于數(shù)據(jù)庫(kù)設(shè)計(jì)的合理性。數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)如圖5所示:
圖5 數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)Fig.5 Main mission of database design
數(shù)據(jù)庫(kù)設(shè)計(jì)中,根據(jù)用戶的信息需求、處理需求以及數(shù)據(jù)庫(kù)運(yùn)行環(huán)境的特性,設(shè)計(jì)出合理的數(shù)據(jù)模式,確定數(shù)據(jù)庫(kù)選型,確定數(shù)據(jù)庫(kù)的安全保密措施和共享機(jī)制。
在數(shù)據(jù)訪問組件中,利用對(duì)象池[6]的目的對(duì)象的共享,可以最大限度地最小化多個(gè)客戶機(jī)的對(duì)象初始化成本。雖然每次創(chuàng)建對(duì)象的第一個(gè)客戶端會(huì)降低性能,但只要該客戶端釋放了對(duì)象,該對(duì)象就立即返回對(duì)象池中,由于不必再等待對(duì)象的構(gòu)建,下一個(gè)客戶端創(chuàng)建的實(shí)例,這樣就大大地降低了系統(tǒng)成本,減輕數(shù)據(jù)庫(kù)服務(wù)器的開銷。對(duì)象池的具體應(yīng)用過程如圖6所示。
圖6 對(duì)象池技術(shù)示例圖Fig.6 Diagram of object pooling
為了增加管理系統(tǒng)的靈活性,便于該系統(tǒng)與其他異構(gòu)系統(tǒng)進(jìn)行集成,系統(tǒng)的業(yè)務(wù)邏輯層采用Web Services來實(shí)現(xiàn),下面是系統(tǒng)涉及到的主要Web Service方法:
1)Get Laboratory(ID)方法 該方法得到編號(hào)為 ID的實(shí)驗(yàn)室的時(shí)間安排列表,并按時(shí)間段排序。
2)Get Student List(time)方法 該方法從時(shí)間段列表中選取時(shí)間,并查找該實(shí)驗(yàn)室該段時(shí)間學(xué)生列表。
3)Test Time(ID)方法 該方法驗(yàn)證該學(xué)生上機(jī)時(shí)間是否在實(shí)驗(yàn)上機(jī)時(shí)間內(nèi)。
4)LockID(Manageid)方法 該方法保存該管理人員的服務(wù)對(duì)象,以及開始時(shí)間,防止關(guān)閉頁(yè)面后信息丟失。
5)Update Account(ID)方法 該方法每一分鐘更新一次結(jié)果。
6)Arrangement Of Lab Account()方法 該方法調(diào)用其他Web Services方法,進(jìn)行管理。
在支持 AJAX的網(wǎng)頁(yè)中,瀏覽器向服務(wù)器發(fā)出對(duì)頁(yè)面的初始請(qǐng)求,然后向Web服務(wù)發(fā)出對(duì)數(shù)據(jù)的后續(xù)異步請(qǐng)求??蛻舳送ㄐ旁夭捎么眍惡秃诵目蛻舳四_本庫(kù)的形式。服務(wù)器通信元素是處理程序和自定義服務(wù)。
目前實(shí)現(xiàn)AJAX應(yīng)用有如下幾種方式:
1)完全手工自己打造AJAX,可能對(duì)大多數(shù)人而言,太困難也太耗時(shí);
2)使用微軟callback方式,只支持ASP.NET 2.0[7];
3)使用AJAX現(xiàn)成Library,快速容易;
4)微軟的 ALtas Project,只支持 ASP.NET 2.0。
該系統(tǒng)采用的是第三種方式,利用現(xiàn)有的成熟的AJAX開發(fā)包在微軟.Net平臺(tái)下完成Web開發(fā)。實(shí)現(xiàn)步驟如下:
1)在工程項(xiàng)目添加引用ajax.dll;
2)在工程配置文件web.config中設(shè)置Ajax引擎替代瀏覽器默認(rèn)的HttpHandler;
3)在Page_Load事件函數(shù)中注冊(cè)AJAX組件類型:Ajax.Utility.RegisterTypeForAjax(GetType(Index));
4)在頁(yè)面實(shí)現(xiàn)文件中加入AJAX方法;
5)在JavaScript腳本中直接調(diào)用AJAX[8]方法,基本形式為:PageClass.theAjaxMethod()
AJAX實(shí)現(xiàn)異步響應(yīng)的列表中的cityResult事件就具有在客戶端程序中才會(huì)有的事件監(jiān)聽功能,具體的設(shè)計(jì)如下所示:
3層對(duì)應(yīng)的文件對(duì)象:Register.aspx(視圖)、Register.aspx.cs(控制器)、AjaxMethod.cs(模型)。
Register.aspx是用戶看到的界面,并通過內(nèi)置的AJAX對(duì)象異步方式給Register.aspx.cs發(fā)送請(qǐng)求。
Register.aspx.cs接收到 Register.aspx發(fā)過來的請(qǐng)求(get或者post方式),判斷后發(fā)送給相應(yīng)的業(yè)務(wù)/數(shù)據(jù)模型 A-jaxMethod.cs。
AjaxMethod.cs開始執(zhí)行業(yè)務(wù)操作,執(zhí)行完畢直接給Register.aspx頁(yè)面發(fā)送數(shù)據(jù)更新的通知,這個(gè)通知的消息有可能是XML封裝的數(shù)據(jù)。
Register.aspx頁(yè)面中為AJAX對(duì)象接收到了數(shù)據(jù)更新通知,根據(jù)實(shí)際情況用DOM進(jìn)行頁(yè)面呈現(xiàn)更新。
經(jīng)過調(diào)研國(guó)內(nèi)外實(shí)驗(yàn)室管理系統(tǒng)[9]現(xiàn)狀的基礎(chǔ)上,分析了國(guó)內(nèi)高校目前在實(shí)驗(yàn)室管理上存在的問題,落后的管理手段和越來越高的管理要求之間的矛盾嚴(yán)重制約著高校實(shí)驗(yàn)教學(xué)質(zhì)量的提高。
論文就基于Web的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)以及采用的相關(guān)技術(shù)進(jìn)行了較為深入和全面的分析,探討了選擇Visual studio.net 2005作為系統(tǒng)開發(fā)工具,在.NET框架下采用 B/S 三層架構(gòu)體系,使用 Microsoft SQL Server 2005、c#、和asp.net等技術(shù)來分析、設(shè)計(jì)和開發(fā)實(shí)驗(yàn)室管理系統(tǒng)?;緦?shí)現(xiàn)了基于.NET平臺(tái)開發(fā)Web版的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與開發(fā),符合高校實(shí)驗(yàn)教學(xué)和管理的需求。
[1]陳佩民.計(jì)算機(jī)實(shí)驗(yàn)室管理系統(tǒng)的開發(fā)研究[J].科技咨詢導(dǎo)報(bào),2007(22):178.
CHEN Pei-min.Development and research of laboratory management system[J].Science and Technology Consulting Herald,2007(22):178.
[2]蘇新,畢經(jīng)存,陳利文,等.實(shí)驗(yàn)室開放式管理的探討與研究[J].實(shí)驗(yàn)室研究與探索,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]李云,黃家瑜.實(shí)驗(yàn)室信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,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]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2000.
[5]孟小峰.WEB數(shù)據(jù)庫(kù)管理研究綜述[J].計(jì)算機(jī)研究與發(fā)展,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]蔡明山.高校實(shí)驗(yàn)室綜合管理系統(tǒng)研究與設(shè)計(jì)[D].長(zhǎng)沙:湖南大學(xué),2003.
[7]周奕,謝煌.基于網(wǎng)絡(luò)的院級(jí)實(shí)驗(yàn)室管理信息系統(tǒng)設(shè)計(jì)與開發(fā)[J].信息技術(shù)與信息化,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]葉繼英,胡即明.實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),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.