苑慶濤,曹小鵬,王奇峰
(1.西安郵電大學 計算機學院,陜西 西安 710121;2.陜西省招生考試管理中心 社會考試處,陜西 西安 710068)
NCRE在線報考系統(tǒng)的設計與實現(xiàn)
苑慶濤1,曹小鵬1,王奇峰2
(1.西安郵電大學 計算機學院,陜西 西安 710121;2.陜西省招生考試管理中心 社會考試處,陜西 西安 710068)
近年來,隨著計算機應用的逐漸普及,越來越多的在校大學生報考全國計算機等級考試(簡稱NCRE)。由于報考人數(shù)多,報考時間短,報考環(huán)節(jié)復雜,考點的考務管理工作勞動強度大、容易出錯。為了解決傳統(tǒng)報考方式存在的問題,優(yōu)化報考流程,提高報考工作的管理效率,西安郵電大學考點聯(lián)合陜西省考試管理中心,基于該考點多年來組織報考NCRE的經(jīng)驗,對傳統(tǒng)的報考流程進行了優(yōu)化,并在此基礎上,使用當前主流的軟件技術(shù)和開發(fā)平臺,設計并實現(xiàn)了一個基于Web的NCRE在線報考系統(tǒng)。經(jīng)過幾年的實際使用表明,該系統(tǒng)有效解決了傳統(tǒng)報考方式的種種不足,大大簡化了考生的報考過程,降低了考務人員的管理工作負擔,實現(xiàn)了考生報考、考務管理、數(shù)據(jù)上報等環(huán)節(jié)的無紙化網(wǎng)絡管理,在實踐中取得了良好的效果。
全國計算機等級考試;在線報考系統(tǒng);ThinkPHP;Web
隨著計算機應用的逐漸普及,越來越多的在校大學生和社會人員報考全國計算機等級考試(以下簡稱NCRE)。西安郵電大學自2010年被指定為陜西省西安市NCRE社會考生報考點以來,每年報考兩次,單次報考人數(shù)規(guī)模接近7千人,累計報考人數(shù)已超過6萬人。傳統(tǒng)的報考方式,需要考生本人到報考點填寫報考表、拍照、繳費、領取準考證等,程序復雜,工作量大,容易造成錯誤,每年都會出現(xiàn)由于出錯而耽誤學生報考的情況。報考點管理人員的工作負荷大,工作效率低,且容易出錯[1]。同時政府各級考試管理部門也都工作量較大且非常繁瑣。因此,亟需設計開發(fā)網(wǎng)上報考系統(tǒng)解決這些問題[2]。西安郵電大學NCRE考點多次邀請陜西省考試管理中心管理人員、考點工作人員以及部分考生進行討論和調(diào)研,在總結(jié)經(jīng)驗和分析問題的基礎上,從自身需求出發(fā),經(jīng)過詳盡的分析和設計,開發(fā)了基于Web的NCRE在線報考系統(tǒng)(以下簡稱在線報考系統(tǒng))。使用該報考系統(tǒng),考生可以通過網(wǎng)絡完成注冊、報考、打印準考證等大部分報考環(huán)節(jié),大大簡化了考生的報考過程;考點管理人員可隨時對報考信息進行分類查看、查詢、統(tǒng)計和管理,很大程度上減輕了管理人員的工作負擔,簡化了管理流程,降低了出錯概率,提升了報考的工作效率。同時,省考試管理中心也可以實時了解報考工作進展,掌握最新報考情況。
為了兼顧系統(tǒng)的開發(fā)效率、運行效率和安全性,該系統(tǒng)的開發(fā)采用基于MVC模式的ThinkPHP開源開發(fā)框架,數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫平臺[3]。由于單機報考系統(tǒng)使用MS SQL Server 2000數(shù)據(jù)庫平臺,而在線報考系統(tǒng)使用MySQL數(shù)據(jù)庫平臺,因此,需要對單機報考系統(tǒng)的數(shù)據(jù)存儲格式進行充分的分析和研究,以實現(xiàn)兩個異構(gòu)數(shù)據(jù)庫平臺之間的無縫對接[4]。
1.1 系統(tǒng)網(wǎng)絡拓撲圖
系統(tǒng)的網(wǎng)絡拓撲結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)拓撲結(jié)構(gòu)圖
整個報考系統(tǒng)由四臺服務器組成,它們之間通過局域網(wǎng)互通互聯(lián)。Web服務器通過防火墻接入到互聯(lián)網(wǎng)中,為考生提供在線報考服務;Web數(shù)據(jù)庫服務器提供報考數(shù)據(jù)存儲服務,通過網(wǎng)頁報考的考生信息將被寫入到Web數(shù)據(jù)庫服務器中;在考生報考過程中,通過專用的數(shù)據(jù)庫同步工具,使單機報考系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)和Web數(shù)據(jù)庫中的數(shù)據(jù)保持實時同步;網(wǎng)絡打印機通過打印服務器提供打印服務。信息審核員可通過審核終端對考生的報考信息、繳費信息進行審核;管理員可通過管理終端配置系統(tǒng)運行參數(shù)、執(zhí)行數(shù)據(jù)管理和維護等操作。
1.2 考生報考流程
明確手工報名模式下各個報考環(huán)節(jié)的流程及相互關系,是進行系統(tǒng)設計和實現(xiàn)的關鍵[5]。經(jīng)過分析,考生的報考流程如圖2所示。
考生首次報考,需要先完成注冊,才能繼續(xù)執(zhí)行與報考相關的操作??忌灾魍瓿伤袌罂夹畔⑻顖笾螅到y(tǒng)會通知考生等待報考信息的審核,審核員通過管理功能頁面對報考的考生信息進行逐一審核,報考信息符合要求的考生給予審核通過,對于報考信息存在問題的考生,審核不予通過,審核員把存在的問題及修改意見反饋給考生。審核員完成信息審核之后,考生報考終端會立即收到審核結(jié)果,通過信息審核的考生,可自行打印報考確認單,于報考截止日期前到考點現(xiàn)場繳費確認;未通過信息審核的考生,需根據(jù)審核員的反饋信息,修改報考信息,重新提交,等待審核員再次審核。
圖2 考生報考流程圖
2.1 系統(tǒng)功能設計
按照系統(tǒng)角色劃分,該系統(tǒng)可分為考生功能模塊、考務管理功能模塊和管理員功能模塊,如圖3所示。
圖3 系統(tǒng)功能模塊
考生功能模塊針對考生設計,新報考考生首先需要閱讀報考須知,了解最新的報考政策和報考流程,查看通知公告,進一步了解報考時間、報考科目、現(xiàn)場確認時間等重要信息,詳細的考生報考流程見1.2。
考務管理模塊針對考務管理人員設計,考務人員可由多人組成,每當新產(chǎn)生一條待審核報考信息時,系統(tǒng)會根據(jù)當前每位審核員持有的未審核信息數(shù)量,均衡地把待審核信息指派給某一位審核員,每位審核員只能看到系統(tǒng)指派給自己的待審核信息。通過此模塊,審核員可按照待審核、已審核、已繳費、審核未通過、所有報考信息等條件,分類查看當前的實時報考信息和每一位考生的詳細報考信息,審核員可對不同身份的考生執(zhí)行“通過審核”、“不通過審核”、“繳費確認”等操作。
管理員模塊針對系統(tǒng)的管理員設計,通過此模塊,管理員可執(zhí)行用戶管理,分配待審核考生(指派給某審核員進行審核),管理通知公告,設置系統(tǒng)運行參數(shù)(報考起止時間范圍、考試批次、打印準考證起止時間范圍),數(shù)據(jù)管理(備份、還原、初始化等),等等;另外,管理員還可以按照日期范圍、報考級別、報考信息狀態(tài)等查詢條件進行信息的統(tǒng)計和輸出。
2.2 系統(tǒng)數(shù)據(jù)庫設計
系統(tǒng)用到的主要數(shù)據(jù)庫表有7張,數(shù)據(jù)庫模型圖如圖4所示。
(1)考生個人信息表。
該表用來存儲考生的登錄信息,登錄密碼采用DES算法加密,密碼提示問題可以輔助忘記密碼的考生找回密碼。
(2)考生報考信息表。
該表用來存儲考生的報考信息,通過繳費審核之后的考生,系統(tǒng)會根據(jù)考生的報考科目,為每位考生的報考信息生成一個唯一的報考號??忌鷪罂歼^程中,考生報考信息表的“當前狀態(tài)”字段會隨著報考流程的變化而變更,報考信息狀態(tài)有以下幾種:未提交信息、已提交未審核、已通過審核、未通過審核、已繳費確認和已打印準考證。
圖4 系統(tǒng)數(shù)據(jù)庫表模型圖
(3)報考科目表。
該表用來存儲報考科目信息,每個考生只允許報考一類科目。
(4)用戶表。
該表用來存儲審核員和管理員的信息,用戶級別字段用來區(qū)別用戶的類型是審核員還是管理員。
(5)通知公告表。
該表用來存儲報考時間、注意事項等通知公告信息。
(6)系統(tǒng)設置表。
該表用來存儲報考開始時間、報考結(jié)束時間、考試批次等系統(tǒng)參數(shù)信息。
(7)準考證表。
該表用來存儲考生的準考證信息。利用單機報考系統(tǒng),可快速生成有效報考考生的準考證號。
2.3 異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步問題
單機報考系統(tǒng)采用的是MS SQL Server 2000數(shù)據(jù)庫平臺,而在線報考系統(tǒng)采用的是MySQL數(shù)據(jù)庫平臺,為解決這兩個異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步問題[6-7],實現(xiàn)兩個系統(tǒng)之間的無縫對接和協(xié)同工作,開發(fā)了一個異構(gòu)數(shù)據(jù)庫數(shù)據(jù)實時同步工具。該工具能按照設定的頻率(最小粒度秒級)實現(xiàn)異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)實時同步,此外,該工具還提供同步日志查詢、同步異常數(shù)據(jù)校驗、差異比較、統(tǒng)計分析等輔助功能。
2.4 系統(tǒng)的性能和并發(fā)問題
由于NCRE報考時間短,考生人數(shù)多,訪問高峰期服務器的負載很重,所以在進行系統(tǒng)設計時,必須考慮系統(tǒng)的性能和并發(fā)問題,采用合理的性能優(yōu)化手段,保證系統(tǒng)在高并發(fā)、高訪問量的場景下的高可用性[8-9]。
為了提升開發(fā)效率,保證系統(tǒng)的性能和效率,開發(fā)平臺選用成熟的ThinkPHP開發(fā)框架[10]。該框架提供了一種敏捷開發(fā)的手段,使得開發(fā)者能夠快速開發(fā)出穩(wěn)定的企業(yè)級Web應用程序。整個系統(tǒng)的實現(xiàn)過程分三層進行:模型層、視圖層和控制層。
3.1 模型層(Model)實現(xiàn)
模型層用來表示數(shù)據(jù)和業(yè)務規(guī)則。在MVC中,模型層擁有最多的處理任務。ThinkPHP采用面向?qū)ο缶幊谭绞?,對模型層進行了高度封裝,開發(fā)者可不需要定義自己的模型類,任何一個模型類都有最基本的原子操作功能(簡稱CURD),通過這些原子操作,很方便地完成數(shù)據(jù)庫中數(shù)據(jù)的增、刪、改、查等基本操作[11]。
3.2 視圖層(View)實現(xiàn)
視圖層即網(wǎng)頁的前端UI層,它直接和終端用戶交互,在Web開發(fā)中占有非常重要的地位。好的前端設計是獲得良好的用戶體驗和高性能訪問的前提。布局是否合理、風格是否簡潔、配色是否和諧、流程是否通暢、操作是否便捷,這些特性都是視圖層的實現(xiàn)過程中需要考慮的因素。考慮到瀏覽器的兼容性、設計的靈活性和系統(tǒng)的高性能,視圖層的實現(xiàn)采用CSS和DIV的布局風格。為了獲得較好的系統(tǒng)性能和用戶體驗,視圖層的實現(xiàn)過程中使用到了JQuery[12]、Ajax[13]、BootStrap等主流Web前端開發(fā)技術(shù)。
另外,為了提高系統(tǒng)的安全性和運行效率,視圖層需要對考生輸入的關鍵數(shù)據(jù),如姓名、出生日期、身份證號、手機號碼、Email等進行格式校驗,保證考生輸入信息的有效性[14]。
3.3 控制層(Controller)實現(xiàn)
ThinkPHP的控制層由控制器組成,控制器接收用戶的輸入并調(diào)用模型和視圖去完成用戶的請求,它負責接收用戶的請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)??刂茖邮钦麄€系統(tǒng)的關鍵和核心部分,良好的控制層設計和實現(xiàn)是保證系統(tǒng)正確、高效運行的前提。
從西安郵電大學NCRE報考點的實際需求出發(fā),為解決傳統(tǒng)報考方式存在的主要問題,基于ThinkPHP開源開發(fā)框架和MySQL數(shù)據(jù)庫平臺,設計并實現(xiàn)了一個易于操作、性能高效、擴展方便的NCRE在線報考系統(tǒng),很好地彌補了單機報考系統(tǒng)的缺陷,實現(xiàn)了和單機報考系統(tǒng)數(shù)據(jù)的無縫對接。通過實際使用,該系統(tǒng)功能實用,運行平穩(wěn),操作便捷,很大程度上方便了考生報考,減輕了管理工作負擔,提升了管理工作效率。實踐證明,該系統(tǒng)具備一定的實用價值和推廣價值。
[1] 孔彥杰,郭明超.NCRE報名數(shù)據(jù)快速采集系統(tǒng)的設計與實現(xiàn)[J].微型機與應用,2012,31(7):85-87.
[2] 韋 妍.基于B/S模式的全國計算機等級考試報名系統(tǒng)[J].吉首大學學報:自然科學版,2013,34(1):33-36.
[3] 姚 徐,姚雙良.全國計算機等級考試網(wǎng)上報名系統(tǒng)的分析與設計[J].計算機與現(xiàn)代化,2011(11):202-205.
[4] 張 琳.基于多層B/S結(jié)構(gòu)的全國計算機等級考試網(wǎng)上報名系統(tǒng)設計[D].西安:西安電子科技大學,2009.
[5] 陳詳章,韓永印,劉耿龍.計算機等級考試網(wǎng)上報名系統(tǒng)的設計與實現(xiàn)[J].實驗技術(shù)與管理,2010,27(9):172-174.
[6] 張大朋,陳 馳,徐 震.異構(gòu)數(shù)據(jù)庫復制技術(shù)的研究與實現(xiàn)[J].中國科學院研究生院學報,2012,29(1):101-108.
[7] Gai J Y,Zhang Z N,Xiao H.Data replication technique analysis and application in distributed database system[J].Computer Applications and Software,2005,22(7):36-38.
[8] 王 成,李少元,鄭黎曉,等.Web前端性能優(yōu)化方案與實踐[J].計算機應用與軟件,2014,31(12):89-95.
[9] Loudon K.Development large web applications[M].[s.l.]:O’Reilly,2010.
[10] 王昭英.基于MVC設計模式的thinkphp框架的研究與應用[D].西安:西安建筑科技大學,2010.
[11] 王俊芳,李隱峰,王 池.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014,27(4):151-153.
[12] 潘 杰,周傳生.基于JQuery框架的Web研究與實現(xiàn)[J].沈陽師范大學學報:自然科學版,2015,33(1):96-99.
[13] 熊 文,熊淑華,孫 旭,等.Ajax技術(shù)在Web2.0網(wǎng)站設計中的應用研究[J].計算機技術(shù)與發(fā)展,2012,22(3):145-148.
[14] 李 方,王運蘭.網(wǎng)上考試報名異種信息綜合處理平臺的研究[J].無線互聯(lián)科技,2015(3):36-38.
Design and Implementation of Online Registration System for NCRE
YUAN Qing-tao1,CAO Xiao-peng1,WANG Qi-feng2
(1.School of Computer Science,Xi’an University of Posts and Telecommunications, Xi’an 710121,China;2.Department of Social Exam,Entrance Exam Management Center of Shaanxi Province,Xi’an 710068,China)
In recent years,with the popularity of computer applications,more and more college students enter oneself for National Computer Rank Examination (NCRE).Large number of candidates,short time and complex registration process lead to hard burden management with high mistakes.In order to solve the existing problems of the traditional registration,optimize the work flow and improve the work efficiency,Staff from Testing Center of Xi’an University of Posts and Telecommunications together with Entrance Exam Management Center of Shaanxi Province studies the working experience of many years and optimizes the traditional registration process.Using the current mainstream software technology and development platform,a Web-based registration system for NCRE is designed and implemented.Several years of practical use have proved that this system effectively solves the shortcomings of the traditional ways and greatly simplifies the candidate's registration process.It provides a paperless network management of registration,management and data reporting.The system has achieved good effect in practice.
NCRE;online registration system;ThinkPHP;Web
2015-12-24
2016-04-19
時間:2016-09-19
國家自然科學基金資助項目(61373116);陜西省考試管理中心調(diào)研課題項目;西安市科技計劃項目(CXY1516(3));西安郵電大學青年教師科研基金項目(ZL2012-13)
苑慶濤(1980-),男,碩士,工程師,研究方向為計算機應用技術(shù)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160919.0839.018.html
TP311
A
1673-629X(2016)10-0104-04
10.3969/j.issn.1673-629X.2016.10.023