張雪冰
(安徽建筑工業學院,安徽合肥230601)
基于C#智能監考短信通知平臺的開發
張雪冰
(安徽建筑工業學院,安徽合肥230601)
文章以藝術類考試的監考為例,利用C#工具開發智能監考短信通知平臺,實現從安排監考任務、通知監考人員到數據的匯總與輸出等功能,從而提高了工作效率。
C#;短信;監考;GSM Modem
監考工作的組織與管理是考務工作的重要環節[1],對于不同類型的考試其監考安排的復雜程度則不盡相同。對于大型的考試,安排及通知相關監考人員的工作量巨大。比如像安徽省藝術類招生這類考試,因其考試規模大、人數多、持續天數長、考生參加考試每天的考場都不同、監考人員每天監考的考場為隨機決定等,所以對于監考人員的安排和通知工作就顯得相當繁雜。如果完全靠人工來進行安排和通知,則工作量大且易出差錯。
隨著移動通信和計算機技術的發展,使得通過軟件實現自動安排監考人員和短信通知監考任務成為可能。綜合以上考慮,智能監考短信通知平臺得以研制開發,這個平臺的使用能避免繁雜枯燥的重復勞動,提高監考安排的工作效率,可防止因人為因素出現的錯誤。
智能監考短信通知平臺主要包括通信、網絡、數據庫、辦公處理等方面的設計。基于穩定、實用、高擴展性的考慮,筆者選用Visual Studio 2005作為開發工具,用C#作為開發語言,Microsoft SQL Server2000作為數據庫管理系統,短信收發采用SerialPort類串口通信實現[2]。智能監考短信通知平臺主要通過通訊模塊、業務處理模塊、數據管理模塊、辦公處理模塊、出錯處理等模塊來實現其主要功能。
通知平臺在進行其他操作之前需要有相應的輸入信息,即根據相應的考務要求確認考場的分布情況,各考場的考試人數、考試科目、考試時間等。所以在進行監考安排前需先進行一定的預處理。
以藝術類考試為例,考場的分布情況可由專門的報名系統[4]通過本平臺辦公處理模塊進行導入,導入時的關鍵在于對報名系統導出的EXCEL形式的數據進行一定的處理,只要提取出本平臺所需的數據信息(如考場地點、考試時間等)導入進本平臺的數據庫中即可。EXCEL表格的導入可使用COM的Automation技術來實現。
監考短信通知功能是智能監考短信通知平臺的核心,該功能主要由系統的通訊模塊和業務處理模塊來實現。如圖1所示,本平臺根據監考安排預處理所得到的考場安排情況,從數據庫中調取所有監考人員信息。通訊模塊則通過終端方式向監考人員發送監考信息并接收監考人員回復的確認信息。業務處理模塊根據相應的算法選擇監考人員,根據回復內容進行監考人員的安排。

圖1 監考短信通知功能的實現
本平臺不僅只是發送手機信息通知監考人員,而且還可將相關的監考安排情況進行匯總,并自動輸出打印出來,從而實現辦公自動化功能。需要匯總的信息包括:監考人員安排情況表、監考人員簽到表、考場門貼、監考人員監考次數統計表、監考人員警示通知單等。以監考人員警示通知單為例,因監考任務只能在監考前一至兩天才可安排,所以要求監考人員手機須24小時開機,當接到安排其監考的信息時必須及時回復,業務處理模塊將根據回復的內容進行適當的處理,無故不回復者將進入監考人員警示數據庫,被警示的監考人員將被發放書面警示通知單予以警告。
該模塊主要負責短信的收發,要實現短信收發功能可以采用網關方式或終端方式。網關方式一次性投入大,而終端方式利用GSM Modem之類的設備連接電腦來收發短信,投入較小,本系統采用后一種方式[3]。
GSM Modem設備支持“AT”指令集。常用的GSM AT指令有:AT+CMGC發送消息命令、AT+CMGR讀短信、AT+CMGS發送短信、AT+CNMI顯示收到的短信等。在C#中實現短信的收發可利用.NET Framework的串口通訊SeriaPort類,在程序中使用該類的方法即可與手機進行通信,如發送信息的關鍵代碼如下:[2]

業務處理模塊主要負責整個平臺的流程控制,以及其他一些邏輯處理,比如之前所說如何才能判斷哪些監考人員進入警示名單等。監考平臺的整體流程如下:

圖2 業務處理整體流程圖
如圖2中所示,發送給監考人員的信息內容是根據考場分布情況來確定的,比如A樓有30個教室用來安排監考,則可按教室順序從監考人員庫中選擇監考人員。發送的信息內容由監考時間、監考地點、監考人員姓名等組成,如“請李某于2010年1月3日上午8點到A131參加監考,如能參加回復是、不能參加回復否,并于60分鐘內回復”。
在選擇監考人員時,其選擇的主要原則是盡量使所有監考人員在考試期間的監考次數相當,為實現此目的則可為每位監考人員加一個“優先級”的標識,默認級別為1,即最低級別,安排一次監考后級別降低一級即加1,之后監考人員的選擇則可根據優先級別來進行。在優先級別中設置“0”級為特殊級別,用以表示在監考中出現“監考事故”(比如遲到、未到等)的監考人員,一旦標記為“0”級,則不再安排監考。當考務督導人員發現監考事故后即可發送手機信息到監考平臺,監考平臺接收到指令后則將相關人員的等級設置為“0”級。為保證安全性,防止他人隨意設置,可以采取在發送的信息內加入預先設定的密碼,監考平臺分析接收的信息,只有密碼正確才能進行設置。
監考人員回復的信息中有可能加了平臺不能識別的字符,所以應當對其進行一定的處理,以使信息能被正確識別。處理的技術很多,本文使用的是正則表達式,如對空格的處理,以回復“是”為例關鍵代碼如下:

如果回復的信息經處理后仍不能被識別,則需要再次發送信息要求監考人員以正確格式重新回復。
數據庫是本平臺的基石,所有相關的數據(監考人員信息、考場安排信息、監考次數等)都存放在數據庫中。本平臺數據庫系統選的是Microsoft SQL Server2000,為了存放諸多信息,應該先建立相應的表,主要有監考人員基本情況表、考場安排表、監考人員警示表、sms信息收發表等,各表之間通過主鍵與外鍵進行聯系,因為數據庫的建立等操作不是本文討論重點,此處不再贅述。
智能監考短信通知平臺能實現從監考安排、監考通知到數據匯總打印一系列功能,可以大大提高工作效率,防止人為造成的失誤。該平臺所采用的技術不僅可適用于監考通知,也可推廣至會議通知等其他方面。
[1]楊光銀.關于高等院校監考工作的思考[J].教師,2009,(20):33-34.
[2]何海東,葉曉彤.基于C#的終端式手機短信收發設計與實現[J].四川理工學院學報,2008,(4):48-49.
[3]王成良,王小苗.快速雙向信息流通的中小企業短消息平臺實現技術[J].微型電腦應用,2005,(8):40-42,64.
[4]葉福軍.藝術類專業考試信息系統的設計與實現[J].中國教育信息化,2009,(4):42-44.
TP311
A
1672-0547(2010)05-0063-02
2010-08-24
張雪冰(1977-),男,安徽建筑工業學院教師,碩士,研究方向:計算機應用技術。