張觀山,侯加林,王 震,劉 林
(山東農(nóng)業(yè)大學(xué) 機(jī)械與電子工程學(xué)院,山東 泰安 271018)
?
基于Web和Android的實(shí)驗(yàn)室預(yù)約管理系統(tǒng)
張觀山,侯加林,王震,劉林
(山東農(nóng)業(yè)大學(xué)機(jī)械與電子工程學(xué)院,山東泰安271018)
摘要針對(duì)開(kāi)放式實(shí)驗(yàn)室在管理與使用方面存在的問(wèn)題,提出了一套實(shí)驗(yàn)室預(yù)約管理系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了通過(guò)Web和Android手機(jī)客戶(hù)端兩種方式對(duì)開(kāi)放實(shí)驗(yàn)室的預(yù)約管理。該文給出了系統(tǒng)的總體設(shè)計(jì)方案,介紹了系統(tǒng)所使用的三層架構(gòu),詳細(xì)闡述了系統(tǒng)的各個(gè)功能模塊以及使用的關(guān)鍵技術(shù),并在此基礎(chǔ)上完成了系統(tǒng)的開(kāi)發(fā)。該系統(tǒng)的使用提高了實(shí)驗(yàn)預(yù)約的效率,優(yōu)化了實(shí)驗(yàn)預(yù)約的流程,進(jìn)一步增加了實(shí)驗(yàn)室的開(kāi)放程度,有利于學(xué)生動(dòng)手實(shí)踐能力的提升和綜合素質(zhì)的培養(yǎng)。
關(guān)鍵詞開(kāi)放實(shí)驗(yàn)室;Android手機(jī)客戶(hù)端;三層架構(gòu);管理系統(tǒng)
實(shí)驗(yàn)室是教師進(jìn)行實(shí)驗(yàn)教學(xué)、科學(xué)研究,學(xué)生進(jìn)行實(shí)踐創(chuàng)新的場(chǎng)所,具有其他教學(xué)環(huán)境不能替代的作用[1],對(duì)學(xué)生創(chuàng)新思維和創(chuàng)新能力的培養(yǎng)以及理論與實(shí)踐相結(jié)合的能力的培養(yǎng)具有十分重要的意義[2]。實(shí)驗(yàn)室的開(kāi)放程度越高代表該學(xué)校的現(xiàn)代化程度越高,教學(xué)水平越先進(jìn)[3]。為了最大化展現(xiàn)實(shí)驗(yàn)室價(jià)值,充分發(fā)揮實(shí)驗(yàn)室在學(xué)生綜合素質(zhì)提升以及促進(jìn)科研,提高學(xué)??蒲兴降确矫娴闹匾饔?,從使實(shí)驗(yàn)室的開(kāi)放程度達(dá)到最大化以及優(yōu)化學(xué)生預(yù)約實(shí)驗(yàn)室的流程角度出發(fā),研究設(shè)計(jì)了該實(shí)驗(yàn)室預(yù)約管理系統(tǒng)。該系統(tǒng)從學(xué)校現(xiàn)有網(wǎng)絡(luò)平臺(tái)以及優(yōu)化預(yù)約流程、師資力量等方面入手,利用現(xiàn)有條件,整合實(shí)驗(yàn)室資源,為師生營(yíng)造更為寬松自由的實(shí)驗(yàn)教學(xué)環(huán)境,有效地解決了實(shí)驗(yàn)室開(kāi)放程度不夠、實(shí)驗(yàn)預(yù)約流程煩瑣、實(shí)驗(yàn)室及儀器設(shè)備使用率低等問(wèn)題,提高了實(shí)驗(yàn)室及實(shí)驗(yàn)儀器、設(shè)備利用率,培養(yǎng)了學(xué)生的動(dòng)手實(shí)踐能力和自主創(chuàng)新能力[4]。
1系統(tǒng)的體系結(jié)構(gòu)
系統(tǒng)總體框架如圖1所示,用戶(hù)通過(guò)Web網(wǎng)頁(yè)或Android手機(jī)客戶(hù)端兩種方式進(jìn)行實(shí)驗(yàn)預(yù)約、實(shí)驗(yàn)預(yù)約管理、實(shí)驗(yàn)室管理以及實(shí)驗(yàn)項(xiàng)目管理等工作。系統(tǒng)采用三層架構(gòu)模式,包括表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層[5],分為3層的目的是為了實(shí)現(xiàn)程序的“高內(nèi)聚,低耦合”[6]。
圖1 系統(tǒng)總體框架圖
1.1表現(xiàn)層的設(shè)計(jì)
表現(xiàn)層是系統(tǒng)與用戶(hù)進(jìn)行交互的部分,該層將結(jié)果以多種形式呈現(xiàn)給用戶(hù),同時(shí)表現(xiàn)層是連接用戶(hù)與邏輯層的紐帶。表現(xiàn)層包括Web網(wǎng)頁(yè)和Android手機(jī)客戶(hù)端兩部分。Web網(wǎng)頁(yè)設(shè)計(jì)采用B/S結(jié)構(gòu),使用Html和Javascript語(yǔ)言,用戶(hù)不需要在電腦上安裝軟件,只需通過(guò)瀏覽器就能完成所有的功能,節(jié)約了開(kāi)發(fā)成本,解除了系統(tǒng)使用地域的限制,這項(xiàng)技術(shù)逐漸成為一種流行的軟件開(kāi)發(fā)技術(shù)[5]。為了進(jìn)一步方便用戶(hù)進(jìn)行實(shí)驗(yàn)的預(yù)約和管理,系統(tǒng)增加了Android手機(jī)客戶(hù)端的功能,用戶(hù)可隨時(shí)隨地進(jìn)行實(shí)驗(yàn)項(xiàng)目的預(yù)約申請(qǐng),方便快捷。
1.2業(yè)務(wù)邏輯層的設(shè)計(jì)
該層進(jìn)行控制邏輯、數(shù)據(jù)處理等工作,一方面會(huì)處理來(lái)自表現(xiàn)層的數(shù)據(jù)請(qǐng)求;另一方面將數(shù)據(jù)訪問(wèn)層的數(shù)據(jù)傳輸至表現(xiàn)層以呈現(xiàn)給用戶(hù)。該層包括兩個(gè)主要功能:1)用戶(hù)權(quán)限分配管理,用戶(hù)登錄成功后系統(tǒng)根據(jù)用戶(hù)名判斷用戶(hù)類(lèi)型并根據(jù)用戶(hù)類(lèi)型跳轉(zhuǎn)到不同頁(yè)面,不同頁(yè)面所能進(jìn)行的操作不同,從而實(shí)現(xiàn)對(duì)用戶(hù)權(quán)限的管理;2)用戶(hù)按照自身權(quán)限進(jìn)行相關(guān)操作。如普通用戶(hù)可進(jìn)行實(shí)驗(yàn)項(xiàng)目預(yù)約,查詢(xún)與實(shí)驗(yàn)相關(guān)的信息等,管理員可對(duì)預(yù)約進(jìn)行審核管理,增加刪除實(shí)驗(yàn)項(xiàng)目,并發(fā)布一些新聞、公告通知等,而其他權(quán)限的用戶(hù)則無(wú)法完成這些操作。
1.3數(shù)據(jù)訪問(wèn)層
該層的功能為數(shù)據(jù)的存儲(chǔ)和管理,數(shù)據(jù)庫(kù)使用SQL Server 2008,其功能強(qiáng)大,使用方便,完全滿足設(shè)計(jì)要求。中間數(shù)據(jù)訪問(wèn)層采用ADO.NET技術(shù),該技術(shù)為業(yè)務(wù)邏輯層訪問(wèn)數(shù)據(jù)提供統(tǒng)一接口,減少了程序開(kāi)發(fā)的難度和工作量。
2系統(tǒng)的總體功能概述
系統(tǒng)總體功能如圖2所示,系統(tǒng)的主要模塊有管理人員模塊、教師模塊、學(xué)生模塊、實(shí)驗(yàn)預(yù)約模塊、實(shí)驗(yàn)室模塊、實(shí)驗(yàn)儀器模塊、系統(tǒng)簡(jiǎn)介與公告信息模塊等。
圖2 系統(tǒng)總體功能圖
2.1管理人員功能模塊
管理人員指系統(tǒng)的后臺(tái)管理人員,主要負(fù)責(zé)對(duì)系統(tǒng)相關(guān)的數(shù)據(jù)進(jìn)行信息化的管理。具體的功能有添加刪除用戶(hù)、實(shí)驗(yàn)項(xiàng)目、實(shí)驗(yàn)室信息及儀器信息,初步審核實(shí)驗(yàn)預(yù)約請(qǐng)求,師生實(shí)驗(yàn)考勤,協(xié)調(diào)實(shí)驗(yàn)室各方面資源,保證系統(tǒng)正常運(yùn)行。除了上述的工作之外,管理員還要負(fù)責(zé)系統(tǒng)的維護(hù)升級(jí)、網(wǎng)站維護(hù)、數(shù)據(jù)更新、初始密碼、權(quán)限分配、角色分配、公告信息發(fā)布等工作。
2.2教師功能模塊
教師功能模塊的用戶(hù)包括實(shí)驗(yàn)指導(dǎo)教師、任課教師以及校外聘請(qǐng)的兼職教師,每位教師的信息已經(jīng)存儲(chǔ)到數(shù)據(jù)庫(kù)中。教師在該模塊看到學(xué)生的預(yù)約請(qǐng)求后,會(huì)根據(jù)自己的時(shí)間處理該請(qǐng)求。同時(shí)該模塊也有在線交流、作業(yè)管理、實(shí)驗(yàn)成績(jī)管理的功能。
2.3學(xué)生功能模塊
該模塊的用戶(hù)為全體在校學(xué)生,每個(gè)學(xué)生的信息已經(jīng)存儲(chǔ)在系統(tǒng)之中,學(xué)生可通過(guò)該模塊查詢(xún)實(shí)驗(yàn)相關(guān)信息。用戶(hù)通過(guò)該模塊選擇實(shí)驗(yàn)項(xiàng)目后,可手動(dòng)選擇需要的實(shí)驗(yàn)室、實(shí)驗(yàn)儀器、指導(dǎo)教師等,另外系統(tǒng)也可根據(jù)實(shí)驗(yàn)項(xiàng)目及實(shí)驗(yàn)室資源的使用情況自動(dòng)分配實(shí)驗(yàn)室、實(shí)驗(yàn)儀器、實(shí)驗(yàn)時(shí)間以及實(shí)驗(yàn)指導(dǎo)教師。除了上述功能之外,該模塊還有在線交流、在線預(yù)習(xí)實(shí)驗(yàn)、在線查詢(xún)實(shí)驗(yàn)成績(jī)等功能。
2.4實(shí)驗(yàn)預(yù)約模塊
該模塊用于進(jìn)行實(shí)驗(yàn)預(yù)約,系統(tǒng)中的開(kāi)放實(shí)驗(yàn)項(xiàng)目有3種:基礎(chǔ)實(shí)驗(yàn)項(xiàng)目、教師科研項(xiàng)目和學(xué)生自擬項(xiàng)目?;A(chǔ)實(shí)驗(yàn)項(xiàng)目為滿足教學(xué)大綱規(guī)定的實(shí)驗(yàn)項(xiàng)目,在正常的實(shí)驗(yàn)課之外,學(xué)生可按照教學(xué)大綱要求進(jìn)行基本實(shí)驗(yàn)技能訓(xùn)練或者補(bǔ)做實(shí)驗(yàn)。教師科研項(xiàng)目中,學(xué)生利用已學(xué)知識(shí)能夠完成的部分,可根據(jù)項(xiàng)目需求安排在不同實(shí)驗(yàn)室,學(xué)生根據(jù)個(gè)人能力及興趣申請(qǐng)參與教師科研項(xiàng)目。學(xué)生自擬項(xiàng)目是指包括各類(lèi)科技競(jìng)賽、挑戰(zhàn)杯在內(nèi)的大學(xué)生項(xiàng)目,學(xué)生根據(jù)項(xiàng)目需要申請(qǐng)實(shí)驗(yàn)室,學(xué)生自擬項(xiàng)目一般在大學(xué)生創(chuàng)新實(shí)驗(yàn)室內(nèi)完成。管理員提交基礎(chǔ)實(shí)驗(yàn)項(xiàng)目,任課教師提交教師科研項(xiàng)目,學(xué)生提交自擬項(xiàng)目,管理員對(duì)教師科研項(xiàng)目和學(xué)生自擬項(xiàng)目進(jìn)行審核,審核無(wú)誤后發(fā)布。
圖3 學(xué)生實(shí)驗(yàn)預(yù)約流程
學(xué)生實(shí)驗(yàn)預(yù)約流程如圖3所示,學(xué)生通過(guò)實(shí)驗(yàn)項(xiàng)目查詢(xún)模塊查詢(xún)已開(kāi)設(shè)的實(shí)驗(yàn),并根據(jù)個(gè)人情況確定申請(qǐng)實(shí)驗(yàn)項(xiàng)目的種類(lèi)。學(xué)生提交申請(qǐng)后,管理員對(duì)預(yù)約項(xiàng)目進(jìn)行初審,檢查實(shí)驗(yàn)項(xiàng)目是否與學(xué)生的專(zhuān)業(yè)等條件相符。初審?fù)瓿珊?,進(jìn)入實(shí)驗(yàn)基本知識(shí)考核階段,實(shí)驗(yàn)基本知識(shí)考核考查學(xué)生是否具備完成該實(shí)驗(yàn)的基礎(chǔ)知識(shí)和能力,學(xué)生只有通過(guò)實(shí)驗(yàn)基本知識(shí)考核,才能成功預(yù)約。管理員會(huì)進(jìn)一步進(jìn)行預(yù)約確認(rèn),確認(rèn)后系統(tǒng)會(huì)通過(guò)短信和郵件方式通知實(shí)驗(yàn)教師和學(xué)生實(shí)驗(yàn)的內(nèi)容、時(shí)間、地點(diǎn)。實(shí)驗(yàn)開(kāi)始前,實(shí)驗(yàn)教師會(huì)將學(xué)生用到的儀器、元件等提前準(zhǔn)備好,以便學(xué)生開(kāi)展實(shí)驗(yàn)。實(shí)驗(yàn)過(guò)程中,教師會(huì)對(duì)學(xué)生實(shí)驗(yàn)進(jìn)行考勤,并將考勤結(jié)果錄入系統(tǒng),作為下次該學(xué)生申請(qǐng)實(shí)驗(yàn)的參考。實(shí)驗(yàn)結(jié)束后學(xué)生通過(guò)系統(tǒng)在線編輯實(shí)驗(yàn)報(bào)告并上傳至服務(wù)器,最后由實(shí)驗(yàn)教師評(píng)價(jià)打分。
2.5其他模塊
在實(shí)驗(yàn)室模塊用戶(hù)可通過(guò)瀏覽或查詢(xún)方式了解實(shí)驗(yàn)室簡(jiǎn)介、實(shí)驗(yàn)項(xiàng)目等內(nèi)容。實(shí)驗(yàn)儀器模塊包括實(shí)驗(yàn)儀器簡(jiǎn)介、使用方法、適用的實(shí)驗(yàn)等信息。系統(tǒng)簡(jiǎn)介與公告信息模塊包含系統(tǒng)的使用方法和操作規(guī)程,管理員通過(guò)該模塊發(fā)布公告信息。
3系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
3.1數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)選用了SQL Server 2008,該數(shù)據(jù)庫(kù)內(nèi)部有很多外圍工具實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的管理,如創(chuàng)建數(shù)據(jù)表、數(shù)據(jù)備份等,這些原本需要開(kāi)發(fā)人員專(zhuān)門(mén)解決的內(nèi)容,通過(guò)該系統(tǒng)得以輕松實(shí)現(xiàn)[7]。根據(jù)系統(tǒng)的功能設(shè)計(jì)了以下7個(gè)數(shù)據(jù)庫(kù)表,如用戶(hù)信息表、實(shí)驗(yàn)室信息表、實(shí)驗(yàn)項(xiàng)目表、實(shí)驗(yàn)預(yù)約信息表等,這些表格分別存儲(chǔ)不同的信息,如實(shí)驗(yàn)預(yù)約信息表存儲(chǔ)預(yù)約的實(shí)驗(yàn)項(xiàng)目名稱(chēng)、所需要的實(shí)驗(yàn)儀器、預(yù)約時(shí)間、預(yù)約實(shí)驗(yàn)室等字段的信息。
3.2Web網(wǎng)頁(yè)設(shè)計(jì)
Web網(wǎng)頁(yè)采用瀏覽器和服務(wù)器模式,前臺(tái)頁(yè)面設(shè)計(jì)采用DIV+CSS的方式實(shí)現(xiàn),前臺(tái)頁(yè)面與后臺(tái)處理程序交互采用AJAX技術(shù)[8],頁(yè)面局部刷新,提高了用戶(hù)體驗(yàn)。系統(tǒng)的后臺(tái)設(shè)計(jì)使用ASP.NET技術(shù),開(kāi)發(fā)語(yǔ)言選用C#,開(kāi)發(fā)環(huán)境選用VS2010,數(shù)據(jù)存儲(chǔ)采用ADO.NET技術(shù)和數(shù)據(jù)存儲(chǔ)過(guò)程。服務(wù)器使用Windows Server 2003自帶的IIS架構(gòu)Web服務(wù)器。根據(jù)系統(tǒng)的功能要求,Web網(wǎng)頁(yè)包括用戶(hù)登錄界面、學(xué)生用戶(hù)界面、教師用戶(hù)界面以及管理員用戶(hù)界面等。
3.3Android手機(jī)軟件開(kāi)發(fā)
為了方便用戶(hù)使用,設(shè)計(jì)了一套Android手機(jī)程序。Android的軟件開(kāi)發(fā)環(huán)境是在Linux操作系統(tǒng)下,由“JDK+Eclipse+Android SDK+ADT”構(gòu)建。Android手機(jī)軟件的界面和功能與Web網(wǎng)頁(yè)的界面和功能類(lèi)似,根據(jù)軟件的功能不同,設(shè)計(jì)了不同版本的軟件以適用于不同用戶(hù),如學(xué)生版適用于學(xué)生,教師版適用于實(shí)驗(yàn)教師。Android手機(jī)軟件的使用,使得學(xué)生可隨時(shí)預(yù)約實(shí)驗(yàn),實(shí)驗(yàn)教師和管理員也可隨時(shí)處理實(shí)驗(yàn)預(yù)約項(xiàng)目,提高了工作效率。
3.4完成端口模型
完成端口模型結(jié)構(gòu)如圖4所示。
圖4 完成端口模型結(jié)構(gòu)圖
該系統(tǒng)面向的是全校師生,同時(shí)在線人數(shù)最高達(dá)到幾千人,如果幾千人同時(shí)用手機(jī)連接服務(wù)器,服務(wù)器為每個(gè)請(qǐng)求連接建立一個(gè)線程的話,CPU在幾千個(gè)線程之間切換是非常低效的,而完全端口模型能管理數(shù)百乃至上千線程,只有應(yīng)用程序同時(shí)有成百乃至上千個(gè)線程連接時(shí)才考慮該模型。完成端口的工作原理是這樣的:先開(kāi)好幾個(gè)線程,然后系統(tǒng)讓這幾個(gè)線程等待請(qǐng)求,當(dāng)有請(qǐng)求時(shí),系統(tǒng)將這些請(qǐng)求按照一定規(guī)則加入到一個(gè)公共消息隊(duì)列中,然后剛開(kāi)始開(kāi)好的幾個(gè)線程按照順序輪流從隊(duì)列中取出客戶(hù)端請(qǐng)求進(jìn)行處理。它使得每個(gè)線程平等地處理來(lái)自客戶(hù)端的請(qǐng)求,并且在沒(méi)有客戶(hù)端請(qǐng)求時(shí),系統(tǒng)會(huì)自動(dòng)將線程掛起。
4結(jié)束語(yǔ)
基于Web和Android平臺(tái)的開(kāi)放式實(shí)驗(yàn)室管理系統(tǒng)解決了實(shí)驗(yàn)預(yù)約難,時(shí)間不靈活以及預(yù)約流程煩瑣等問(wèn)題。學(xué)生通過(guò)互聯(lián)網(wǎng)及手機(jī)客戶(hù)端隨時(shí)對(duì)實(shí)驗(yàn)進(jìn)行預(yù)約,管理員和實(shí)驗(yàn)教師也可隨時(shí)處理實(shí)驗(yàn)預(yù)約請(qǐng)求,提高了實(shí)驗(yàn)預(yù)約的工作效率,優(yōu)化了實(shí)驗(yàn)預(yù)約的流程。該系統(tǒng)的推廣和使用將進(jìn)一步增
大實(shí)驗(yàn)室的開(kāi)放程度以及利用率,進(jìn)而提高學(xué)生動(dòng)手實(shí)踐能力,為大學(xué)生步入社會(huì)打下堅(jiān)實(shí)的基礎(chǔ)。
參 考 文 獻(xiàn)
[1]陳大鵬,孫爾康.開(kāi)放教學(xué)實(shí)驗(yàn)室 提高學(xué)生實(shí)踐創(chuàng)新能力[J].實(shí)驗(yàn)室研究與探索2001,20(2):15-17.
[2]郝子強(qiáng),詹偉達(dá).大學(xué)生科技創(chuàng)新能力培養(yǎng)的研究與實(shí)踐[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2008,21(6):149-151
[3]李娜.實(shí)施開(kāi)放式實(shí)驗(yàn)教學(xué) 提高學(xué)生創(chuàng)新能力[J].職業(yè)教育研究 2009:122-123.
[4]王曉明,易兵,徐粵宇,等.提高染整工藝實(shí)驗(yàn)教學(xué)質(zhì)量,培養(yǎng)學(xué)生創(chuàng)新實(shí)踐能力[J].廣東化工,2010,37(201):160-161.
[5]孫紅亮.基于三層架構(gòu)的校園網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[D].石家莊:河北師范大學(xué),2013.
[6]程春蕊,劉萬(wàn)軍.高內(nèi)聚低耦合軟件架構(gòu)的構(gòu)建[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009(7):19-22.
[7]張觀山.果園智能灌溉控制系統(tǒng)的開(kāi)發(fā)[D].泰安:山東農(nóng)業(yè)大學(xué),2014.
[8]李永革,潘衛(wèi),邢紅梅.等.深入理解ADO.NET的更新機(jī)制[J].計(jì)算機(jī)應(yīng)用,2005,25(12):163-166.
·實(shí)驗(yàn)儀器研制·
收稿日期:2015-06-30;修改日期: 2015-07-20
作者簡(jiǎn)介:張觀山(1988-),男,碩士,主要從事電工電子實(shí)驗(yàn)教學(xué)、管理和科研工作。
中圖分類(lèi)號(hào)TP319;G642.0
文獻(xiàn)標(biāo)志碼B
doi:10.3969/j.issn.1672-4550.2016.03.014
Laboratory Order and Management System Based on Web and Android
ZHANG Guanshan,HOU Jialin,WANG Zhen,LIU Lin
(College of Mechanical and Electronic Engineering,Shandong Agricultural University,Taian 271018,China)
AbstractAiming at the existing problem of open laboratory management and use,this paper develops open laboratory managem-ent system.This system can manage open laboratory through Web and Android.This paper presents overall design scheme and introduces the tier architecture in use.This paper also describes the function modules and key technology of the system.The open laboratory management system improves the efficiency of experiment appointment and optimize the process of experiment appointment.This system also improves the degree of openness and improves the students’ scientific and technological innovation capacity.
Key wordsopen laboratory;Android mobile phone client;three-tier architecture;management system