摘 要:如今各大高校都已進(jìn)入數(shù)字化時(shí)代,越來越多的課程選擇在線教學(xué)及在線考試。因此提出一種SSH2高??荚嚻脚_(tái)設(shè)計(jì)方案,它基于J2EE輕量級(jí)框架組合。本文介紹了SSH2技術(shù),對系統(tǒng)的總體結(jié)構(gòu)、功能結(jié)構(gòu)和性能需求進(jìn)行了詳細(xì)的說明。
關(guān)鍵詞:SSH2;輕量級(jí);軟件架構(gòu);網(wǎng)絡(luò)考試
中圖分類號(hào):TP311.52
在教學(xué)過程中,考試必不可少。通過考試,學(xué)生可以發(fā)現(xiàn)知識(shí)點(diǎn)掌握不牢固的部分,對學(xué)生的學(xué)習(xí)起到引導(dǎo)和督促的作用;同時(shí)教師可以了解學(xué)生的學(xué)習(xí)情況,為日后的教學(xué)提供建議。而傳統(tǒng)的考試方法為“一紙定終身”,存在重知識(shí)、輕能力的不足,因此造成一部分學(xué)生“高分低能”的現(xiàn)象,這與培養(yǎng)綜合素質(zhì)人才的目標(biāo)背道而馳。因此,建立公平合理的考試機(jī)制十分必要,它可以提高學(xué)生的學(xué)習(xí)興趣,提高分析問題和解決問題的能力。采用大規(guī)模試題庫的計(jì)算機(jī)網(wǎng)絡(luò)考試模式是未來的一個(gè)發(fā)展趨勢。
1 J2EE輕量級(jí)框架——SSH2
輕量級(jí)框架J2EE是相對于重量級(jí)框架而言的一種程序設(shè)計(jì)模式。目前流行的J2EE框架主要由Struts2,Hibernate,Spring組成。利用J2EE框架,可以簡化開發(fā)的復(fù)雜度,因此適合于中小型企業(yè)使用。使用輕量級(jí)框架一方面不依賴于任何容器,可以提高開發(fā)效率;另一方面輕量級(jí)框架大多是開源項(xiàng)目,提供了良好的設(shè)計(jì)和許多工具及大量的現(xiàn)有可供參考的代碼設(shè)計(jì),有利于項(xiàng)目的快速開發(fā)。
1.1 Struts2框架
Struts2框架是Struts的新產(chǎn)品。它將Struts1和WebWork技術(shù)進(jìn)行合并,是一個(gè)全新的Struts框架。Struts2將WebWork作為核心,使用攔截器處理用戶請求,來使業(yè)務(wù)邏輯控制器與Servlet API完全分離。
1.2 Spring框架
Spring是為解決企業(yè)應(yīng)用程序開發(fā)的復(fù)雜性而創(chuàng)建的一個(gè)開源框架。Spring框架的主要優(yōu)點(diǎn)之一就是它的分層架構(gòu),分層架構(gòu)可以允許用戶選擇組件,同時(shí)為J2EE應(yīng)用程序開發(fā)提供基礎(chǔ)的集成框架。
1.3 Hibernate框架
Hibernate是開源的,是一種對角關(guān)系映射的框架(ORM),它對JDBC對象進(jìn)行輕量級(jí)封裝,使得JAVA程序員可以任意的使用面向?qū)ο蟮木幊趟季S來對數(shù)據(jù)庫進(jìn)行操作。
采用Struts2+Spring+Hibernate的軟件框架,可以提高代碼的重用性和開發(fā)效率,其優(yōu)勢在于:
(1)組件之間是以松耦合的方式耦合在一起的,采用AOP模式,因此各組件之間的依賴關(guān)系僅僅在接口層次。
(2)獨(dú)立于各種服務(wù)器,可以實(shí)現(xiàn)write once,run anywhere。
(3)開發(fā)過程中可以自由地選擇、替換部分或全部組件。
(4)使用Hibernate提供的DAO操作,可以有效地減少編寫成本,方便對事務(wù)進(jìn)行控制。
(5)使用的組件是企業(yè)級(jí)的,可以保持系統(tǒng)的獨(dú)特性。
2 高??荚嚻脚_(tái)系統(tǒng)的設(shè)計(jì)
2.1 系統(tǒng)總體結(jié)構(gòu)
基于SSH2技術(shù)的高??荚嚻脚_(tái)采用J2EE三層架構(gòu)。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體框架
系統(tǒng)分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層三層。其中將數(shù)據(jù)訪問、業(yè)務(wù)規(guī)則等工作交由中間層處理,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過控制器與中間層進(jìn)行連接,然后由中間層與數(shù)據(jù)交互。
在系統(tǒng)中,表現(xiàn)層使用JSP頁面結(jié)構(gòu)充當(dāng),它負(fù)責(zé)收集用戶請求數(shù)據(jù),將其提交到指定的控制器上。
中間層則采用Spring+Hibernate,同時(shí)為了分享業(yè)務(wù)邏輯層和控制層,又可將其細(xì)分為:
(1)WEB層負(fù)責(zé)表現(xiàn)層和業(yè)務(wù)邏輯層的交互,調(diào)用業(yè)務(wù)邏輯層并將數(shù)據(jù)返加給表現(xiàn)層。
(2)Service層(業(yè)務(wù)邏輯層)負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯,對DAO對象進(jìn)行封裝。
(3)DAO層(數(shù)據(jù)訪問層)負(fù)責(zé)與持久化對象交互,將數(shù)據(jù)的增、刪、改、查的原子操作封裝起來。
(4)PO層(持久化對象層)通過關(guān)系-實(shí)體映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成為對象,以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫。
對于整個(gè)系統(tǒng)來說,中間層是關(guān)鍵所在。而Spring貫穿于整個(gè)中間層,將WEB層、Service層、DAO、PO層無縫的整合起來。
數(shù)據(jù)服務(wù)層則是用Oracle數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)存儲(chǔ)。
2.2 系統(tǒng)功能結(jié)構(gòu)
網(wǎng)絡(luò)考試平臺(tái)主要由用戶模塊、課程管理模塊、成績管理模塊、系統(tǒng)留言模塊及在線考試模塊組成。系統(tǒng)主要功能模塊如下:
(1)用戶模塊:對用戶進(jìn)行權(quán)限管理,來實(shí)現(xiàn)對用戶的授權(quán)。進(jìn)行權(quán)限管理的目標(biāo)是讓系統(tǒng)允許具有某種權(quán)限的用戶進(jìn)行某些特定模塊。其中,系統(tǒng)管理員可以定義其他所有角色的訪問權(quán)限,這樣能以控制用戶權(quán)限的方式來指定用戶所訪問的模塊。
(2)課程管理模塊:可以管理所有的課程信息,進(jìn)行添加、查詢、更改等操作。課程信息管理模塊對于不同的角色,有不同的使用。如:新開設(shè)的課程錄入到系統(tǒng)中;對需要更新的課程信息進(jìn)行刪除或更新;對已有的課程信息進(jìn)行查詢;同時(shí)還具有查詢課表和選課的功能。
(3)成績管理模塊:學(xué)生在查詢成績時(shí)通過學(xué)生角色進(jìn)入系統(tǒng)進(jìn)行查詢,只能查看本人成績,同時(shí)也可將成績以EXCEL格式導(dǎo)出,方便保存。教師可以進(jìn)行成績錄入的操作。
(4)在線考試模塊:已經(jīng)注冊的學(xué)生,在一定的規(guī)則下進(jìn)行基于網(wǎng)絡(luò)的各類課程的考試過程。學(xué)生登錄成功后,首先要閱讀結(jié)合課程與考試環(huán)境所指定的規(guī)則,遵守相應(yīng)的規(guī)則后,系統(tǒng)隨機(jī)選擇試題組成一套完整試卷。
(5)系統(tǒng)留言模塊:系統(tǒng)的不同用戶之間可以進(jìn)行實(shí)時(shí)交流互動(dòng)。
2.3 系統(tǒng)用例
根據(jù)需求,系統(tǒng)用戶分為管理員、學(xué)生和教師三類,如圖2所示:
圖2 系統(tǒng)整體功能需求用例
(1)教師用戶的功能需求
包括考試測評(píng)功能、答疑功能等:考試測評(píng)功能制定考試的評(píng)分標(biāo)準(zhǔn)和基本要求,監(jiān)控學(xué)生的在線考試,進(jìn)行成績統(tǒng)計(jì)和對學(xué)生答卷進(jìn)行在線測評(píng)等。課程答疑功能實(shí)現(xiàn)學(xué)生與教師之間的互動(dòng),為解答學(xué)生問題提供方便。答疑功能分為兩部分:實(shí)時(shí)在線答疑和非實(shí)時(shí)答疑。
(2)學(xué)生用戶的功能需求
包括協(xié)作學(xué)習(xí)功能、綜合測試功能、查詢信息功能和留言功能等。
(3)管理員的功能需求
包括管理成績功能、管理資源庫功能、管理老師功能、注冊管理功能和維護(hù)系統(tǒng)的功能等。
2.4 系統(tǒng)性能需求
根據(jù)網(wǎng)絡(luò)考試的特點(diǎn),高校考試平臺(tái)系統(tǒng)的性能需求包括:
(1)系統(tǒng)需要建立一個(gè)大型的、綜合型的數(shù)據(jù)庫。數(shù)據(jù)庫以共享信息為目的,將網(wǎng)絡(luò)考試管理、教學(xué)管理等的功能集為一體。
(2)系統(tǒng)應(yīng)方便管理者實(shí)現(xiàn)網(wǎng)上考試,能夠在不同地理位置及時(shí)管理信息,定期提交關(guān)于系統(tǒng)各方面的報(bào)告,提供支持決策的數(shù)據(jù)文件。
(3)系統(tǒng)應(yīng)具備向相關(guān)部分自動(dòng)提供信息傳遞、加工處理數(shù)據(jù)等的幫助功能。系統(tǒng)當(dāng)中的數(shù)據(jù)庫主要存儲(chǔ)管理過程中產(chǎn)生的動(dòng)態(tài)及靜態(tài)數(shù)據(jù)等。
(4)系統(tǒng)應(yīng)盡可能簡化用戶的操作,符合用戶進(jìn)行業(yè)務(wù)處理的習(xí)慣,結(jié)合文字、圖形、影像等多種方式達(dá)到目標(biāo),提供直觀生動(dòng)、多種形式的資料數(shù)據(jù)。
(5)系統(tǒng)中數(shù)據(jù)的設(shè)計(jì)和維護(hù)必有要有嚴(yán)格的安全保護(hù)措施。系統(tǒng)內(nèi)部通過網(wǎng)絡(luò),可以對信息進(jìn)行相關(guān)的操作,如增加、修改和查詢等。但是非權(quán)限部分無法操作,只能在權(quán)限內(nèi)使用系統(tǒng)。
3 結(jié)束語
本文基于Struts2+Spring+Hibernate軟件框架來構(gòu)建SSH2高校網(wǎng)絡(luò)考試平臺(tái)。即可集中于學(xué)校機(jī)房統(tǒng)一進(jìn)行考試;也可進(jìn)行不同地理位置的分散的網(wǎng)絡(luò)考試,同時(shí)也可用于平時(shí)測驗(yàn)和在線練習(xí)。本文首先介紹了輕量級(jí)軟件框架SSH2,其次結(jié)合系統(tǒng)需求,闡述了系統(tǒng)的總體結(jié)構(gòu)和功能結(jié)構(gòu),在此基礎(chǔ)上說明了系統(tǒng)的性能需求。在未來的教學(xué)過程中,網(wǎng)絡(luò)在線考試將得到越來越多的應(yīng)用,對提高教學(xué)質(zhì)量來說將起到重要的作用。
參考文獻(xiàn):
[1]楊文,廖寧.基于SSH2的高校網(wǎng)絡(luò)考試平臺(tái)的研究與設(shè)計(jì)[J].信息技術(shù),2013.
[2]王強(qiáng).基于J2EE網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2013.
[3]黃震.在線考試系統(tǒng)分析與設(shè)計(jì)[D].北京郵電大學(xué),2012.
作者簡介:呂紹鑫(1982.03-),男,湖南邵陽人,碩士,工程師,研究方向:信息安全與網(wǎng)絡(luò)工程。
作者單位:湖南工藝美術(shù)職業(yè)學(xué)院,湖南益陽 413000