李文江
(重慶文理學(xué)院機(jī)電工程學(xué)院,重慶 永川 402160)
教室是教師授業(yè)解惑、學(xué)生求知成長的主要場所.教室資源信息能否及時(shí)傳遞給師生,對教學(xué)活動(dòng)的有序開展至關(guān)重要.本系統(tǒng)的建立實(shí)現(xiàn)了教室資源信息的網(wǎng)絡(luò)化、數(shù)字化,為師生提供了人性化的信息獲取平臺(tái),既便于教師上課、學(xué)生自習(xí)、管理人員督導(dǎo)檢查,也有利于教室使用率的提高.
教務(wù)網(wǎng)絡(luò)系統(tǒng)是高校教學(xué)管理的重要保障,但在教室資源信息查詢和顯示以及與外置設(shè)備對接仍存在難題.雖然很多高校教務(wù)網(wǎng)絡(luò)系統(tǒng)WEB端有“教學(xué)安排”模塊,可以查詢教室課表,但是只能針對具體教室查詢其上課情況,而不能查詢某一時(shí)段所有上課教室或所有空閑教室.
高校教室資源信息的管理主要依托教務(wù)網(wǎng)絡(luò)管理系統(tǒng),由于教務(wù)網(wǎng)絡(luò)系統(tǒng)開發(fā)使用年份較早,沒有融入當(dāng)前新技術(shù)或很多軟件公司缺乏第一線的使用經(jīng)驗(yàn),功能設(shè)計(jì)上并不太完善,如今使用起來總感覺有些不方便.如果向軟件公司提出系統(tǒng)升級(jí)需求,又要付出較高的資金代價(jià),有些得不償失,還不如進(jìn)行第二次開發(fā)的成本低.所以系統(tǒng)在只有傳統(tǒng)功能的情況下,無法很好地將教室使用狀況實(shí)時(shí)展現(xiàn)給老師和學(xué)生,由此給師生帶來極大的不便:
(1)當(dāng)遇到教室無法使用的突發(fā)情況時(shí),上課教師無法進(jìn)行教室調(diào)換,缺乏空閑教室信息來源.
(2)在沒有聯(lián)網(wǎng)計(jì)算機(jī)的情況下,無法及時(shí)查詢教室使用情況;不便于教學(xué)督導(dǎo);教師上課因突發(fā)原因臨時(shí)更換上課地點(diǎn)時(shí),必須對鄰近教室逐一查看,不僅耽誤上課時(shí)間,還容易與其它課的教室沖突.
(3)不利于學(xué)生查找空閑教室開展課余活動(dòng)或上自習(xí),學(xué)生無法了解空閑教室信息.
(4)不利于提高教室的使用率.
目前只有少數(shù)大學(xué)針對此問題進(jìn)行了一些嘗試性開發(fā),如北大學(xué)生設(shè)計(jì)查空座軟件,復(fù)旦大學(xué)校園移動(dòng)門戶“i復(fù)旦”空閑教室查詢,北郵空閑教室查詢等.
本系統(tǒng)在現(xiàn)有的教務(wù)網(wǎng)絡(luò)系統(tǒng)基礎(chǔ)上,進(jìn)行第二次開發(fā),直接調(diào)取教務(wù)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)庫的教室資源數(shù)據(jù)和資源使用數(shù)據(jù),在不改變原系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的前提下,新增獨(dú)立的查詢視圖,并通過程序建立一個(gè)多途徑、綜合化的教室資源信息查詢平臺(tái).它的具體設(shè)計(jì)框架如圖1所示.
圖1 系統(tǒng)框架結(jié)構(gòu)
建立兩套查詢程序和3種顯示方式.
兩套程序?yàn)?WEB查詢網(wǎng)站和WAP查詢網(wǎng)站.將兩套查詢程序部署在一個(gè)公網(wǎng)的WEB服務(wù)器上.WEB查詢程序是給計(jì)算機(jī)瀏覽器和LED大屏幕提供顯示查詢結(jié)果;WAP查詢網(wǎng)站是給手機(jī)提供訪問查詢.
3種顯示方式:
方式1:LED大屏幕顯示.主要安裝在各教學(xué)樓過道處,實(shí)時(shí)滾動(dòng)顯示當(dāng)前教學(xué)樓各教室在當(dāng)前節(jié)次的使用情況和空閑情況.
方式2:計(jì)算機(jī)或一體機(jī)顯示.主要通過計(jì)算機(jī)瀏覽器訪問WEB服務(wù)器站點(diǎn).WEB瀏覽器查詢方式可根據(jù)個(gè)人需求查詢?nèi)我鈺r(shí)間內(nèi)上課教室列表和空閑教室列表.
方式3:手機(jī)顯示.開通GPRS或WIFI上網(wǎng)的手機(jī)用戶,通過WAP查詢網(wǎng)站地址查詢上課教室列表和空閑教室列表.
系統(tǒng)功能結(jié)構(gòu)如圖2所示.
圖2 系統(tǒng)功能結(jié)構(gòu)
整個(gè)查詢系統(tǒng)的主要功能是查詢教室的使用和空閑情況.其中,LED大屏幕只顯示相應(yīng)教學(xué)樓教室的當(dāng)前使用情況和空閑情況,而計(jì)算機(jī)和手機(jī)則可以查詢不同時(shí)間、不同教室類型教室的使用情況和空閑情況,比較靈活.
本系統(tǒng)利用Visual Studio 2008開發(fā)工具,基于Microsoft.NET Framework 3.5框架,選擇VB.NET語言開發(fā)前臺(tái)WEB和WAP應(yīng)用程序[1],選擇已有的教務(wù)網(wǎng)絡(luò)數(shù)據(jù)庫中涉及教室資源數(shù)據(jù)表、視圖和新增視圖進(jìn)行連接.
本系統(tǒng)以Windows 2003 Server為平臺(tái),安裝Microsoft.NET Framework 3.5框架和IIS 6.0作為運(yùn)行環(huán)境.WEB查詢系統(tǒng)和WAP查詢系統(tǒng)都部署在一個(gè)公網(wǎng)WEB服務(wù)器上.
3.2.1 數(shù)據(jù)庫組件選擇
LINQ to SQL[2]是包含在.NET Framework 3.5版中的一種ORM組件(對象關(guān)系映射),ORM允許使用.NET的類來對關(guān)系數(shù)據(jù)庫進(jìn)行建模.在LINQ to SQL中,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型映射到開發(fā)人員所用的編程語言表示的對象模型.當(dāng)應(yīng)用程序運(yùn)行時(shí),LINQ to SQL會(huì)將對象模型中的語言集成查詢轉(zhuǎn)換為SQL,然后將它們發(fā)送到數(shù)據(jù)庫進(jìn)行執(zhí)行.當(dāng)數(shù)據(jù)庫返回結(jié)果時(shí),LINQ to SQL會(huì)將它們轉(zhuǎn)換為選擇的編程語言處理的對象.因此,使用LINQ to SQL對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、更新、添加、刪除提供了一種非常簡單的實(shí)現(xiàn)方式.
3.2.2 建模實(shí)現(xiàn)
首先新建一個(gè)LINQ to SQL類文件(Data-Classes.dbml),然后添加數(shù)據(jù)庫連接,從數(shù)據(jù)庫中選擇數(shù)據(jù)表和視圖,拖放到類文件中即可自動(dòng)生成ORM代碼.在程序中直接調(diào)用生成的代碼即可,省去寫SQL查詢語句字符串的麻煩.LINQ to SQL設(shè)計(jì)視圖如圖3所示.
3.2.3 數(shù)據(jù)庫連接安全處理
ASP.NET應(yīng)用程序中數(shù)據(jù)庫的連接信息(包括數(shù)據(jù)庫IP地址、用戶名和密碼)是以明碼形式儲(chǔ)存在 Web.Config文件的 <connection-Strings>節(jié)點(diǎn)中.如果WEB服務(wù)器遭到惡意攻擊,獲得了文件系統(tǒng)操作權(quán)限,那么保存在Web.Config文件中的一些敏感信息將會(huì)泄露,危及到數(shù)據(jù)庫數(shù)據(jù)的安全.ASP.NET提供了aspnet_regiis.exe工具可對Web.Config文件加密,從而避免敏感信息的泄露.其加密命令:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727>aspnet_regiis.exe-pef“connectionStrings”“Web.Config文件所在的絕對路徑”.
圖3 LINQ to SQL設(shè)計(jì)視圖
3.3.1 查詢思路
教室主要包括使用時(shí)間、教室類型和教室所在地3類屬性.其中,使用時(shí)間包括:學(xué)期、周次、星期和節(jié)次;教室類型包括:一般教室、多媒體教室、語音室和計(jì)算機(jī)房等;教室所在地包括:所在校區(qū)和所屬樓房.
在教室使用記錄表中,輸入教室的三類屬性值執(zhí)行查詢,獲取正在使用的教室代碼列表,根據(jù)教室代碼在教室資源信息表中,匹配出正在使用的教室名稱.剩下的則是空閑的教室.
3.3.2 WEB查詢實(shí)現(xiàn)
WEB查詢系統(tǒng)導(dǎo)航首頁如圖4所示.查詢結(jié)果利用ListView控件綁定,并設(shè)置5列顯示.每一個(gè)顯示結(jié)果包括教室名稱、教室容量、教室類型等信息.查詢界面主要分兩種:
圖4 WEB查詢系統(tǒng)導(dǎo)航首頁
一種是當(dāng)前時(shí)間教室的使用和空閑情況查詢.這種查詢方式不需要手動(dòng)輸入任何參數(shù),將查詢參數(shù)直接寫入程序中,自動(dòng)完成查詢.查詢實(shí)例如圖5所示.
圖5 當(dāng)前節(jié)次空閑教室列表
其中,所有教學(xué)樓當(dāng)前教室正在使用教室查詢,是同一程序負(fù)責(zé)處理;所有教學(xué)樓當(dāng)前空閑教室查詢,也是同一程序負(fù)責(zé)處理.那么,不同教學(xué)樓之間靠導(dǎo)航首頁鏈接地址通過GET方式將對應(yīng)教學(xué)樓所在校區(qū)(xq)和樓房(lf)編碼參數(shù)(如 http://……/jsm_xq_lf_dqzd.aspx?xq=1&lf=101/),傳遞給服務(wù)器程序處理,而當(dāng)前節(jié)次由服務(wù)器端程序根據(jù)當(dāng)前時(shí)間自動(dòng)判斷.
該方式方便快捷,也便于每個(gè)教學(xué)樓LED大屏幕滾動(dòng)顯示當(dāng)前正在使用的教室和空閑教室.其實(shí)現(xiàn)方式是選擇WIN CE嵌入式系統(tǒng)的網(wǎng)絡(luò)多媒體信息發(fā)布終端機(jī),在終端機(jī)上設(shè)計(jì)控制程序,每間隔1分鐘控制IE瀏覽器輪流訪問首頁的“正在使用的教室”和“空閑教室”的網(wǎng)頁鏈接,將網(wǎng)頁內(nèi)容顯示在LED大屏幕上,從而實(shí)現(xiàn)大屏幕每一分鐘的滾動(dòng)顯示.
第2種是其它時(shí)間教室的使用和空閑情況查詢.查詢界面上的“校區(qū)、樓房、教室類型、星期和節(jié)次”查詢參數(shù)用 DropDownList控件捆綁,“周次”查詢參數(shù)用TextBox控件綁定.查詢實(shí)例如圖6所示.
圖6 分周次/節(jié)次查看空閑教室
該方式主要是在計(jì)算機(jī)或一體機(jī)上實(shí)現(xiàn)交互查詢操作,可以獲取更多的信息.實(shí)現(xiàn)方式是將手動(dòng)輸入的查詢參數(shù),通過POST的方式提交到服務(wù)器端程序處理.
3.3.3 WAP查詢實(shí)現(xiàn)
WAP查詢系統(tǒng)的查詢思路、查詢功能和查詢程序與WEB查詢系統(tǒng)大同小異,只是查詢界面設(shè)計(jì)上略有差別,必須使用專門的控件.在此
圖7 當(dāng)前空閑教室查詢
本文應(yīng)用 ASP.NET 3.5、LINQ to SQL和WAP技術(shù),實(shí)現(xiàn)了教室資源信息的多樣化查詢.該系統(tǒng)的應(yīng)用改變了過去特定條件下才能查詢相關(guān)信息的弊端,有利于教學(xué)工作的順利開展和教室的充分利用.為了更貼近智能手機(jī)用戶查詢的需求,下一步將WEB查詢系統(tǒng)與目前流行的智能手機(jī)IOS操作系統(tǒng)和Android操作系統(tǒng)捆綁在一起,開發(fā)相應(yīng)操作系統(tǒng)的查詢客戶端.只介紹一下,界面所使用的控件:“校區(qū)、樓房、教室類型、星期和節(jié)次”.查詢參數(shù)用mobile:SelectionList控件捆綁.“周次”查詢參數(shù)用 mobile:TextBox控件綁定.查詢結(jié)果用mobile:ObjectList控件綁定,每一個(gè)顯示信息包括教室名稱、教室容量、教室類型等信息[3,4].查詢實(shí)例如圖7、8 所示.
圖8 選擇時(shí)間查詢空閑教室
[1]呂洋波.ASP.NET 2.0寶典[M].北京:電子工業(yè)出版社,2007:256-536.
[2]侯利軍.精通LINQ數(shù)據(jù)訪問技術(shù)——基于CJHJ[M/OL].北京:人民郵電出版社,2008:269-295.
[3]王健,馮錫煒,張永攀.基于WAP技術(shù)的校園手機(jī)網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2011(10):2338-2341.
[4]曲廣強(qiáng),王聰,關(guān)曉輝,等.基于WAP技術(shù)的手機(jī)教務(wù)信息查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2012(S3):352-354.