周春容
(四川交通職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,四川成都 611130)
隨著信息技術(shù)的普及,各種計(jì)算機(jī)專(zhuān)業(yè)證書(shū)已成為用人單位聘任員工的重要參考條件,其中全國(guó)計(jì)算機(jī)等級(jí)考試以其廣泛的社會(huì)認(rèn)可度和高度的權(quán)威性,受到廣泛認(rèn)可。
隨著全國(guó)計(jì)算機(jī)等級(jí)考試已經(jīng)普及,但目前大多考試報(bào)名、成績(jī)查詢(xún)、考試宣傳等依然采用的是發(fā)放紙制文件的形式。隨著報(bào)考人數(shù)的增加,使得工作量加大,同時(shí)也造成了資源的浪費(fèi)。
某學(xué)院自2010年參加NCRE考試以來(lái),到2012年報(bào)考人數(shù)接近3000人,這給報(bào)名和管理工作帶來(lái)了難度??荚嚐o(wú)紙化管理系統(tǒng),將解決這一弊端,同時(shí)針對(duì)本院的專(zhuān)業(yè)和班級(jí)特點(diǎn),簡(jiǎn)化報(bào)名方式,提高工作效率。
考試管理系統(tǒng)主要完成考試數(shù)據(jù)的管理、準(zhǔn)考證生成及打印等功能。開(kāi)發(fā)的系統(tǒng)需要解決與省自考辦所采用的計(jì)算機(jī)等級(jí)考試管理系統(tǒng)的對(duì)接問(wèn)題。報(bào)名人數(shù)增加,在報(bào)名期間或查詢(xún)成績(jī)時(shí)將出現(xiàn)大批用戶(hù)同時(shí)訪問(wèn)網(wǎng)站,所以系統(tǒng)網(wǎng)站在保證性能的同時(shí),還需能夠容納更多的訪問(wèn)者。
目前省自考辦和各考點(diǎn)院校所采用的系統(tǒng)要求Excel文件格式導(dǎo)入報(bào)名信息,本系統(tǒng)要解決的問(wèn)題是將網(wǎng)上報(bào)名信息分等級(jí)以Excel形式導(dǎo)出,再導(dǎo)入考點(diǎn)院校所使用的數(shù)據(jù)庫(kù)中。
運(yùn)用JAVA Web[1]開(kāi)發(fā)中常用的SSH框架快速開(kāi)發(fā)Web應(yīng)用程序,為減少服務(wù)器負(fù)載,提高并發(fā)訪問(wèn)時(shí)的訪問(wèn)速度,對(duì)數(shù)據(jù)庫(kù)訪問(wèn)采用主鍵查詢(xún)和視圖及存儲(chǔ)過(guò)程。對(duì)數(shù)據(jù)庫(kù)訪問(wèn)運(yùn)用數(shù)據(jù)庫(kù)連接池技術(shù)。
系統(tǒng)主要解決當(dāng)前計(jì)算機(jī)等級(jí)考試報(bào)名流程繁瑣、效率低、報(bào)名人數(shù)急劇增多及考后成績(jī)統(tǒng)計(jì)工作量大等問(wèn)題。系統(tǒng)應(yīng)主要實(shí)現(xiàn)以下功能[2]:考生是該系統(tǒng)重要的使用角色,其可通過(guò)網(wǎng)絡(luò)報(bào)名參加等級(jí)考試、查詢(xún)成績(jī)和培訓(xùn)等信息。等級(jí)考試的工作人員由系統(tǒng)管理員統(tǒng)一分配權(quán)限,具備考試等級(jí)管理、考試信息的發(fā)布、報(bào)名信息的導(dǎo)入導(dǎo)出及培訓(xùn)信息的管理等功能。培訓(xùn)教師在系統(tǒng)管理員分配權(quán)限后可查看培訓(xùn)安排或所培訓(xùn)學(xué)生的考試結(jié)果。系統(tǒng)管理員負(fù)責(zé)系統(tǒng)運(yùn)行時(shí)的所有工作,包括系統(tǒng)使用前的數(shù)據(jù)初始化和系統(tǒng)權(quán)限的分配。
為提高開(kāi)發(fā)效率、系統(tǒng)可擴(kuò)展性及維護(hù)升級(jí)的方便性,根據(jù)需求分析以及SSH架構(gòu)整合技術(shù)特點(diǎn),系統(tǒng)采用MVC技術(shù)架構(gòu)如圖1所示[3]。
圖1 系統(tǒng)架構(gòu)圖
表示層主要由JSP頁(yè)面組成,負(fù)責(zé)接收用戶(hù)請(qǐng)求和響應(yīng)系統(tǒng)處理的結(jié)果;控制層由Struts2實(shí)現(xiàn),主要負(fù)責(zé)攔截用戶(hù)請(qǐng)求再根據(jù)請(qǐng)求與業(yè)務(wù)邏輯層進(jìn)行交互,并依據(jù)結(jié)果轉(zhuǎn)發(fā)到不同的JSP;模型層負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)庫(kù)訪問(wèn),系統(tǒng)業(yè)務(wù)邏輯由Spring框架實(shí)現(xiàn),由業(yè)務(wù)邏輯接口和業(yè)務(wù)邏輯實(shí)現(xiàn)類(lèi)組成,數(shù)據(jù)庫(kù)訪問(wèn)由Hibernate框架實(shí)現(xiàn),由持久層的接口和持久層的實(shí)現(xiàn)類(lèi)組成。
根據(jù)需求分析,按照“低耦合、高內(nèi)聚”的原則,系統(tǒng)將劃分為以下主要功能模塊:用戶(hù)管理模塊、網(wǎng)上報(bào)名模塊、成績(jī)查詢(xún)模塊、成績(jī)統(tǒng)計(jì)模塊和考試信息管理模塊,系統(tǒng)功能結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)主要功能結(jié)構(gòu)圖
數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的關(guān)鍵,其直接影響系統(tǒng)的性能,系統(tǒng)選擇SQL Server2008作為后臺(tái)數(shù)據(jù)庫(kù)。按照用戶(hù)需求分析和系統(tǒng)功能,確定了數(shù)據(jù)庫(kù)主要由用戶(hù)表tb_user、報(bào)名表tb_examRegist、報(bào)考語(yǔ)言表tb_language、考試等級(jí)表 tb_examLevel、考試信息表 tb_examInfo、分?jǐn)?shù)表tb_score等構(gòu)成,上述主要表的關(guān)系如圖3所示。
操作系統(tǒng)采用Windows7,開(kāi)發(fā)工具采用MyEclipse10,數(shù)據(jù)庫(kù)為SQL Server2008,使用TortoiseSVN進(jìn)行項(xiàng)目配置管理。
圖3 數(shù)據(jù)庫(kù)主要表關(guān)系模型圖
系統(tǒng)采用SSH框架實(shí)現(xiàn),數(shù)據(jù)訪問(wèn)層主要采用Hibernate實(shí)現(xiàn)的數(shù)據(jù)持久化操作,采用Hibernate的優(yōu)勢(shì)在于可大幅減少代碼重復(fù),且較多方面均可使用Hibernate的操作。而業(yè)務(wù)邏輯層代碼實(shí)現(xiàn)了一個(gè)自定義的接口Service,這便控制了系統(tǒng)的可變性增加。
系統(tǒng)從以下兩個(gè)方面解決之前提到的減少服務(wù)器端的負(fù)荷,提高并發(fā)訪問(wèn)時(shí)的訪問(wèn)效率問(wèn)題,一是采用DWZ富客戶(hù)端框架,二是數(shù)據(jù)庫(kù)訪問(wèn)時(shí)采用數(shù)據(jù)庫(kù)連接技術(shù)。
(1)DWZ富客戶(hù)端框架。由于Web應(yīng)用程序的特點(diǎn),該應(yīng)用程序要求可快速、高效地與服務(wù)器進(jìn)行數(shù)據(jù)交互,為用戶(hù)提供友好的操作界面。富客戶(hù)端技術(shù)克服了傳統(tǒng)應(yīng)用交互性界面不友好以及響應(yīng)速度慢等缺點(diǎn),因此,該技術(shù)被越來(lái)越多地用于構(gòu)建增強(qiáng)用戶(hù)體驗(yàn)的應(yīng)用中,并逐漸成為Web應(yīng)用的主流技術(shù)。DWZ是基于JQuery實(shí)現(xiàn)HTML+CSS+JS的富客戶(hù)端UI組件框架,憑借其簡(jiǎn)單的語(yǔ)法和跨平臺(tái)的兼容性,簡(jiǎn)化了開(kāi)發(fā)操作,并提供了一些組件庫(kù)使得用戶(hù)體驗(yàn)更加豐富。同時(shí)采用全Ajax操作的框架,通過(guò)此框架的封裝,支持HTML屬性擴(kuò)展,對(duì)于系統(tǒng)只需添加相應(yīng)屬性,便可實(shí)現(xiàn)對(duì)應(yīng)的功能。
(2)數(shù)據(jù)庫(kù)連接池技術(shù)。在使用JDBC進(jìn)行與數(shù)據(jù)庫(kù)有關(guān)的應(yīng)用開(kāi)發(fā)中,數(shù)據(jù)庫(kù)連接的管理是一個(gè)難點(diǎn)。通常連接的混亂管理將造成系統(tǒng)資源開(kāi)銷(xiāo)過(guò)大,成為制約應(yīng)用程序效率的瓶頸。JDBC并未提供數(shù)據(jù)庫(kù)連接池技術(shù),作為眾多用戶(hù)訪問(wèn)的Web應(yīng)用程序,運(yùn)用數(shù)據(jù)庫(kù)連接池技術(shù)在效率和穩(wěn)定性上相比采用傳統(tǒng)技術(shù)要好。
文中主要介紹了運(yùn)用SSH框架開(kāi)發(fā)一款與平臺(tái)無(wú)關(guān)的考試無(wú)紙化管理系統(tǒng),實(shí)現(xiàn)了網(wǎng)上報(bào)名、成績(jī)查詢(xún)、考試信息查詢(xún)以及考試信息統(tǒng)計(jì)等功能。該系統(tǒng)的投入運(yùn)行將大幅減少工作人員的工作量,同時(shí)降低了報(bào)名信息的出錯(cuò)概率,也提高了成績(jī)查詢(xún)的及時(shí)性,且可方便地提取考試統(tǒng)計(jì)信息。
[1]翟瑞生,李麗.基于Ajax的DWZ富客戶(hù)端技術(shù)的應(yīng)用研究[J].中小企業(yè)管理與科技,2011(28):232.
[2]魏曉玲.全國(guó)計(jì)算機(jī)等級(jí)考試網(wǎng)上考務(wù)管理系統(tǒng)的設(shè)計(jì)[J].信息技術(shù),2011(6):202-204.
[3]沈劍峰.高校計(jì)算機(jī)等級(jí)考試系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)[J].湖州師范學(xué)院學(xué)報(bào),2003(3):104-107.
[4]劉維娜,余兆釵.基于SSH框架的考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].黑龍江科技信息,2008(1):43.