李文江
(重慶文理學院機電工程學院,重慶 永川 402160)
教室是教師授業解惑、學生求知成長的主要場所.教室資源信息能否及時傳遞給師生,對教學活動的有序開展至關重要.本系統的建立實現了教室資源信息的網絡化、數字化,為師生提供了人性化的信息獲取平臺,既便于教師上課、學生自習、管理人員督導檢查,也有利于教室使用率的提高.
教務網絡系統是高校教學管理的重要保障,但在教室資源信息查詢和顯示以及與外置設備對接仍存在難題.雖然很多高校教務網絡系統WEB端有“教學安排”模塊,可以查詢教室課表,但是只能針對具體教室查詢其上課情況,而不能查詢某一時段所有上課教室或所有空閑教室.
高校教室資源信息的管理主要依托教務網絡管理系統,由于教務網絡系統開發使用年份較早,沒有融入當前新技術或很多軟件公司缺乏第一線的使用經驗,功能設計上并不太完善,如今使用起來總感覺有些不方便.如果向軟件公司提出系統升級需求,又要付出較高的資金代價,有些得不償失,還不如進行第二次開發的成本低.所以系統在只有傳統功能的情況下,無法很好地將教室使用狀況實時展現給老師和學生,由此給師生帶來極大的不便:
(1)當遇到教室無法使用的突發情況時,上課教師無法進行教室調換,缺乏空閑教室信息來源.
(2)在沒有聯網計算機的情況下,無法及時查詢教室使用情況;不便于教學督導;教師上課因突發原因臨時更換上課地點時,必須對鄰近教室逐一查看,不僅耽誤上課時間,還容易與其它課的教室沖突.
(3)不利于學生查找空閑教室開展課余活動或上自習,學生無法了解空閑教室信息.
(4)不利于提高教室的使用率.
目前只有少數大學針對此問題進行了一些嘗試性開發,如北大學生設計查空座軟件,復旦大學校園移動門戶“i復旦”空閑教室查詢,北郵空閑教室查詢等.
本系統在現有的教務網絡系統基礎上,進行第二次開發,直接調取教務網絡系統數據庫的教室資源數據和資源使用數據,在不改變原系統數據結構的前提下,新增獨立的查詢視圖,并通過程序建立一個多途徑、綜合化的教室資源信息查詢平臺.它的具體設計框架如圖1所示.

圖1 系統框架結構
建立兩套查詢程序和3種顯示方式.
兩套程序為:WEB查詢網站和WAP查詢網站.將兩套查詢程序部署在一個公網的WEB服務器上.WEB查詢程序是給計算機瀏覽器和LED大屏幕提供顯示查詢結果;WAP查詢網站是給手機提供訪問查詢.
3種顯示方式:
方式1:LED大屏幕顯示.主要安裝在各教學樓過道處,實時滾動顯示當前教學樓各教室在當前節次的使用情況和空閑情況.
方式2:計算機或一體機顯示.主要通過計算機瀏覽器訪問WEB服務器站點.WEB瀏覽器查詢方式可根據個人需求查詢任意時間內上課教室列表和空閑教室列表.
方式3:手機顯示.開通GPRS或WIFI上網的手機用戶,通過WAP查詢網站地址查詢上課教室列表和空閑教室列表.
系統功能結構如圖2所示.

圖2 系統功能結構
整個查詢系統的主要功能是查詢教室的使用和空閑情況.其中,LED大屏幕只顯示相應教學樓教室的當前使用情況和空閑情況,而計算機和手機則可以查詢不同時間、不同教室類型教室的使用情況和空閑情況,比較靈活.
本系統利用Visual Studio 2008開發工具,基于Microsoft.NET Framework 3.5框架,選擇VB.NET語言開發前臺WEB和WAP應用程序[1],選擇已有的教務網絡數據庫中涉及教室資源數據表、視圖和新增視圖進行連接.
本系統以Windows 2003 Server為平臺,安裝Microsoft.NET Framework 3.5框架和IIS 6.0作為運行環境.WEB查詢系統和WAP查詢系統都部署在一個公網WEB服務器上.
3.2.1 數據庫組件選擇
LINQ to SQL[2]是包含在.NET Framework 3.5版中的一種ORM組件(對象關系映射),ORM允許使用.NET的類來對關系數據庫進行建模.在LINQ to SQL中,關系數據庫的數據模型映射到開發人員所用的編程語言表示的對象模型.當應用程序運行時,LINQ to SQL會將對象模型中的語言集成查詢轉換為SQL,然后將它們發送到數據庫進行執行.當數據庫返回結果時,LINQ to SQL會將它們轉換為選擇的編程語言處理的對象.因此,使用LINQ to SQL對數據庫中的數據進行查詢、更新、添加、刪除提供了一種非常簡單的實現方式.
3.2.2 建模實現
首先新建一個LINQ to SQL類文件(Data-Classes.dbml),然后添加數據庫連接,從數據庫中選擇數據表和視圖,拖放到類文件中即可自動生成ORM代碼.在程序中直接調用生成的代碼即可,省去寫SQL查詢語句字符串的麻煩.LINQ to SQL設計視圖如圖3所示.
3.2.3 數據庫連接安全處理
ASP.NET應用程序中數據庫的連接信息(包括數據庫IP地址、用戶名和密碼)是以明碼形式儲存在 Web.Config文件的 <connection-Strings>節點中.如果WEB服務器遭到惡意攻擊,獲得了文件系統操作權限,那么保存在Web.Config文件中的一些敏感信息將會泄露,危及到數據庫數據的安全.ASP.NET提供了aspnet_regiis.exe工具可對Web.Config文件加密,從而避免敏感信息的泄露.其加密命令:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727>aspnet_regiis.exe-pef“connectionStrings”“Web.Config文件所在的絕對路徑”.

