版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于BS的在線考試系統(tǒng)摘要傳統(tǒng)考試方式一直都是C/S結(jié)構(gòu),即客戶機(jī)和服務(wù)器結(jié)構(gòu)。隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,C/S結(jié)構(gòu)已經(jīng)不足以滿足用戶的需求,基于B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的在線考試系統(tǒng)隨之出現(xiàn)?;跒g覽器/服務(wù)器的在線考試系統(tǒng)日益成為越來越多高校及企業(yè)考試的首選。
本文中的在線考試系統(tǒng)采用具有強(qiáng)大功能、靈活高效的MySQL架構(gòu)和全B/S
模式,它具有高度的可擴(kuò)展性,使用在線考試系統(tǒng)時(shí),被授權(quán)的考試用戶不管在什么地方,只要可以上網(wǎng)使用瀏覽器,就可以通過網(wǎng)絡(luò)登錄該系統(tǒng),參加在線練習(xí)、考試、單元測(cè)評(píng)等;
該設(shè)計(jì)實(shí)現(xiàn)了按照各個(gè)科目隨機(jī)抽題組卷、題庫管理、系統(tǒng)管理、在線考試的功能,可以對(duì)客觀題在線評(píng)分。用戶登錄成功后,首先需要閱讀考試須知,然后選擇需要的考試科目進(jìn)入考試頁面,并且完成相應(yīng)科目考試,最后計(jì)算機(jī)會(huì)自動(dòng)判卷顯示成績(jī),大大提高了考試效率。在線考試系統(tǒng)的系統(tǒng)管理功能,初步實(shí)現(xiàn)了管理題庫、管理考生信息、查詢考試成績(jī)、管理考試科目等功能。系統(tǒng)中的題庫管理功能,初步實(shí)現(xiàn)了對(duì)試題的只能加、修改、刪除、查詢功能。服務(wù)器端的平臺(tái)采用windows7系統(tǒng),數(shù)據(jù)庫平臺(tái)采用MySQL,整個(gè)工程采用StrutsHibernate架構(gòu)設(shè)計(jì)。采用管理員,學(xué)生兩級(jí)授權(quán)方式,使系統(tǒng)更安全更方便簡(jiǎn)潔。關(guān)鍵詞:在線考試;
B/S;
J2EEOnlineExaminationSystemBasedonB/SAbstractThetraditionalexaminationmethodhasalwaysbeenC/Sstructure,thatis,clientandserverstructure.WiththerapiddevelopmentofInternettechnology,C/Sstructureisnotenoughtomeettheneedsofusers,basedonB/S(browser/server)structureoftheonlineexaminationsystemfollowed.Internet-basedonlineexamsystembasedonbrowser/serverisincreasinglybecomingthefirstchoiceformoreandmorecollegesanduniversities.Theonlineexamsysteminthisarticleusesapowerful,efficientandflexibleMySQLarchitectureandfullB/Smode,withahighdegreeofscalability,authorizedtestusersnomatterwheretheyare,aslongasyoucanusethewebbrowser,youcanNetworkregistrationonlineexaminationsystem,toparticipateinonlineexaminations,onlinepractice,etc.;thedesigntoachievearandomsubjectbysubject,onlineexamination,thetitleofthelibrarymanagement,systemmanagementfunctions,totheobjectivetitleonlinerating.Aftertheuserlogsinsuccessfully,readtheexaminationnotes,thenselecttheexaminationsubjectstoentertheexaminationpage,completethecorrespondingsubjectexamination,thecomputerautomaticallysentencedtoshowtheresults,greatlyimprovingtheefficiencyoftheexamination.Systemmanagement,toachievetheexam,candidatesinformation,testscores,examinationsubjectsmanagement.Thequestionbankmanagement,toachievethequestionstoadd,edit,deletefunction.Server-sideplatformusingwindows7system,thedatabaseplatformusingMySQL,theentireprojectusingStrutsHibernatearchitecturedesign.Theuseofadministrators,studentstwolevelsofauthorization,thesystemmoresecureandmoreconvenientandconcise.KeyWords:OnlineExam;
B/S;
J2EE目錄摘要IAbstractII1文獻(xiàn)綜述11.1項(xiàng)目背景11.1.1在線考試系統(tǒng)的背景11.1.2在線考試系統(tǒng)的發(fā)展21.2相關(guān)技術(shù)介紹31.2.1Tomcat技術(shù)介紹31.2.2jQuery技術(shù)介紹51.2.3jQueryEasyUI技術(shù)介紹61.2.4J2EE技術(shù)介紹71.3系統(tǒng)可行性分析91.3.1技術(shù)可行性91.3.2經(jīng)濟(jì)可行性101.3.3社會(huì)可行性102需求分析112.1功能需求分析112.1.1學(xué)生/管理員登錄需求分析112.1.2學(xué)生在線考試需求分析112.1.3管理員管理系統(tǒng)需求分析112.1.4隨機(jī)抽題動(dòng)態(tài)生成考卷112.2用例圖及用例說明122.2.1在線考試系統(tǒng)用例圖122.2.2在線考試系統(tǒng)用例說明143概要設(shè)計(jì)183.1在線考試系統(tǒng)功能結(jié)構(gòu)183.2系統(tǒng)流程194詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)234.1數(shù)據(jù)庫設(shè)計(jì)及實(shí)現(xiàn)234.2持久層設(shè)計(jì)及實(shí)現(xiàn)264.3視圖層設(shè)計(jì)及實(shí)現(xiàn)284.4控制層設(shè)計(jì)及實(shí)現(xiàn)295系統(tǒng)測(cè)試305.1單元測(cè)試305.2集成測(cè)試305.3系統(tǒng)測(cè)試30結(jié)論31參考文獻(xiàn)32致謝331文獻(xiàn)綜述1.1項(xiàng)目背景1.1.1在線考試系統(tǒng)的背景在當(dāng)今時(shí)代,科學(xué)技術(shù)發(fā)展日益加快,信息技術(shù)已經(jīng)深入到每個(gè)人的學(xué)習(xí)生活中,原來的知識(shí)傳播方式已經(jīng)遠(yuǎn)遠(yuǎn)無法滿足現(xiàn)在人們對(duì)知識(shí)的索求量及索求速度。飛速發(fā)展的信息技術(shù),使得互聯(lián)網(wǎng)與教育完美連結(jié)到了一起,它們連結(jié)的產(chǎn)物就是遠(yuǎn)程教育。遠(yuǎn)程教育是一種新的的教學(xué)模式,它經(jīng)常使用互聯(lián)網(wǎng)等傳播媒體,這種模式劃破了時(shí)間和空間的阻礙,不同于以往在校上課的教學(xué)模式。這種教學(xué)模式針對(duì)的對(duì)象就是那些想在業(yè)余時(shí)間充實(shí)自己的人群。因?yàn)檫h(yuǎn)程教育的特點(diǎn)所在,他們不需要到固定的時(shí)間和地點(diǎn)去上課,而是任何空余的時(shí)間和地點(diǎn)都可以。他們也能通過互聯(lián)網(wǎng)、電視、教育輔導(dǎo)專線等多種不同的渠道來互相學(xué)習(xí)。遠(yuǎn)程教育是互聯(lián)網(wǎng)技術(shù)和教育連結(jié)后產(chǎn)生的新概念,也就是采用互聯(lián)網(wǎng)技術(shù)與社會(huì)個(gè)人需求開展的教育。而且該教育方法針對(duì)的學(xué)生年齡和學(xué)歷都沒有太大限制,這就為普遍的人民群眾提供了學(xué)習(xí)跟多知識(shí)提升自我的機(jī)會(huì)。遠(yuǎn)程教育是一種個(gè)人與個(gè)人之間或者個(gè)人與某個(gè)教學(xué)機(jī)構(gòu)之間組織的地點(diǎn)分離的教學(xué)活動(dòng)。它的特點(diǎn)是:采用新媒體新技術(shù)新渠道和系統(tǒng)進(jìn)行教學(xué);
人們選擇學(xué)習(xí)的時(shí)間地點(diǎn)方式自主化;
不受傳統(tǒng)教育中時(shí)間地點(diǎn)固定教學(xué)方式的限制;
可以給更多年齡段和不同行業(yè)的人提供學(xué)習(xí)機(jī)會(huì);
有很大的擴(kuò)展性,教學(xué)規(guī)??纱罂尚?,教學(xué)成本低廉,教學(xué)質(zhì)量更易提高。而現(xiàn)代遠(yuǎn)程教育則良好的實(shí)現(xiàn)并加強(qiáng)了這些特點(diǎn),它的特點(diǎn)和優(yōu)勢(shì)注定了它的發(fā)展意義的巨大和發(fā)展前景的廣闊。在國(guó)內(nèi),遠(yuǎn)程教育的發(fā)展經(jīng)歷了三個(gè)階段:第一階段是函授教育,在這個(gè)家階段,函授教育培養(yǎng)了很多人才,為國(guó)內(nèi)社會(huì)發(fā)展、經(jīng)濟(jì)發(fā)展做出了不小的貢獻(xiàn),但是由于該教育方式有比較大限制性,所以很快就淘汰了;
第二階段是廣播電視教育,這種教育方式出現(xiàn)在上世紀(jì)八十年代,并且在這一方式的教育上走到了世界的前列,因此中央電視大學(xué)以及廣播電視教育在海內(nèi)外都享有盛譽(yù);
第三階段是現(xiàn)代遠(yuǎn)程教育,它出現(xiàn)在上世紀(jì)九十年代,正是信息技術(shù)和互聯(lián)網(wǎng)飛速發(fā)展的時(shí)間,最主要的是當(dāng)時(shí)的國(guó)家和政府也大力支持遠(yuǎn)程教育的發(fā)展:1994年底,國(guó)內(nèi)第一個(gè)采用TCP/IP協(xié)議的公共計(jì)算機(jī)網(wǎng)在當(dāng)時(shí)國(guó)家教委的主持下由清華大學(xué)等高校共同承建,即“中國(guó)教育和科研計(jì)算機(jī)網(wǎng)師范工程”,該工程是現(xiàn)代遠(yuǎn)程教育的起點(diǎn),緊隨其后,現(xiàn)代遠(yuǎn)程教育在國(guó)家的支持下發(fā)展迅速,涌現(xiàn)除了一大批為發(fā)展遠(yuǎn)程教育做出巨大貢獻(xiàn)的人們,2021年,現(xiàn)代遠(yuǎn)程教育的試點(diǎn)高校已經(jīng)達(dá)到31所,而且這些高校在招生標(biāo)準(zhǔn)、招生制度及開設(shè)網(wǎng)絡(luò)課程等方面有很大的自主性,遠(yuǎn)程教育的學(xué)歷文憑也被國(guó)家所認(rèn)可。隨著現(xiàn)代遠(yuǎn)程教育的發(fā)展,各高校之間的交流日益頻繁,更有利于教育資源的共享,直至如今,現(xiàn)代遠(yuǎn)程教育的規(guī)模一步步擴(kuò)大,教育方式和教育制度也日漸成熟。
1.1.2在線考試系統(tǒng)的發(fā)展古往今來,人才一直是各個(gè)時(shí)代最稀缺的資源,而考試是最簡(jiǎn)單實(shí)用同時(shí)也是最重要最普遍的人才選拔方式,古有科舉考試制度,今有高考已經(jīng)大大小小的各種考試,教育制度如同一個(gè)巨大的篩選機(jī)器將其中真正的人才篩選出來,優(yōu)勝劣汰。現(xiàn)如今的社會(huì)更是競(jìng)爭(zhēng)激烈,但是現(xiàn)在普遍高校依舊沿用以往的考試方式,教師出題印刷,學(xué)生到固定的時(shí)間地點(diǎn)去參加考試,人工閱卷給出考試成績(jī),人工做試卷分析得出考試效果。但是這種考試方式所帶來的問題也是非常明顯的:考試過程繁雜,組織進(jìn)行一場(chǎng)考試需要?jiǎng)佑玫奈镔|(zhì)資源已經(jīng)人力資源是巨大的;
教師從出題到閱卷親歷親為,使得教師們?cè)诳荚嚽昂蠊ぷ餍适值拖拢?/p>
對(duì)學(xué)生的考察不全面;
考試的保密現(xiàn)和安全性也不能保證等。信息技術(shù)的發(fā)展往往帶來一些潛移默化的影響,其中傳統(tǒng)的考試方式也在漸漸的發(fā)生著改變,互聯(lián)網(wǎng)的普及讓人們看到了網(wǎng)上在線考試的新型考試方式,將計(jì)算機(jī)技術(shù)投入使用到考試中,讓以往過程繁雜的紙質(zhì)考試向更方便更快捷更有效的在線測(cè)評(píng)轉(zhuǎn)型,考試方式的改革在所難免。另外,將大量的教育濟(jì)源存使用新的數(shù)據(jù)庫技術(shù)存放管理,則更加方便安全,節(jié)省了勞力財(cái)力。當(dāng)網(wǎng)上在線考試系統(tǒng)這種考試方式普及之后,老師們?cè)诳荚嚽昂蟮膲毫痛蟠鬁p少,也會(huì)有更多的心思精力投入到不止教學(xué)更應(yīng)自我學(xué)習(xí)的工作中;
學(xué)生也不需要興師動(dòng)眾,定時(shí)定點(diǎn)的去參加考試,利處遠(yuǎn)遠(yuǎn)大于弊端。
在線考試系統(tǒng)是互聯(lián)網(wǎng)興起后現(xiàn)代的、全新的考試模型。該系統(tǒng)由傳統(tǒng)的考試方式和互聯(lián)網(wǎng)結(jié)合的新型考試,可根據(jù)用戶需求快速構(gòu)建考試、練習(xí)、測(cè)評(píng)、調(diào)查、分析及管理等,是一種綜合的網(wǎng)絡(luò)化考試平臺(tái)。
在線考試系統(tǒng)是現(xiàn)代遠(yuǎn)程教育中重要的一環(huán),上世紀(jì)九十年代,在網(wǎng)上考試系統(tǒng)的開發(fā)上,美國(guó)走在了世界的前列,實(shí)現(xiàn)了網(wǎng)上考試的在線性和同步性。在此之后,各國(guó)都開始自主研發(fā)網(wǎng)上考試系統(tǒng),來開拓這個(gè)還少有人涉足的領(lǐng)域。我國(guó)的網(wǎng)上考試系統(tǒng)的發(fā)展起點(diǎn)較晚,但是發(fā)展速度確實(shí)相當(dāng)迅速,在國(guó)內(nèi)外網(wǎng)上在線考試技術(shù)已經(jīng)趨于完善的情況下,國(guó)內(nèi)各高校、企業(yè)及單位陸續(xù)嘗試著開始使用在線考試系統(tǒng)進(jìn)行學(xué)業(yè)考試,技能認(rèn)證及人才選拔等。尤其是計(jì)算機(jī)互聯(lián)網(wǎng)這方面的企業(yè)或者學(xué)校的學(xué)部,更是早早就投入測(cè)試并穩(wěn)定使用了,如全國(guó)計(jì)算機(jī)考試,英語測(cè)試等考試,均采用網(wǎng)上在線考試的方式,因?yàn)檫@種考試方式易于組織,且工作效率很高。但是網(wǎng)上考試系統(tǒng)也存在一些比較明顯的弊端,如初期投入考試系統(tǒng)的資金比較大,系統(tǒng)維護(hù)相對(duì)麻煩;
網(wǎng)上考試系統(tǒng)大多只能對(duì)一些客觀題進(jìn)行判別對(duì)錯(cuò),但是對(duì)于主觀題卻無能為力,因此題型要求也比較高等,所以在線考試系統(tǒng)適用于一些標(biāo)準(zhǔn)化的,客觀性強(qiáng)的考核中。
1.2相關(guān)技術(shù)介紹1.2.1Tomcat技術(shù)介紹Tomcat是一個(gè)輕量級(jí)的應(yīng)用服務(wù)器,他是完全開源免費(fèi)的。JakartaTomcat的日益流行是無可爭(zhēng)辯的,它不但是Sun公司Servlet和JSP規(guī)范的參考實(shí)現(xiàn),也是世界上使用最為廣泛的額Servlet和JSP容器。在應(yīng)用于成百上千的Web站點(diǎn)中,不論是個(gè)人網(wǎng)站、非營(yíng)利組織網(wǎng)站還是商務(wù)網(wǎng)站,它的表現(xiàn)都是非常出色的。
本篇設(shè)計(jì)中使用的是Tomcat8.0版本,該版本支持Servlet3.1、JSP2.3及EL3.0.Servelet3.1版本它的性能改進(jìn)比較大,工作效率大大提高,因?yàn)榈谝淮蟾倪M(jìn)為該版本的I/O通信模式是非阻塞式的。Servlet3.1中的數(shù)據(jù)傳輸?shù)墓芾聿皇钦5耐焦芾?,而是異步管理,傳輸接口為ReadListener和WriteListener。其次Servlet3.1中用戶可以自行選擇網(wǎng)絡(luò)通信所用的網(wǎng)絡(luò)協(xié)議,升級(jí)了HTTP協(xié)議。JSP2.3版本只是完善了清理維護(hù)的功能,沒有什么新特性加入。EL3.0版本主要有三個(gè)方面的改進(jìn):EL的運(yùn)行方式增加了新特性,那就是他可以用“獨(dú)立模式”操作,也就是脫離Servlet和JSP頁面運(yùn)行,這個(gè)改進(jìn)使得開發(fā)者在Servlet容器內(nèi)或者容器外,都可以放心的直接調(diào)用ELProcessor類;
EL的表達(dá)式擴(kuò)展了許多,新增加支持表達(dá)式Lambda,使用這類表達(dá)式,使得程序更加簡(jiǎn)潔明了,易于查看學(xué)習(xí),表達(dá)式包括:參數(shù)集、Lambda操作符、函數(shù)體;
其中集合操作符允許構(gòu)造一些集合類型,比如Set、List和map等;
JavaEL流式API可以獲得一些集合或者List列表,可以進(jìn)行字符串調(diào)用,可以在運(yùn)行List表時(shí),在其外部運(yùn)行過濾器和聚合函數(shù);
EL能夠進(jìn)行上下文的導(dǎo)入,對(duì)于任何類的靜態(tài)字段或者方法,開發(fā)者都能夠直接調(diào)用,方便快捷。所以通過這些新特性來看,EL3.0版本新增的內(nèi)容不僅很多,而且功能更加強(qiáng)大,開發(fā)更加迅速。
Tomcat擁有十分復(fù)雜的功能結(jié)構(gòu),但是,Tomcat模塊化的設(shè)計(jì)使得它的工作方式,數(shù)據(jù)傳輸,內(nèi)部邏輯等都一目了然。Tomcat中不同的模塊有著其特定的功能。各模塊之間獨(dú)立工作且其功能互相彌補(bǔ),協(xié)調(diào)工作,共同構(gòu)成了一個(gè)簡(jiǎn)單實(shí)用,性能優(yōu)越的Web服務(wù)器。
Tomcat的內(nèi)部結(jié)構(gòu)如圖1.1所示:圖1.1Tomcat結(jié)構(gòu)圖上圖較完整的展示了Tomcat的內(nèi)部結(jié)構(gòu),組件種類大小也比較齊全,由大到小有Server服務(wù)器,Servic服務(wù),Connector核心組件和Container核心組件等。其中最為核心的兩個(gè)組件為Connector核心組件和Container核心組件。Connector核心組件是一個(gè)連接器,主要負(fù)責(zé)接收外部傳來的消息請(qǐng)求,然后傳到容器里。Container核心組件是一個(gè)Servlet容器,它的結(jié)構(gòu)是多層的,分別是Engine、Host、Context、Wrapper.。其中最大的容器為Engine,它代表的是一個(gè)Servlet引擎,另外的Host代表一個(gè)虛擬機(jī),代表應(yīng)用的是Context,Wrapper代表一個(gè)Servlet。當(dāng)服務(wù)器外部傳過來一個(gè)請(qǐng)求時(shí),這個(gè)請(qǐng)求首先被連接器收到,然后移交到容器Container,按照上面的容器順序Engine-Host-Context-Wrapper往下傳遞,最終處理該請(qǐng)求的是一個(gè)Servlet即Wrapper。
Tomcat整體工作環(huán)境是,Server服務(wù)器為最大的組件,它是其他組件能正確運(yùn)行的前提條件,它可以同時(shí)管理一個(gè)Service服務(wù),也可以管理多個(gè)。Server的下一級(jí)是Service服務(wù),Service服務(wù)保證了整個(gè)Tomcat可以應(yīng)付對(duì)外的正常請(qǐng)求,它由一個(gè)Container連接器和一個(gè)或者多個(gè)Connector容器組成的。
1.2.2jQuery技術(shù)介紹jQuery是一套快速、簡(jiǎn)潔的JavaScript腳本庫.
jQuery有很多特性,這些之中的核心特性有三種:具有強(qiáng)大的功能函數(shù),以及特有的小型鏈?zhǔn)秸Z法以及多功能接口短小而清晰;
css選擇器比其他選擇更加靈活,效率也更高;
具有非常高的擴(kuò)展性,因?yàn)樗牟寮U(kuò)展機(jī)制十分方便,所以其中的插件越來越豐富,能實(shí)現(xiàn)多種多樣的UI。其結(jié)構(gòu)明晰,高內(nèi)聚、低耦合,兼具優(yōu)秀的性能與便利的擴(kuò)展性,在瀏覽器的兼容性(功能缺陷、漸進(jìn)增強(qiáng))、優(yōu)雅處理能力以及Ajax等方面周到而強(qiáng)大的定制功能無不令人驚嘆。
jQuery整體架構(gòu)如圖1.2所示:圖1.2jQuery整體架構(gòu)圖1.2.3jQueryEasyUI技術(shù)介紹jQueryEasyUI是一組UI插件集合,顧名思義它是基于jQuery技術(shù)而存在的。jQueryEasyUI插件可以為開發(fā)者提供很多便利,使得開發(fā)者能夠更加輕松快速的完成UI界面的設(shè)計(jì),并且這些UI界面是美觀大方的,滿足大多數(shù)開發(fā)所需的功能集合。傳統(tǒng)的界面設(shè)計(jì)開發(fā),執(zhí)行者需要編寫復(fù)雜的JavaScript,對(duì)css樣式也需要有比較深入的理解,但是使用jQueryEasyUI,開發(fā)者只需要了解一些簡(jiǎn)單的html標(biāo)簽。
jQueryEasyUI中有大多數(shù)的UI控件,為開發(fā)者提供的十分大的便利,開發(fā)者不用耗費(fèi)時(shí)間耗費(fèi)精力去找各種各樣不同UI界面設(shè)計(jì)所需的控件,它包括的控件有:accordion,window,combobox,menu,dialog,tabs,validatebox,datagrid,tree等。相對(duì)于extjs來講,jQueryEasyUI更加輕量級(jí),適合個(gè)人或者中小公司所做的中小項(xiàng)目,它的功能相對(duì)extjs來講弱一下,但是用起來也十分順利便捷,一般性開發(fā)所需的功能基本具有,還能滿足不同開發(fā)者對(duì)于UI界面設(shè)計(jì)不同的風(fēng)格偏向。
jQueryEasyUI提供了用于創(chuàng)建跨瀏覽器網(wǎng)頁的完整的組件集合,包括功能強(qiáng)大的datagrid(數(shù)據(jù)網(wǎng)格)、treegrid(樹形表格)、panel(面板)、combo(下拉組合)等等。
用戶可以單獨(dú)使用其中一個(gè),也可以組合使用這些組件。
插件列表如表1.1所示:表1.1jQueryEasyUI插件列表分類插件Base(基礎(chǔ))Parser(解析器)Easyloader(加載器)Draggable(可拖動(dòng))Droppable(可放置)Resizable(可調(diào)整尺寸)Pagination(分頁)Searchbox(搜索框)Porgressbar(進(jìn)度條)Tooltip(提示框)Layout(布局)Panel(面板)Tabs(標(biāo)簽頁/選項(xiàng)卡)Accordion(折疊面板)Layout(布局)Menu(菜單)與Button(按鈕)Menu(菜單)Linkbutton(鏈接按鈕)Menubutton(菜單按鈕)Splitbutton(分割按鈕)Form(表單)Form(表單)Validatebox(驗(yàn)證框)Combo(組合)Combobox(組合框)Combotree(組合樹)Comborid(組合網(wǎng)絡(luò))Numberbox(數(shù)字框)Datebox(日期框)Datetimebox(日期時(shí)間框)Calendar(日歷)Spinner(微調(diào)器)Numberspinner(數(shù)值微調(diào)器)Timespinner(時(shí)間微調(diào)器)Slider(滑塊)Window(窗口)Window(窗口)Dialog(對(duì)話框)Messager(消息框)DataGrid(數(shù)據(jù)網(wǎng)格)與Tree(樹)Datagrid(數(shù)據(jù)網(wǎng)絡(luò))Propertygrid(屬性網(wǎng)格)Tree(樹)Treegrid(樹形網(wǎng)格)1.2.4J2EE技術(shù)介紹J2EE是一個(gè)以Java技術(shù)為基礎(chǔ)的技術(shù)規(guī)范和標(biāo)準(zhǔn),它是Java技術(shù)在各個(gè)企業(yè)不斷使用和發(fā)展的結(jié)果,在不斷的發(fā)展過程中,J2EE越來越契合企業(yè)級(jí)的開發(fā)。J2EE平臺(tái)中包含的最多的是組件和容器。不同功能的應(yīng)用程序?qū)?yīng)不同的組件,再將這些組件根據(jù)功能封裝到不同的容器中,這樣使得企業(yè)開發(fā)應(yīng)用程序時(shí)更加快捷,程序邏輯更加清晰,易于操作以及查漏補(bǔ)缺。J2EE的安全性和可靠性,相比以往的開發(fā)平臺(tái)更好,更放心。J2EE平臺(tái)的數(shù)據(jù)流向?yàn)橄葟钠髽I(yè)信息系統(tǒng)層的EIS服務(wù)區(qū)里的數(shù)據(jù)庫將需要的數(shù)據(jù)傳過來,傳到商業(yè)邏輯層,即EJB容器中,再傳到Web層的Web服務(wù)器,Web服務(wù)器中有JSP和Servlet,JSP將數(shù)據(jù)傳到客戶端的瀏覽器,如PureHtml,JavaApplet,而Servlet將數(shù)據(jù)傳到客戶機(jī)中。使用J2EE后的B/S結(jié)構(gòu)如圖4所示:圖1.3J2EE結(jié)構(gòu)圖J2EE定義了一個(gè)框架和相關(guān)的規(guī)范,下面介紹J2EE的13種核心技術(shù)。
1.JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接)JDBC是Java數(shù)據(jù)庫連接的英文縮寫,它是跨平臺(tái)的,使用已有的SQL標(biāo)準(zhǔn)并支持與其他數(shù)據(jù)庫的連接標(biāo)準(zhǔn)。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。它有三種產(chǎn)品組件:JDBC驅(qū)動(dòng)程序管理器;
JDBC驅(qū)動(dòng)程序測(cè)試工具包;
JDBC-ODBC橋。
2.JNDI(JavaNamingandDirectoryInterface,Java命名和目錄接口)JNDI用于名字和目錄服務(wù),為了便于查找、掛載、卸載及其他操作,JNDI將各個(gè)被命名的信元組成樹狀的目錄,為定位用戶、資源與服務(wù)提供了一個(gè)標(biāo)準(zhǔn)的接口,他由兩部分組成:應(yīng)用程序編程接口和服務(wù)供應(yīng)商接口。
3.EJB(EnterpriseJavaBean,企業(yè)級(jí)JavaBean)EJB組件由容器開管理EJB組件的事務(wù)、安全和資源鏈接問題,是一個(gè)可以開發(fā)分布式商務(wù)邏輯的框架。
4.RMI(RomoteMethodInvocation,遠(yuǎn)程方法調(diào)用)RMI一種被EJB使用的更底層的協(xié)議,它為分布式計(jì)算提供了一種高級(jí)的通用解決方案,而且它使用了連續(xù)序列方式在客戶端和服務(wù)器端傳遞數(shù)據(jù),將面向?qū)ο缶幊棠P蛿U(kuò)展到了客戶機(jī)/服務(wù)器系統(tǒng)。
5.JSP(JavaServerPage,Java服務(wù)器端頁面)JSP是對(duì)HTML的一種擴(kuò)展,通常是大多數(shù)的HTML代碼中嵌入少量的Java代碼,它的擴(kuò)展機(jī)制還允許開發(fā)人員編寫自己的標(biāo)簽和相應(yīng)的實(shí)現(xiàn)方法。JSP由四個(gè)關(guān)鍵的組件組成:指令、動(dòng)作、腳本和標(biāo)簽庫。
6.Servlet(服務(wù)器端小程序)Servlet采用請(qǐng)求響應(yīng)的工作方式,它作為Web服務(wù)器功能的增強(qiáng)器,其功能涵蓋了從客戶端請(qǐng)求相應(yīng)動(dòng)態(tài)生成文檔到保證會(huì)話安全,訪問后臺(tái)數(shù)據(jù)庫服務(wù)器等。Servlet是運(yùn)行在服務(wù)器端,用來響應(yīng)客戶端請(qǐng)求的Java代碼模塊。
7.XML(eXtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語言)8.JMS(JavaMessageingService,Java信息服務(wù))9.IDL(InterfaceDescriptionLanguage,接口描述語言)在JavaIDL的支持下,可以將Java和CORBA集成在一起,創(chuàng)建Java對(duì)象并使之可在CORBAORB中使用。
10.JTA(JavaTransactionArchitecture,Java事務(wù)框架)JTA定義了一種標(biāo)準(zhǔn)的API,它指定事務(wù)管理器與分布式事務(wù)中設(shè)計(jì)的其他系統(tǒng)組件之間的各種高級(jí)接口,這些系統(tǒng)組件有應(yīng)用程序、應(yīng)用程序服務(wù)器和資源管理器等。
11.JTS(JavaTransactionService,Java事務(wù)服務(wù))JTS規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式,該事務(wù)管理器是在高層支持JTA規(guī)范,為應(yīng)用服務(wù)器、資源管理器、獨(dú)立的應(yīng)用及通信資源管理器提供了事務(wù)服務(wù)。
12.JavaMail(Java郵件)JavaMail是用于存放郵件服務(wù)的接口,提供了一套郵件服務(wù)器的抽象類。
13.JAF(JavaBeanActivationFramework,JavaBean服務(wù)框架)JavaMail利用JAF來處理不同編碼的郵件附件1.3系統(tǒng)可行性分析1.3.1技術(shù)可行性從開發(fā)環(huán)境來講,在線考試系統(tǒng)基于windows7操作系統(tǒng),使用J2EE中Struts2和Hibernate組合開發(fā)框架,需要開發(fā)者清楚開發(fā)框架之間各層分工及應(yīng)用組件功能,熟悉各函數(shù)之間的調(diào)用,數(shù)據(jù)傳輸過程。同時(shí)需要開發(fā)者遇到問題能夠在網(wǎng)上、各論壇及時(shí)找到相應(yīng)的解決辦法。
在代碼實(shí)現(xiàn)方面,開發(fā)者需要熟練掌握J(rèn)ava語言,jQuery技術(shù),HTML語言進(jìn)行開發(fā),熟悉數(shù)據(jù)庫的安裝、使用,熟練使用數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。
在系統(tǒng)邏輯方面,開發(fā)者需要對(duì)考試流程有一個(gè)清晰的認(rèn)知,對(duì)在線考試系統(tǒng)的各業(yè)務(wù),業(yè)務(wù)邏輯非常清楚。
從這些方面來看,只要開發(fā)者有一定的程序開發(fā)基礎(chǔ),熟悉開發(fā)所需各種技術(shù),即可進(jìn)行開發(fā),因此該系統(tǒng)的技術(shù)可行性很高。
1.3.2經(jīng)濟(jì)可行性在線考試系統(tǒng)采用的開發(fā)框架、開發(fā)語言、開發(fā)平臺(tái)都是開源免費(fèi)的,從經(jīng)濟(jì)上來看,該系統(tǒng)的經(jīng)濟(jì)可行性很高。
1.3.3社會(huì)可行性傳統(tǒng)的考試一直存在,隨信息技術(shù)的飛速發(fā)展,在線考試系統(tǒng)必定會(huì)成為今后各高校、企業(yè)及各部門的首選考試方式,在線考試系統(tǒng)的功能也日益完善,因此該項(xiàng)目的市場(chǎng)非常大,前景也十分廣闊。從現(xiàn)在考試系統(tǒng)的發(fā)展來看,該項(xiàng)目社會(huì)可行性也十分高。
1.4論文結(jié)構(gòu)本篇論文的正文部分總共分為八個(gè)章節(jié),分別為:
第一章:在線考試系統(tǒng)的開發(fā)背景、發(fā)展歷程,開發(fā)所關(guān)聯(lián)到的技術(shù)簡(jiǎn)介。
第二章:對(duì)在線考試系統(tǒng)進(jìn)行需求分析。
第三章:對(duì)在線考試系統(tǒng)進(jìn)行概要設(shè)計(jì),包括數(shù)據(jù)庫設(shè)計(jì),各實(shí)體之間的業(yè)務(wù)邏輯設(shè)計(jì)。
第四章:對(duì)在線考試系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)和功能實(shí)現(xiàn)。
第五章:對(duì)該系統(tǒng)進(jìn)行系統(tǒng)測(cè)試,包括對(duì)不同實(shí)體的功能測(cè)試及性能測(cè)試。
第六章:該章節(jié)主要為開發(fā)在線考試系統(tǒng)的結(jié)論,主要描述了該系統(tǒng)的完成情況,項(xiàng)目特色以及對(duì)該項(xiàng)目的未來展望。
第七章:本文所引用的參考文獻(xiàn)。
第八章:本文的致謝。2需求分析2.1功能需求分析2.1.1學(xué)生/管理員登錄需求分析該部分要求系統(tǒng)登錄界面簡(jiǎn)潔明了,能夠正常登錄系統(tǒng),當(dāng)學(xué)生學(xué)號(hào),管理員編號(hào)填錯(cuò)提示“用戶名輸入有誤”,請(qǐng)重新登錄;
當(dāng)學(xué)生登錄或者管理員登錄密碼輸入錯(cuò)誤時(shí),提示“密碼輸入有誤”,請(qǐng)重新登錄。
2.1.2學(xué)生在線考試需求分析該部分要求學(xué)生正確登錄考試系統(tǒng)之后,閱讀考試注意事項(xiàng),并選擇需要進(jìn)行的考試科目,點(diǎn)擊開始考試即可進(jìn)入考試界面。一旦進(jìn)入考試界面,考試時(shí)間倒計(jì)時(shí)就會(huì)開始,計(jì)算機(jī)自動(dòng)從題庫中抽取試題進(jìn)行組卷,并呈現(xiàn)在考生面前??忌柙谝?guī)定的考試時(shí)間內(nèi)答題,答題完成后點(diǎn)擊提交考卷考試即可結(jié)束,如果考生在規(guī)定的時(shí)間內(nèi)沒有提交考卷,那么考試時(shí)間倒計(jì)時(shí)結(jié)束后系統(tǒng)會(huì)強(qiáng)制交卷,并給出最后成績(jī)。
2.1.3管理員管理系統(tǒng)需求分析該部分功能主要有,管理員管理考生信息,考試題庫,在線考試以及考生成績(jī)。管理考生信息包括管理員能通過考生學(xué)號(hào)或者姓名查詢考生個(gè)人信息,能夠增加考生信息,并且能對(duì)個(gè)人信息進(jìn)行修改或者刪除。管理考試題庫包括對(duì)考試科目的修改,對(duì)題庫中的題目進(jìn)行增加、修改、刪除及查詢,并且對(duì)各題型進(jìn)行管理。管理在線考試部分需要管理員擬定考試科目?jī)?nèi)容及時(shí)間。管理考生成績(jī)部分包括管理員能夠錄入學(xué)生成績(jī)以及通過考生學(xué)號(hào)或者姓名查詢考生的各科目成績(jī)以及考試狀態(tài)。
2.1.4隨機(jī)抽題動(dòng)態(tài)生成考卷傳統(tǒng)考試一直存在一個(gè)最大的弊端,那就是所有人的考試試卷都一模一樣,有非常大的作弊可能性和作弊操作性,那么在線考試系統(tǒng)就需要解決這個(gè)最大的弊端。而從題庫隨機(jī)抽題組成試卷恰好能比較好的解決考試時(shí)考生作弊的操作性,即便考生坐在相鄰的座位,他們的試題也是不完全相同的,這樣就大大避免了考試作弊,為在線考試提供了可靠性和公平性的保證。2.2用例圖及用例說明2.2.1在線考試系統(tǒng)用例圖在線考試系統(tǒng)的用例圖如圖2.1所示:圖2.1在線考試系統(tǒng)用例圖在線考試系統(tǒng)中總共分為四個(gè)用例,即管理試題庫,管理試卷,登錄系統(tǒng),參加考試,系統(tǒng)中的角色分別為系統(tǒng)管理員和學(xué)生。管理員可以登錄系統(tǒng),管理試題庫,管理試卷,管理考生信息;
學(xué)生可以登錄系統(tǒng),參加考試。
在線考試系統(tǒng)的管理員子用例的用例圖如圖2.2所示:圖2.2管理員子用例圖管理員子用例中用例共有登錄系統(tǒng),管理題庫,管理試卷及管理考生信息。系統(tǒng)管理員在進(jìn)行管理之前必須先登錄系統(tǒng),驗(yàn)證身份成功后才能進(jìn)行管理系統(tǒng)操作;
對(duì)于一場(chǎng)考試中管理員可以管理考生信息,包括對(duì)考生信息的增刪改查;
一場(chǎng)考試所用到的試卷也由管理員進(jìn)行組織,包括設(shè)置考試科目,設(shè)置考試時(shí)間等;
對(duì)于平時(shí)系統(tǒng)的管理和維護(hù),管理員有權(quán)對(duì)已在系統(tǒng)的題目進(jìn)行修改,也可以新增不在系統(tǒng)中的新題目。
在線考試系統(tǒng)學(xué)生子用例的用例圖如圖2.3所示:圖2.3學(xué)生子用例圖在線考試系統(tǒng)中的學(xué)生子用例總共有三個(gè)用例即登錄系統(tǒng),參加考試,查詢考試成績(jī)。學(xué)生要參加考試之前必須先登錄系統(tǒng),驗(yàn)證身份成功后才能進(jìn)行后續(xù)操作;
在有考試的時(shí)候考生可選擇科目參加即將進(jìn)行的考試;
考試結(jié)束后會(huì)自動(dòng)顯示成績(jī),考生也可以后續(xù)自主查詢考試成績(jī)。
2.2.2在線考試系統(tǒng)用例說明在線考試系統(tǒng)總共分為四個(gè)用例,分別為:管理試題基本信息、管理試卷、登錄和參加考試。
管理試題基本信息用例,主要內(nèi)容是管理員對(duì)試題的增刪改查。表2.1管理試題基本信息用例IDU01用例名稱管理試題基本信息執(zhí)行者管理員描述管理員在組織試卷之前,要先添加試題,然后再組織試卷所包含的試題,同時(shí)在必要的情況下對(duì)已存在試題進(jìn)行查詢、修改及刪除前置條件管理員已登錄在線考試系統(tǒng)后置條件管理員已經(jīng)設(shè)定了某個(gè)試題的基本信息基本事件流1.管理員請(qǐng)求添加試題的基本信息2.系統(tǒng)顯示已有的試題3.管理員填寫試題的基本信息4.管理員提交試題的基本信息5.系統(tǒng)驗(yàn)證提交的試題基本信息6.系統(tǒng)保存提交的試題基本信息7.系統(tǒng)返回保存成功的信息備選事件流a.驗(yàn)證失敗a1.系統(tǒng)提示驗(yàn)證不通過的信息a2.管理員重新填寫驗(yàn)證不通過的信息a3.返回帶第4步關(guān)鍵性高業(yè)務(wù)規(guī)則a1.試題名稱和試題類型必須填寫管理試題用例,主要內(nèi)容是試題添加完成后,管理員組織試卷的步驟,包括試卷的名稱,試題的種類、數(shù)量、分?jǐn)?shù)等信息。表2.2管理試卷用例IDU02用例名稱管理試卷執(zhí)行者管理員描述試題添加完成后,管理員組織試卷,包括試卷的名稱,試題的種類、數(shù)量、分?jǐn)?shù)等信息前置條件管理員已經(jīng)登錄在線考試系統(tǒng)后置條件系統(tǒng)記錄了試卷的信息基本事件流1.管理員請(qǐng)求設(shè)定試卷2.系統(tǒng)顯示已有的試卷3.管理員填寫試卷的基本信息4.管理員提交試卷的基本信息5.系統(tǒng)驗(yàn)證提交的試卷基本信息6.系統(tǒng)顯示提交成功7.系統(tǒng)記錄了用戶提交的試卷基本信息備選事件流a.驗(yàn)證失敗a1.系統(tǒng)提示驗(yàn)證不通過的信息a2.管理員重新填寫驗(yàn)證不通過的信息a3.返回到第4步關(guān)鍵性高業(yè)務(wù)規(guī)則5.所有信息必須填寫登錄用例,主要內(nèi)容為注冊(cè)用戶的登錄步驟。表2.3登錄用例IDU03用例名稱登錄執(zhí)行者學(xué)生,管理員描述學(xué)生要進(jìn)行考試,管理員要管理試題,必須先登錄前置條件用戶訪問登錄系統(tǒng)后置條件系統(tǒng)顯示可以參加或者管理的考試基本事件流1.用戶請(qǐng)求登錄2.系統(tǒng)顯示登錄頁面3.用戶填寫登錄信息4.用戶提交登錄信息5.系統(tǒng)驗(yàn)證登錄信息6.系統(tǒng)顯示登錄成功7.系統(tǒng)顯示可以參加和管理的考試備選事件流a.驗(yàn)證失敗a1.系統(tǒng)提示驗(yàn)證不通過的信息a2.管理員重新填寫驗(yàn)證不通過的信息a3.返回到第4步關(guān)鍵性高業(yè)務(wù)規(guī)則5.工號(hào)和密碼必填參加考試用例,主要內(nèi)容為學(xué)生填寫并提交、查看考試結(jié)果的步驟。表2.4參加考試用例IDU04用例名稱參加考試執(zhí)行者學(xué)生描述學(xué)生填寫并提交、查看考試結(jié)果前置條件用戶已經(jīng)登錄系統(tǒng)后置條件系統(tǒng)顯示考試分?jǐn)?shù)基本事件流1.用戶選擇要參加考試的試卷2.系統(tǒng)顯示該試卷的信息3.用戶填寫試題答案4.用戶提交試題答案5.系統(tǒng)驗(yàn)證試題答案6.系統(tǒng)顯示考試分?jǐn)?shù)7.退出考試備選事件流a.驗(yàn)證失敗a1.系統(tǒng)提示驗(yàn)證不通過的信息a2.管理員重新填寫驗(yàn)證不通過的信息a3.返回到第4步關(guān)鍵性高業(yè)務(wù)規(guī)則4.只能提交一次5.所有的試題必須填寫3概要設(shè)計(jì)3.1在線考試系統(tǒng)功能結(jié)構(gòu)在線考試系統(tǒng)所應(yīng)具有的功能為,學(xué)生方面為學(xué)生登錄,選擇考試科目,參加考試,查閱考試成績(jī)四個(gè)功能,管理員方面為管理員登錄,管理員管理試題,管理試卷,組織考試,管理考生信息四個(gè)功能。功能結(jié)構(gòu)圖如圖3.1所示:圖3.1在線考試系統(tǒng)功能結(jié)構(gòu)圖在線考試系統(tǒng)的功能結(jié)構(gòu)分為兩個(gè)大模塊:學(xué)生模塊和管理員模塊。管理員身份登錄系統(tǒng)可以進(jìn)行的操作有對(duì)試題庫的管理,包括試題的編號(hào),科目,內(nèi)容,答案等的管理;
可以對(duì)試卷進(jìn)行管理,包括對(duì)試卷編號(hào),科目等的管理;
可以組織考卷進(jìn)行考試,設(shè)置考試科目,考試時(shí)間等;
可以管理考生信息,包括對(duì)考生信息的增刪改查,查看考生成績(jī)等。
學(xué)生模塊主要功能有以學(xué)生身份登錄系統(tǒng)之后,可以選擇需要參加的考試科目,然后進(jìn)行考試,考試結(jié)束后可以查詢自己的考試成績(jī)。
3.2系統(tǒng)流程在線考試系統(tǒng)的系統(tǒng)流程圖如圖3.2所示:圖3.2系統(tǒng)流程圖從系統(tǒng)流程圖來看,在線考試系統(tǒng)分為兩大部分,登錄分為學(xué)生登錄和管理員登錄,管理員登錄成功之后可以進(jìn)行一系列管理操作,登錄失敗則返回到登錄界面重新登錄,操作完成之后退出系統(tǒng)。學(xué)生登錄成功后可以選擇考試科目,選擇完之后參加考試,提交試卷并跳轉(zhuǎn)到顯示成績(jī)界面。
系統(tǒng)管理員管理系統(tǒng)又分為三大功能模塊,管理學(xué)生信息,管理試題,組織試卷及管理試卷。
管理學(xué)生信息子流程如圖3.3所示:
圖3.3管理學(xué)生信息子流程管理員成功登錄系統(tǒng)后,可以對(duì)考生信息進(jìn)行管理,輸入學(xué)生學(xué)號(hào)或者姓名可以查詢到考生信息,如果考生參加過考試,則可以查詢考生考試成績(jī),管理員也可以對(duì)學(xué)生的登錄密碼進(jìn)行修改。同時(shí)管理員可以錄入一個(gè)或者多個(gè)學(xué)生信息到系統(tǒng)中。
管理試題子流程如圖所示:圖3.4管理試題子流程管理員成功登錄系統(tǒng)后,可以對(duì)系統(tǒng)中的試題進(jìn)行管理。管理操作包括錄入試題信息,通過試題編號(hào)查詢?cè)囶}信息,修改試題內(nèi)容答案等。
管理試卷子流程如圖所示:圖3.5管理試卷子流程管理員成功登錄系統(tǒng)之后,可以進(jìn)行管理試卷的操作。管理員可以組織一套試卷,組織試卷之前必須先填寫試卷的基本信息,試卷科目,試卷總分,考試時(shí)間等,設(shè)置完之后組織試卷,試卷組織完成后可以查詢已存在的試卷信息,可以修改已存在的試卷信息。4詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)4.1數(shù)據(jù)庫設(shè)計(jì)及實(shí)現(xiàn)在線考試系統(tǒng)功能需求分析得出主要又學(xué)生,管理員,試卷三大部分,那么數(shù)據(jù)庫的設(shè)計(jì)也主要從這幾方面考慮。
首先創(chuàng)建一個(gè)名字為examol的數(shù)據(jù)庫,數(shù)據(jù)庫下分為五個(gè)表項(xiàng),分別為studentinfro,admin,javapaper,englishpaper,historypaper五個(gè)表。
數(shù)據(jù)庫設(shè)計(jì)的實(shí)體—關(guān)系圖如圖4.1所示:圖4.1系統(tǒng)E-R圖由于本次設(shè)計(jì)所用數(shù)據(jù)庫平臺(tái)為MySQL,數(shù)據(jù)庫設(shè)計(jì)如圖4.2所示:圖4.2examol數(shù)據(jù)庫下面來分別詳細(xì)設(shè)計(jì)這五個(gè)表。
admin表中需要包含的信息為管理員的ID已經(jīng)管理員的登錄密碼,要求主鍵非空為ID,密碼也是非空。表結(jié)構(gòu)如下:表4.1admin表結(jié)構(gòu)ColumnNameDatatypeCollationad_idInt(11)
Principalkey;NotnullpasswordVarchar(45)NotnullStudentinfro表為考生信息表,它包括學(xué)生的基本信息:學(xué)生學(xué)號(hào),學(xué)生姓名,年齡,性別,聯(lián)系電話,所在班級(jí)以及登錄密碼。學(xué)生學(xué)號(hào)為學(xué)生信息表主鍵,學(xué)生學(xué)號(hào)以及年齡為整型,其他均為字符串型,所有信息均非空。學(xué)生信息表表結(jié)構(gòu)如下:表4.2學(xué)生信息表ColumnNameDatatypeCollations_idInt(11)Principalkey;Notnulls_nameVarchar(45)Notnulls_classVarchar(45)Notnulls_ageInt(11)Notnulls_genderVarchar(45)NotnulltelephoneVarchar(45)NotnullpasswordVarchar(45)NotnullJavapaper為Java考試的試卷信息表,其中包含了java試卷的試卷編號(hào),試卷類型,試卷中的試題編號(hào),試題類型,試題題目,備選答案,正確答案及試卷分?jǐn)?shù)。其中試卷編號(hào)ja_id為javapaper表的非空主鍵,其他表項(xiàng)除成績(jī)的數(shù)據(jù)類型為Float型非空外均為字符串類型且非空。Java考試信息表表結(jié)構(gòu)如下:表4.3Java試卷信息表ColumnNameDatatypeCollationja_idVarchar(45)Principalkey;Notnullja_courseVarchar(45)Notnullja_proidVarchar(45)Notnullja_problemVarchar(255)Notnullja_answerAVarchar(255)Notnullja_answerBVarchar(255)Notnullja_answerCVarchar(255)Notnullja_answerDVarchar(255)Notnullja_rightansVarchar(255)NotnullscoreFloatNotnullEnglishpaper為english考試的試卷信息表,其中包含了English試卷的試卷編號(hào),試卷類型,試卷中的試題編號(hào),試題類型,試題題目,備選答案,正確答案及試卷分?jǐn)?shù)。其中試卷編號(hào)e_id為englishpaper表的非空主鍵,其他表項(xiàng)除成績(jī)的數(shù)據(jù)類型為Float型非空外均為字符串類型且非空。English考試信息表表結(jié)構(gòu)如下:表4.4英語試卷信息表ColumnNameDatatypeCollatione_idVarchar(45)Principalkey;Notnulle_courseVarchar(45)Notnulle_proidVarchar(45)Notnulle_problemVarchar(255)Notnulle_answerAVarchar(255)Notnulle_answerBVarchar(255)Notnulle_answerCVarchar(255)Notnulle_answerDVarchar(255)Notnulle_rightansVarchar(255)NotnullscoreFloatNotnullHistorypaper為history考試的試卷信息表,其中包含了history試卷的試卷編號(hào),試卷類型,試卷中的試題編號(hào),試題類型,試題題目,備選答案,正確答案及試卷分?jǐn)?shù)。其中試卷編號(hào)h_id為historypaper表的非空主鍵,其他表項(xiàng)除成績(jī)的數(shù)據(jù)類型為Float型非空外均為字符串類型且非空。History考試信息表表結(jié)構(gòu)如下:表4.5歷史試卷信息表ColumnNameDatatypeCollationh_idVarchar(45)Principalkey;Notnullh_courseVarchar(45)Notnullh_proidVarchar(45)Notnullh_problemVarchar(255)Notnullh_answerAVarchar(255)Notnullh_answerBVarchar(255)Notnullh_answerCVarchar(255)Notnullh_answerDVarchar(255)Notnullh_rightansVarchar(255)NotnullscoreFloatNotnull4.2持久層設(shè)計(jì)及實(shí)現(xiàn)根據(jù)上面的數(shù)據(jù)庫設(shè)計(jì),在線考試系統(tǒng)的工程需要設(shè)計(jì)與此相對(duì)應(yīng)的五個(gè)實(shí)體類,分別為Admin,Student,Javapaper,Englishpaper,Historypaper這五個(gè)Java類。實(shí)體類中需要定義數(shù)據(jù)庫對(duì)應(yīng)表中的表項(xiàng),并給出get及set方法,同時(shí)寫出實(shí)體類對(duì)應(yīng)的.xml文件,用來實(shí)現(xiàn)這些實(shí)體類所涉及到的數(shù)據(jù)。
實(shí)體類設(shè)計(jì)如圖4.3所示:圖4.3實(shí)體類設(shè)計(jì)及實(shí)現(xiàn)Admin.xml的關(guān)鍵代碼如下:
hibernate-mappingpackage=“com.ExamOL.bean“classname=“Admin“table=“admin“idname=“ad_id“column=“ad_id“type=“java.lang.Integer“generatorclass=“assigned“//idpropertyname=“password“type=“java.lang.String“column=“password“/其次我們將設(shè)計(jì)與實(shí)體類相對(duì)應(yīng)的數(shù)據(jù)庫數(shù)據(jù)操作DAO類,共對(duì)應(yīng)五個(gè)DAO類,即AdminDao,StudentDao,JavapaperDao,EnglishpaperDao,HistorypaperDao這五個(gè)Java類。實(shí)體類所對(duì)應(yīng)的DAO類主要作用為各個(gè)類的數(shù)據(jù)傳輸,即與數(shù)據(jù)庫之間的數(shù)據(jù)操作。DAO類的實(shí)現(xiàn)如圖4.4所示:圖4.4DAO類設(shè)計(jì)及實(shí)現(xiàn)AdminDao類需要實(shí)現(xiàn)的是管理員登錄時(shí)候從數(shù)據(jù)庫調(diào)用管理員的基本信息,是否能夠與數(shù)據(jù)庫信息匹配,關(guān)鍵實(shí)現(xiàn)代碼如下://管理員登錄publicbooleanadminLogin(Integerad_id,Stringpassword){Stringhql=“fromAdminawherea.ad_id=?anda.password=?“;SessionFactorysf=newConfiguration().configure().buildSessionFactory();session=sf.openSession();Transactiontx=session.beginTransaction();Queryquery=session.createQuery(hql);query.setParameter(0,ad_id);query.setParameter(1,password);Listlist=query.list();if(list。=nulllist.size()。=0){returntrue;}StudentDao類主要實(shí)現(xiàn)的是學(xué)生登錄,學(xué)生信息增刪改查,已經(jīng)學(xué)生密碼的修改,學(xué)生信息獲取包括通過學(xué)生學(xué)號(hào)來查詢學(xué)生信息和通過學(xué)生姓名來查詢學(xué)生信息。
JavapaperDao類主要實(shí)現(xiàn)的是Java試卷信息的獲取,包括通過試卷編號(hào)獲取試卷信息,通過試題編號(hào)獲取某一道試題的信息,以及試題的增刪改。
EnglishpaperDao類主要實(shí)現(xiàn)的是英語試卷信息的獲取,包括通過試卷編號(hào)獲取試卷信息,通過試題編號(hào)獲取某一道試題的信息,以及試題的增刪改。
HistorypaperDao類主要實(shí)現(xiàn)的是歷史試卷信息的獲取,包括通過試卷編號(hào)獲取試卷信息,通過試題編號(hào)獲取某一道試題的信息,以及試題的增刪改。
4.3視圖層設(shè)計(jì)及實(shí)現(xiàn)在線考試系統(tǒng)的界面設(shè)計(jì)主要有登錄界面,學(xué)生選擇考試界面,學(xué)生答題界面,顯示分?jǐn)?shù)界面,管理員管理系統(tǒng)界面,管理學(xué)生信息界面,管理試題界面,管理試卷界面以及試卷和試題的增加、修改查詢界面。
登錄界面包括學(xué)生登錄和管理員登錄兩個(gè)選項(xiàng),用戶需要輸入用戶名以及密碼才能登錄,用戶名為學(xué)生ID或者管理員ID。登錄界面實(shí)現(xiàn)的關(guān)鍵代碼吐下:span學(xué)生在線考試系統(tǒng)/span/divformaction=“l(fā)ogin“onclick=“returnloginSubmit();“method=“post“name=“l(fā)oginForm“style=“background-color:rgba(96,125,139,1);;height:350px;margin-top:60px;“divclass=“input-info“divclass=“input-form“inputid=“userId“name=“userId“type=“text“class=“easyui-validateboxtextbox“data-options=“required:true,missingMessage:'請(qǐng)輸入用戶名'“placeholder=“用戶名“style=“position:absolute;left:25%;top:200px;height:30px;width:250px;“//divdivclass=“input-form“inputid=“password“name=“password“type=“password“class=“easyui-validateboxtextbox“data-options=“required:true,missingMessage:'請(qǐng)輸入密碼'“placeholder=“密碼“style=“position:absolute;left:25%;top:285px;height:30px;width:250px;“//div/divdivclass=“radio-style“id=“radios“inputname=“identity“type=“radio“value=“0“checked=“checked“學(xué)生inputname=“identity“type=“radio“value=“1“管理員/divbuttontype=“submit“id=“l(fā)oginBtn“class=“l(fā)ogin-button“登錄/button登錄界面主要有學(xué)生登錄和管理員登錄兩個(gè)選項(xiàng),用戶分別輸入自己的用戶名及密碼方可登錄,登錄界面實(shí)現(xiàn)如圖4.5所示:
圖4.5在線考試系統(tǒng)登錄界面管理員使用系統(tǒng)授權(quán)的管理員用戶名編號(hào)及密碼登錄系統(tǒng),用戶名及密碼輸入正確點(diǎn)擊登錄后,即可進(jìn)入管理員管理系統(tǒng)界面。管理員管理界面功能總共包含了三個(gè):管理學(xué)生信息,管理試題信息及管理試卷信息。管理學(xué)生信息可添加新的學(xué)生,修改學(xué)生信息及密碼,刪除學(xué)生信息。管理試題信息包括對(duì)試題的增刪改查,同時(shí)可以設(shè)置試題的分值,正確答案等。管理試卷包括選擇需要組織的試卷科目,種類及分值。下面主要演示管理試題信息界面實(shí)現(xiàn),如圖4.6所示:圖4.6管理試題界面學(xué)生登錄需要輸入學(xué)生學(xué)號(hào)及密碼方可登錄,點(diǎn)擊登錄系統(tǒng)登錄成功后,進(jìn)入選擇考試界面。閱讀考試需知并選擇考試科目可參加考試。如圖4.7所示:
圖4.7學(xué)生選擇科目界面學(xué)生選擇科目參加考試,進(jìn)入考試界面。如圖4.8所示:圖4.8在線考試界面4.4控制層設(shè)計(jì)及實(shí)現(xiàn)在線考試系統(tǒng)的系統(tǒng)操作為控制層所要實(shí)現(xiàn)的功能,對(duì)應(yīng)著系統(tǒng)界面設(shè)計(jì)所涉及到的不同用戶的操作。
系統(tǒng)登錄操作為管理員與學(xué)生的登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中毒性紅斑的臨床護(hù)理
- 產(chǎn)后手腳發(fā)麻的健康宣教
- 《教學(xué)拍牙齒片子》課件
- 腳趾長(zhǎng)水泡的臨床護(hù)理
- 在政協(xié)委員培訓(xùn)班上輔導(dǎo)工作的報(bào)告材料
- 《保險(xiǎn)新人培訓(xùn)》課件
- 《自動(dòng)控制原理》課件第12章
- 全身脂肪代謝障礙的臨床護(hù)理
- 鼻血管瘤的健康宣教
- 過敏性肉芽腫性血管炎的健康宣教
- 公司力量觀后感
- 《國(guó)際法》形成性考核參考資料廣東開放大學(xué)2022年10月題庫
- 《茅臺(tái)酒有限公司內(nèi)部控制現(xiàn)狀及問題案例分析》8800字
- 純電動(dòng)汽車整車控制器(VCU)策略 PPT
- 2022年學(xué)校申請(qǐng)新增專業(yè)應(yīng)急救援技術(shù)
- 塔吊頂升前后檢查表
- GB∕T 17794-2021 柔性泡沫橡塑絕熱制品
- 仁愛英語八年級(jí)上冊(cè)u(píng)nit1-知識(shí)點(diǎn)
- 村文化活動(dòng)室改造項(xiàng)目工程施工設(shè)計(jì)方案
- 關(guān)于人血白蛋白
- 美術(shù)檔案袋PPT課件
評(píng)論
0/150
提交評(píng)論