苑慶濤,曹小鵬,王奇峰
(1.西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710121;2.陜西省招生考試管理中心 社會(huì)考試處,陜西 西安 710068)
NCRE在線報(bào)考系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
苑慶濤1,曹小鵬1,王奇峰2
(1.西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710121;2.陜西省招生考試管理中心 社會(huì)考試處,陜西 西安 710068)
近年來(lái),隨著計(jì)算機(jī)應(yīng)用的逐漸普及,越來(lái)越多的在校大學(xué)生報(bào)考全國(guó)計(jì)算機(jī)等級(jí)考試(簡(jiǎn)稱NCRE)。由于報(bào)考人數(shù)多,報(bào)考時(shí)間短,報(bào)考環(huán)節(jié)復(fù)雜,考點(diǎn)的考務(wù)管理工作勞動(dòng)強(qiáng)度大、容易出錯(cuò)。為了解決傳統(tǒng)報(bào)考方式存在的問(wèn)題,優(yōu)化報(bào)考流程,提高報(bào)考工作的管理效率,西安郵電大學(xué)考點(diǎn)聯(lián)合陜西省考試管理中心,基于該考點(diǎn)多年來(lái)組織報(bào)考NCRE的經(jīng)驗(yàn),對(duì)傳統(tǒng)的報(bào)考流程進(jìn)行了優(yōu)化,并在此基礎(chǔ)上,使用當(dāng)前主流的軟件技術(shù)和開發(fā)平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Web的NCRE在線報(bào)考系統(tǒng)。經(jīng)過(guò)幾年的實(shí)際使用表明,該系統(tǒng)有效解決了傳統(tǒng)報(bào)考方式的種種不足,大大簡(jiǎn)化了考生的報(bào)考過(guò)程,降低了考務(wù)人員的管理工作負(fù)擔(dān),實(shí)現(xiàn)了考生報(bào)考、考務(wù)管理、數(shù)據(jù)上報(bào)等環(huán)節(jié)的無(wú)紙化網(wǎng)絡(luò)管理,在實(shí)踐中取得了良好的效果。
全國(guó)計(jì)算機(jī)等級(jí)考試;在線報(bào)考系統(tǒng);ThinkPHP;Web
隨著計(jì)算機(jī)應(yīng)用的逐漸普及,越來(lái)越多的在校大學(xué)生和社會(huì)人員報(bào)考全國(guó)計(jì)算機(jī)等級(jí)考試(以下簡(jiǎn)稱NCRE)。西安郵電大學(xué)自2010年被指定為陜西省西安市NCRE社會(huì)考生報(bào)考點(diǎn)以來(lái),每年報(bào)考兩次,單次報(bào)考人數(shù)規(guī)模接近7千人,累計(jì)報(bào)考人數(shù)已超過(guò)6萬(wàn)人。傳統(tǒng)的報(bào)考方式,需要考生本人到報(bào)考點(diǎn)填寫報(bào)考表、拍照、繳費(fèi)、領(lǐng)取準(zhǔn)考證等,程序復(fù)雜,工作量大,容易造成錯(cuò)誤,每年都會(huì)出現(xiàn)由于出錯(cuò)而耽誤學(xué)生報(bào)考的情況。報(bào)考點(diǎn)管理人員的工作負(fù)荷大,工作效率低,且容易出錯(cuò)[1]。同時(shí)政府各級(jí)考試管理部門也都工作量較大且非常繁瑣。因此,亟需設(shè)計(jì)開發(fā)網(wǎng)上報(bào)考系統(tǒng)解決這些問(wèn)題[2]。西安郵電大學(xué)NCRE考點(diǎn)多次邀請(qǐng)陜西省考試管理中心管理人員、考點(diǎn)工作人員以及部分考生進(jìn)行討論和調(diào)研,在總結(jié)經(jīng)驗(yàn)和分析問(wèn)題的基礎(chǔ)上,從自身需求出發(fā),經(jīng)過(guò)詳盡的分析和設(shè)計(jì),開發(fā)了基于Web的NCRE在線報(bào)考系統(tǒng)(以下簡(jiǎn)稱在線報(bào)考系統(tǒng))。使用該報(bào)考系統(tǒng),考生可以通過(guò)網(wǎng)絡(luò)完成注冊(cè)、報(bào)考、打印準(zhǔn)考證等大部分報(bào)考環(huán)節(jié),大大簡(jiǎn)化了考生的報(bào)考過(guò)程;考點(diǎn)管理人員可隨時(shí)對(duì)報(bào)考信息進(jìn)行分類查看、查詢、統(tǒng)計(jì)和管理,很大程度上減輕了管理人員的工作負(fù)擔(dān),簡(jiǎn)化了管理流程,降低了出錯(cuò)概率,提升了報(bào)考的工作效率。同時(shí),省考試管理中心也可以實(shí)時(shí)了解報(bào)考工作進(jìn)展,掌握最新報(bào)考情況。
為了兼顧系統(tǒng)的開發(fā)效率、運(yùn)行效率和安全性,該系統(tǒng)的開發(fā)采用基于MVC模式的ThinkPHP開源開發(fā)框架,數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù)平臺(tái)[3]。由于單機(jī)報(bào)考系統(tǒng)使用MS SQL Server 2000數(shù)據(jù)庫(kù)平臺(tái),而在線報(bào)考系統(tǒng)使用MySQL數(shù)據(jù)庫(kù)平臺(tái),因此,需要對(duì)單機(jī)報(bào)考系統(tǒng)的數(shù)據(jù)存儲(chǔ)格式進(jìn)行充分的分析和研究,以實(shí)現(xiàn)兩個(gè)異構(gòu)數(shù)據(jù)庫(kù)平臺(tái)之間的無(wú)縫對(duì)接[4]。
1.1 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D
系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖
整個(gè)報(bào)考系統(tǒng)由四臺(tái)服務(wù)器組成,它們之間通過(guò)局域網(wǎng)互通互聯(lián)。Web服務(wù)器通過(guò)防火墻接入到互聯(lián)網(wǎng)中,為考生提供在線報(bào)考服務(wù);Web數(shù)據(jù)庫(kù)服務(wù)器提供報(bào)考數(shù)據(jù)存儲(chǔ)服務(wù),通過(guò)網(wǎng)頁(yè)報(bào)考的考生信息將被寫入到Web數(shù)據(jù)庫(kù)服務(wù)器中;在考生報(bào)考過(guò)程中,通過(guò)專用的數(shù)據(jù)庫(kù)同步工具,使單機(jī)報(bào)考系統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和Web數(shù)據(jù)庫(kù)中的數(shù)據(jù)保持實(shí)時(shí)同步;網(wǎng)絡(luò)打印機(jī)通過(guò)打印服務(wù)器提供打印服務(wù)。信息審核員可通過(guò)審核終端對(duì)考生的報(bào)考信息、繳費(fèi)信息進(jìn)行審核;管理員可通過(guò)管理終端配置系統(tǒng)運(yùn)行參數(shù)、執(zhí)行數(shù)據(jù)管理和維護(hù)等操作。
1.2 考生報(bào)考流程
明確手工報(bào)名模式下各個(gè)報(bào)考環(huán)節(jié)的流程及相互關(guān)系,是進(jìn)行系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的關(guān)鍵[5]。經(jīng)過(guò)分析,考生的報(bào)考流程如圖2所示。
考生首次報(bào)考,需要先完成注冊(cè),才能繼續(xù)執(zhí)行與報(bào)考相關(guān)的操作??忌灾魍瓿伤袌?bào)考信息填報(bào)之后,系統(tǒng)會(huì)通知考生等待報(bào)考信息的審核,審核員通過(guò)管理功能頁(yè)面對(duì)報(bào)考的考生信息進(jìn)行逐一審核,報(bào)考信息符合要求的考生給予審核通過(guò),對(duì)于報(bào)考信息存在問(wèn)題的考生,審核不予通過(guò),審核員把存在的問(wèn)題及修改意見(jiàn)反饋給考生。審核員完成信息審核之后,考生報(bào)考終端會(huì)立即收到審核結(jié)果,通過(guò)信息審核的考生,可自行打印報(bào)考確認(rèn)單,于報(bào)考截止日期前到考點(diǎn)現(xiàn)場(chǎng)繳費(fèi)確認(rèn);未通過(guò)信息審核的考生,需根據(jù)審核員的反饋信息,修改報(bào)考信息,重新提交,等待審核員再次審核。
圖2 考生報(bào)考流程圖
2.1 系統(tǒng)功能設(shè)計(jì)
按照系統(tǒng)角色劃分,該系統(tǒng)可分為考生功能模塊、考務(wù)管理功能模塊和管理員功能模塊,如圖3所示。
圖3 系統(tǒng)功能模塊
考生功能模塊針對(duì)考生設(shè)計(jì),新報(bào)考考生首先需要閱讀報(bào)考須知,了解最新的報(bào)考政策和報(bào)考流程,查看通知公告,進(jìn)一步了解報(bào)考時(shí)間、報(bào)考科目、現(xiàn)場(chǎng)確認(rèn)時(shí)間等重要信息,詳細(xì)的考生報(bào)考流程見(jiàn)1.2。
考務(wù)管理模塊針對(duì)考務(wù)管理人員設(shè)計(jì),考務(wù)人員可由多人組成,每當(dāng)新產(chǎn)生一條待審核報(bào)考信息時(shí),系統(tǒng)會(huì)根據(jù)當(dāng)前每位審核員持有的未審核信息數(shù)量,均衡地把待審核信息指派給某一位審核員,每位審核員只能看到系統(tǒng)指派給自己的待審核信息。通過(guò)此模塊,審核員可按照待審核、已審核、已繳費(fèi)、審核未通過(guò)、所有報(bào)考信息等條件,分類查看當(dāng)前的實(shí)時(shí)報(bào)考信息和每一位考生的詳細(xì)報(bào)考信息,審核員可對(duì)不同身份的考生執(zhí)行“通過(guò)審核”、“不通過(guò)審核”、“繳費(fèi)確認(rèn)”等操作。
管理員模塊針對(duì)系統(tǒng)的管理員設(shè)計(jì),通過(guò)此模塊,管理員可執(zhí)行用戶管理,分配待審核考生(指派給某審核員進(jìn)行審核),管理通知公告,設(shè)置系統(tǒng)運(yùn)行參數(shù)(報(bào)考起止時(shí)間范圍、考試批次、打印準(zhǔn)考證起止時(shí)間范圍),數(shù)據(jù)管理(備份、還原、初始化等),等等;另外,管理員還可以按照日期范圍、報(bào)考級(jí)別、報(bào)考信息狀態(tài)等查詢條件進(jìn)行信息的統(tǒng)計(jì)和輸出。
2.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
系統(tǒng)用到的主要數(shù)據(jù)庫(kù)表有7張,數(shù)據(jù)庫(kù)模型圖如圖4所示。
(1)考生個(gè)人信息表。
該表用來(lái)存儲(chǔ)考生的登錄信息,登錄密碼采用DES算法加密,密碼提示問(wèn)題可以輔助忘記密碼的考生找回密碼。
(2)考生報(bào)考信息表。
該表用來(lái)存儲(chǔ)考生的報(bào)考信息,通過(guò)繳費(fèi)審核之后的考生,系統(tǒng)會(huì)根據(jù)考生的報(bào)考科目,為每位考生的報(bào)考信息生成一個(gè)唯一的報(bào)考號(hào)。考生報(bào)考過(guò)程中,考生報(bào)考信息表的“當(dāng)前狀態(tài)”字段會(huì)隨著報(bào)考流程的變化而變更,報(bào)考信息狀態(tài)有以下幾種:未提交信息、已提交未審核、已通過(guò)審核、未通過(guò)審核、已繳費(fèi)確認(rèn)和已打印準(zhǔn)考證。
圖4 系統(tǒng)數(shù)據(jù)庫(kù)表模型圖
(3)報(bào)考科目表。
該表用來(lái)存儲(chǔ)報(bào)考科目信息,每個(gè)考生只允許報(bào)考一類科目。
(4)用戶表。
該表用來(lái)存儲(chǔ)審核員和管理員的信息,用戶級(jí)別字段用來(lái)區(qū)別用戶的類型是審核員還是管理員。
(5)通知公告表。
該表用來(lái)存儲(chǔ)報(bào)考時(shí)間、注意事項(xiàng)等通知公告信息。
(6)系統(tǒng)設(shè)置表。
該表用來(lái)存儲(chǔ)報(bào)考開始時(shí)間、報(bào)考結(jié)束時(shí)間、考試批次等系統(tǒng)參數(shù)信息。
(7)準(zhǔn)考證表。
該表用來(lái)存儲(chǔ)考生的準(zhǔn)考證信息。利用單機(jī)報(bào)考系統(tǒng),可快速生成有效報(bào)考考生的準(zhǔn)考證號(hào)。
2.3 異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)同步問(wèn)題
單機(jī)報(bào)考系統(tǒng)采用的是MS SQL Server 2000數(shù)據(jù)庫(kù)平臺(tái),而在線報(bào)考系統(tǒng)采用的是MySQL數(shù)據(jù)庫(kù)平臺(tái),為解決這兩個(gè)異構(gòu)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步問(wèn)題[6-7],實(shí)現(xiàn)兩個(gè)系統(tǒng)之間的無(wú)縫對(duì)接和協(xié)同工作,開發(fā)了一個(gè)異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)時(shí)同步工具。該工具能按照設(shè)定的頻率(最小粒度秒級(jí))實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)之間數(shù)據(jù)實(shí)時(shí)同步,此外,該工具還提供同步日志查詢、同步異常數(shù)據(jù)校驗(yàn)、差異比較、統(tǒng)計(jì)分析等輔助功能。
2.4 系統(tǒng)的性能和并發(fā)問(wèn)題
由于NCRE報(bào)考時(shí)間短,考生人數(shù)多,訪問(wèn)高峰期服務(wù)器的負(fù)載很重,所以在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),必須考慮系統(tǒng)的性能和并發(fā)問(wèn)題,采用合理的性能優(yōu)化手段,保證系統(tǒng)在高并發(fā)、高訪問(wèn)量的場(chǎng)景下的高可用性[8-9]。
為了提升開發(fā)效率,保證系統(tǒng)的性能和效率,開發(fā)平臺(tái)選用成熟的ThinkPHP開發(fā)框架[10]。該框架提供了一種敏捷開發(fā)的手段,使得開發(fā)者能夠快速開發(fā)出穩(wěn)定的企業(yè)級(jí)Web應(yīng)用程序。整個(gè)系統(tǒng)的實(shí)現(xiàn)過(guò)程分三層進(jìn)行:模型層、視圖層和控制層。
3.1 模型層(Model)實(shí)現(xiàn)
模型層用來(lái)表示數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC中,模型層擁有最多的處理任務(wù)。ThinkPHP采用面向?qū)ο缶幊谭绞?,?duì)模型層進(jìn)行了高度封裝,開發(fā)者可不需要定義自己的模型類,任何一個(gè)模型類都有最基本的原子操作功能(簡(jiǎn)稱CURD),通過(guò)這些原子操作,很方便地完成數(shù)據(jù)庫(kù)中數(shù)據(jù)的增、刪、改、查等基本操作[11]。
3.2 視圖層(View)實(shí)現(xiàn)
視圖層即網(wǎng)頁(yè)的前端UI層,它直接和終端用戶交互,在Web開發(fā)中占有非常重要的地位。好的前端設(shè)計(jì)是獲得良好的用戶體驗(yàn)和高性能訪問(wèn)的前提。布局是否合理、風(fēng)格是否簡(jiǎn)潔、配色是否和諧、流程是否通暢、操作是否便捷,這些特性都是視圖層的實(shí)現(xiàn)過(guò)程中需要考慮的因素。考慮到瀏覽器的兼容性、設(shè)計(jì)的靈活性和系統(tǒng)的高性能,視圖層的實(shí)現(xiàn)采用CSS和DIV的布局風(fēng)格。為了獲得較好的系統(tǒng)性能和用戶體驗(yàn),視圖層的實(shí)現(xiàn)過(guò)程中使用到了JQuery[12]、Ajax[13]、BootStrap等主流Web前端開發(fā)技術(shù)。
另外,為了提高系統(tǒng)的安全性和運(yùn)行效率,視圖層需要對(duì)考生輸入的關(guān)鍵數(shù)據(jù),如姓名、出生日期、身份證號(hào)、手機(jī)號(hào)碼、Email等進(jìn)行格式校驗(yàn),保證考生輸入信息的有效性[14]。
3.3 控制層(Controller)實(shí)現(xiàn)
ThinkPHP的控制層由控制器組成,控制器接收用戶的輸入并調(diào)用模型和視圖去完成用戶的請(qǐng)求,它負(fù)責(zé)接收用戶的請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。控制層是整個(gè)系統(tǒng)的關(guān)鍵和核心部分,良好的控制層設(shè)計(jì)和實(shí)現(xiàn)是保證系統(tǒng)正確、高效運(yùn)行的前提。
從西安郵電大學(xué)NCRE報(bào)考點(diǎn)的實(shí)際需求出發(fā),為解決傳統(tǒng)報(bào)考方式存在的主要問(wèn)題,基于ThinkPHP開源開發(fā)框架和MySQL數(shù)據(jù)庫(kù)平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)易于操作、性能高效、擴(kuò)展方便的NCRE在線報(bào)考系統(tǒng),很好地彌補(bǔ)了單機(jī)報(bào)考系統(tǒng)的缺陷,實(shí)現(xiàn)了和單機(jī)報(bào)考系統(tǒng)數(shù)據(jù)的無(wú)縫對(duì)接。通過(guò)實(shí)際使用,該系統(tǒng)功能實(shí)用,運(yùn)行平穩(wěn),操作便捷,很大程度上方便了考生報(bào)考,減輕了管理工作負(fù)擔(dān),提升了管理工作效率。實(shí)踐證明,該系統(tǒng)具備一定的實(shí)用價(jià)值和推廣價(jià)值。
[1] 孔彥杰,郭明超.NCRE報(bào)名數(shù)據(jù)快速采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(7):85-87.
[2] 韋 妍.基于B/S模式的全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名系統(tǒng)[J].吉首大學(xué)學(xué)報(bào):自然科學(xué)版,2013,34(1):33-36.
[3] 姚 徐,姚雙良.全國(guó)計(jì)算機(jī)等級(jí)考試網(wǎng)上報(bào)名系統(tǒng)的分析與設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2011(11):202-205.
[4] 張 琳.基于多層B/S結(jié)構(gòu)的全國(guó)計(jì)算機(jī)等級(jí)考試網(wǎng)上報(bào)名系統(tǒng)設(shè)計(jì)[D].西安:西安電子科技大學(xué),2009.
[5] 陳詳章,韓永印,劉耿龍.計(jì)算機(jī)等級(jí)考試網(wǎng)上報(bào)名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(9):172-174.
[6] 張大朋,陳 馳,徐 震.異構(gòu)數(shù)據(jù)庫(kù)復(fù)制技術(shù)的研究與實(shí)現(xiàn)[J].中國(guó)科學(xué)院研究生院學(xué)報(bào),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)化方案與實(shí)踐[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(12):89-95.
[9] Loudon K.Development large web applications[M].[s.l.]:O’Reilly,2010.
[10] 王昭英.基于MVC設(shè)計(jì)模式的thinkphp框架的研究與應(yīng)用[D].西安:西安建筑科技大學(xué),2010.
[11] 王俊芳,李隱峰,王 池.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014,27(4):151-153.
[12] 潘 杰,周傳生.基于JQuery框架的Web研究與實(shí)現(xiàn)[J].沈陽(yáng)師范大學(xué)學(xué)報(bào):自然科學(xué)版,2015,33(1):96-99.
[13] 熊 文,熊淑華,孫 旭,等.Ajax技術(shù)在Web2.0網(wǎng)站設(shè)計(jì)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(3):145-148.
[14] 李 方,王運(yùn)蘭.網(wǎng)上考試報(bào)名異種信息綜合處理平臺(tái)的研究[J].無(wú)線互聯(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
時(shí)間:2016-09-19
國(guó)家自然科學(xué)基金資助項(xiàng)目(61373116);陜西省考試管理中心調(diào)研課題項(xiàng)目;西安市科技計(jì)劃項(xiàng)目(CXY1516(3));西安郵電大學(xué)青年教師科研基金項(xiàng)目(ZL2012-13)
苑慶濤(1980-),男,碩士,工程師,研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(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