王浩
摘要:在Java技術(shù)中B/S(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))軟件體系結(jié)構(gòu)以其先進(jìn)和便利的優(yōu)勢(shì),已廣泛應(yīng)用于各個(gè)領(lǐng)域。本文簡(jiǎn)要介紹了B/S軟件體系結(jié)構(gòu)、JSP技術(shù)、MVC架構(gòu)和相關(guān)背景知識(shí),按照面向?qū)ο蟮能浖_發(fā)的順序,對(duì)學(xué)校在線技能評(píng)測(cè)系統(tǒng)進(jìn)行需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等方面進(jìn)行了簡(jiǎn)要分析和說明。
關(guān)鍵詞:在線技能測(cè)評(píng) 多媒體 B/S結(jié)構(gòu) JSP MVC模式
中圖分類號(hào):TP317.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)12-0171-02
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和高校計(jì)算機(jī)網(wǎng)絡(luò)建設(shè)的日益完善,網(wǎng)絡(luò)在線技能評(píng)測(cè)已成為發(fā)展趨勢(shì),在線評(píng)測(cè)系統(tǒng)的實(shí)現(xiàn)不但能減輕學(xué)校及教師工作量,也使得考試更加公平公正。本文闡述采用基于Java技術(shù)的B/S軟件體系結(jié)構(gòu)在線技能評(píng)測(cè)設(shè)計(jì)與實(shí)現(xiàn)。
1 Java相關(guān)技術(shù)介紹及背景知識(shí)
1.1 Browser/Server三層體系結(jié)構(gòu)
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),它將極少部分事務(wù)邏輯放在前端來實(shí)現(xiàn),把主要事務(wù)邏輯還是在服務(wù)器端來實(shí)現(xiàn),形成所謂三層(3-tier)結(jié)構(gòu):即用戶界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)服務(wù)層。這種結(jié)構(gòu)具有很多優(yōu)越性:減輕了客戶端機(jī)器的負(fù)擔(dān),使得系統(tǒng)維護(hù)升級(jí)更加方便,系統(tǒng)的擴(kuò)展性能增強(qiáng);如需增加服務(wù),只要在中間層添加代碼,用戶界面完全可以通過WWW瀏覽器來實(shí)現(xiàn)。由此,這種結(jié)構(gòu)成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。
1.2 JSP技術(shù)概覽
JavaServer Pages(JSP)技術(shù)是一種動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù),使用它來創(chuàng)建和顯示動(dòng)態(tài)生成內(nèi)容的Web頁面,簡(jiǎn)單而快速。JSP技術(shù)的工作原理主要是JSP頁面使用XML標(biāo)簽和scriptlets(一種使用Java語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標(biāo)簽(HTML或者XML)直接傳遞回響應(yīng)頁面。通過這種方式,JSP頁面實(shí)現(xiàn)了頁面邏輯與其設(shè)計(jì)和顯示的分離。
JSP技術(shù)是Java系列技術(shù)的一部分。JSP頁面被編譯成 servlets,并可能調(diào)用JavaBeans組件(beans)或Enterprise JavaBeans組件(企業(yè)beans),以便在服務(wù)器端處理。因此,JSP技術(shù)在構(gòu)建可升級(jí)的基于Web的應(yīng)用程序時(shí)發(fā)揮了重要作用。
2 系統(tǒng)需求分析
2.1 系統(tǒng)的功能需求
在線技能測(cè)評(píng)系統(tǒng)著眼于學(xué)校信息管理工作的需求,針對(duì)教學(xué)過程中存在的考試評(píng)卷工作繁重易出錯(cuò),學(xué)生查詢?cè)嚲黼y等問題,要求能夠?qū)崿F(xiàn)教師編制試題、組卷、組織考試、系統(tǒng)自動(dòng)評(píng)卷,以及學(xué)生注冊(cè)、參加考試等考試工作的基本功能。
用戶嘗試進(jìn)入系統(tǒng)時(shí)應(yīng)進(jìn)行身份驗(yàn)證。只有注冊(cè)用戶(包括學(xué)生、教師)才能夠登錄系統(tǒng),得到系統(tǒng)服務(wù)。不同角色的用戶成功登錄系統(tǒng)后,可以根據(jù)自身需要選擇相應(yīng)的服務(wù)內(nèi)容。系統(tǒng)的服務(wù)對(duì)象有三種:學(xué)生用戶、教師用戶、系統(tǒng)管理員。其中:
學(xué)生,其服務(wù)的主要內(nèi)容包括:注冊(cè)登錄,修改個(gè)人資料,在線技能自測(cè)(題目來源于系統(tǒng)自帶的試題庫),參加教師招考(題目來源于教師自建的試題庫),查詢考試結(jié)果和歷史成績(jī)。
教師,其服務(wù)的主要內(nèi)容有:注冊(cè)登錄、修改個(gè)人資料、自建題庫管理、試卷管理(手工組卷,自動(dòng)組卷)、考試管理(考試計(jì)劃管理,在線考場(chǎng)管理,查看考試結(jié)果,查閱考生信息)。
系統(tǒng)管理員,其服務(wù)的主要內(nèi)容有:系統(tǒng)監(jiān)控,當(dāng)前系統(tǒng)注冊(cè)用戶統(tǒng)計(jì)、系統(tǒng)題庫統(tǒng)計(jì)、考試情況統(tǒng)計(jì)等。
2.2 多媒體試題部分的需求
系統(tǒng)的試題類型包括是非題、選擇題(單選和多選)、填空題、問答題。每種題型的題干或選項(xiàng)中都是文字內(nèi)容,沒有圖片信息和流媒體信息。作為新增需求,多媒體試題要求展現(xiàn)給考生的試題內(nèi)容能夠“圖文并茂”,在文字內(nèi)容的基礎(chǔ)上,能夠在題干或選項(xiàng)中呈現(xiàn)圖片或者播放流媒體。這樣一來,試題的考察方式會(huì)更靈活,角度更多維化,同時(shí)也激發(fā)考生的參與熱情。
如此便要求教師用戶在自建題庫的過程中,能夠編輯多媒體試題的內(nèi)容,在各種類型的題目中,能夠輕松自如的添加圖片和流媒體信息。
3 系統(tǒng)總體設(shè)計(jì)
3.1 系統(tǒng)運(yùn)行環(huán)境架構(gòu)設(shè)計(jì)
通過功能需求分析,我們知道,利用JSP技術(shù)開發(fā)的在線技能測(cè)評(píng)系統(tǒng),應(yīng)具有用戶注冊(cè)、多用戶同時(shí)在線考試,動(dòng)態(tài)隨機(jī)生成試卷、考試時(shí)間控制、自動(dòng)判卷、題庫維護(hù)、試卷查詢管理等功能。對(duì)于多媒體試題的相關(guān)需求,系統(tǒng)需要具備多媒體文件上傳,流媒體試題保存與播放等功能。綜合考慮,按照“三層結(jié)構(gòu)”(用戶層、應(yīng)用層和數(shù)據(jù)層)來實(shí)施架構(gòu)。
3.2 系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)
按照MVC架構(gòu)的軟件設(shè)計(jì)思想,由Servlet和部分JSP作為Controller,負(fù)責(zé)接收頁面的請(qǐng)求,并根據(jù)請(qǐng)求分派給適合的JSP網(wǎng)頁;由JavaBean作為Model,負(fù)責(zé)業(yè)務(wù)邏輯部分;部分JSP作為View,仍負(fù)責(zé)將所要顯示的內(nèi)容送到客戶端。
3.3 系統(tǒng)功能模塊設(shè)計(jì)
3.3.1 學(xué)生用戶功能模塊設(shè)計(jì)
按照需求分析,學(xué)生用戶的功能模塊設(shè)計(jì)如圖1所示。
3.3.2 教師用戶功能模塊設(shè)計(jì)
按照需求分析,教師用戶的功能模塊設(shè)計(jì)如圖2所示。
3.4 數(shù)據(jù)庫設(shè)計(jì)
3.4.1 數(shù)據(jù)庫(Database)設(shè)計(jì)
根據(jù)在線技能測(cè)評(píng)系統(tǒng)的需求分析結(jié)果和系統(tǒng)功能概要設(shè)計(jì),考慮到系統(tǒng)需要利用外部存儲(chǔ)進(jìn)行持久化存取的部分信息內(nèi)容,我們可以將系統(tǒng)中所涉及到的數(shù)據(jù)模型按照功能分為如下幾類,每一類數(shù)據(jù)模型在物理設(shè)計(jì)時(shí)都認(rèn)為是一個(gè)關(guān)系數(shù)據(jù)庫。
①基本信息庫:存放與考試相關(guān)的公共信息。如考試科目分類信息,測(cè)試的方向信息等。
②教師信息庫:存放教師的注冊(cè)資料,自動(dòng)組卷規(guī)則,考試計(jì)劃、在線考試情況等。
③學(xué)生信息庫:存放學(xué)生的注冊(cè)資料,參加考試的歷史成績(jī),個(gè)性化定制科目等
④試題庫:存放系統(tǒng)題庫中的題目[和教師自建的試題,按照題型的不同對(duì)表進(jìn)行分類,是非題表、選擇題表、填空題表、問答題表等。
⑤系統(tǒng)管理信息庫:存放系統(tǒng)管理員的帳號(hào)信息以及系統(tǒng)配置運(yùn)行的參數(shù)。
3.4.2 表(Table)結(jié)構(gòu)設(shè)計(jì)
在線技能測(cè)評(píng)系統(tǒng)的需要用到的數(shù)據(jù)庫和表相當(dāng)多,本文限于篇幅,只對(duì)該系統(tǒng)中的核心數(shù)據(jù)——試題內(nèi)容信息庫的表結(jié)構(gòu)設(shè)計(jì)做一詳細(xì)說明。其中,各種題型具有以下數(shù)據(jù)需求:
是非題、填空題、問答題:題干中可以包含0~1張圖片,0~1個(gè)流媒體。
選擇題(分為單選和多選):題干中可以包含0~1張圖片,0~1個(gè)流媒體。
選項(xiàng)最大數(shù)量為8個(gè),且內(nèi)容類型必須統(tǒng)一,全為文本、圖片或流媒體。
4 結(jié)語
總之,基于JSP技術(shù)的在線技能評(píng)測(cè)系統(tǒng)開發(fā),實(shí)現(xiàn)了學(xué)校對(duì)考試評(píng)測(cè)功能需求,不過在詳細(xì)設(shè)計(jì)中還要進(jìn)行類的設(shè)計(jì)和Web層的設(shè)計(jì),限于篇幅原因不再贅述。
參考文獻(xiàn)
[1]劉志成.《Java程序設(shè)計(jì)方法與實(shí)例》[J].人民郵電出版社,2010-08.
[2]雷林海.基于Java在線考試系統(tǒng)的功能設(shè)計(jì)[J].太原師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(01).
[3]徐廣龍,殷文雄.在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2014(10).
[4]鄧勤.高職院校學(xué)生技能評(píng)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2015.
數(shù)字技術(shù)與應(yīng)用2016年12期