圖3 LINQ to SQL設計視圖
3.3.1 查詢思路
教室主要包括使用時間、教室類型和教室所在地3類屬性.其中,使用時間包括:學期、周次、星期和節次;教室類型包括:一般教室、多媒體教室、語音室和計算機房等;教室所在地包括:所在校區和所屬樓房.
在教室使用記錄表中,輸入教室的三類屬性值執行查詢,獲取正在使用的教室代碼列表,根據教室代碼在教室資源信息表中,匹配出正在使用的教室名稱.剩下的則是空閑的教室.
3.3.2 WEB查詢實現
WEB查詢系統導航首頁如圖4所示.查詢結果利用ListView控件綁定,并設置5列顯示.每一個顯示結果包括教室名稱、教室容量、教室類型等信息.查詢界面主要分兩種:

圖4 WEB查詢系統導航首頁
一種是當前時間教室的使用和空閑情況查詢.這種查詢方式不需要手動輸入任何參數,將查詢參數直接寫入程序中,自動完成查詢.查詢實例如圖5所示.

圖5 當前節次空閑教室列表
其中,所有教學樓當前教室正在使用教室查詢,是同一程序負責處理;所有教學樓當前空閑教室查詢,也是同一程序負責處理.那么,不同教學樓之間靠導航首頁鏈接地址通過GET方式將對應教學樓所在校區(xq)和樓房(lf)編碼參數(如 http://……/jsm_xq_lf_dqzd.aspx?xq=1&lf=101/),傳遞給服務器程序處理,而當前節次由服務器端程序根據當前時間自動判斷.
該方式方便快捷,也便于每個教學樓LED大屏幕滾動顯示當前正在使用的教室和空閑教室.其實現方式是選擇WIN CE嵌入式系統的網絡多媒體信息發布終端機,在終端機上設計控制程序,每間隔1分鐘控制IE瀏覽器輪流訪問首頁的“正在使用的教室”和“空閑教室”的網頁鏈接,將網頁內容顯示在LED大屏幕上,從而實現大屏幕每一分鐘的滾動顯示.
第2種是其它時間教室的使用和空閑情況查詢.查詢界面上的“校區、樓房、教室類型、星期和節次”查詢參數用 DropDownList控件捆綁,“周次”查詢參數用TextBox控件綁定.查詢實例如圖6所示.

圖6 分周次/節次查看空閑教室
該方式主要是在計算機或一體機上實現交互查詢操作,可以獲取更多的信息.實現方式是將手動輸入的查詢參數,通過POST的方式提交到服務器端程序處理.
3.3.3 WAP查詢實現
WAP查詢系統的查詢思路、查詢功能和查詢程序與WEB查詢系統大同小異,只是查詢界面設計上略有差別,必須使用專門的控件.在此

圖7 當前空閑教室查詢
本文應用 ASP.NET 3.5、LINQ to SQL和WAP技術,實現了教室資源信息的多樣化查詢.該系統的應用改變了過去特定條件下才能查詢相關信息的弊端,有利于教學工作的順利開展和教室的充分利用.為了更貼近智能手機用戶查詢的需求,下一步將WEB查詢系統與目前流行的智能手機IOS操作系統和Android操作系統捆綁在一起,開發相應操作系統的查詢客戶端.只介紹一下,界面所使用的控件:“校區、樓房、教室類型、星期和節次”.查詢參數用mobile:SelectionList控件捆綁.“周次”查詢參數用 mobile:TextBox控件綁定.查詢結果用mobile:ObjectList控件綁定,每一個顯示信息包括教室名稱、教室容量、教室類型等信息[3,4].查詢實例如圖7、8 所示.

圖8 選擇時間查詢空閑教室
[1]呂洋波.ASP.NET 2.0寶典[M].北京:電子工業出版社,2007:256-536.
[2]侯利軍.精通LINQ數據訪問技術——基于CJHJ[M/OL].北京:人民郵電出版社,2008:269-295.
[3]王健,馮錫煒,張永攀.基于WAP技術的校園手機網的設計與實現[J].科學技術與工程,2011(10):2338-2341.
[4]曲廣強,王聰,關曉輝,等.基于WAP技術的手機教務信息查詢系統設計與實現[J].計算機科學,2012(S3):352-354.