基于JSP在線考試系統(tǒng)源代碼和論文_第1頁
基于JSP在線考試系統(tǒng)源代碼和論文_第2頁
基于JSP在線考試系統(tǒng)源代碼和論文_第3頁
基于JSP在線考試系統(tǒng)源代碼和論文_第4頁
基于JSP在線考試系統(tǒng)源代碼和論文_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

基于JSP的在線考試系統(tǒng)源代碼和論文目錄緒論2第1章系統(tǒng)開發(fā)背景及意義31.1系統(tǒng)開發(fā)背景31.2系統(tǒng)開發(fā)意義3第2章網(wǎng)上考試系統(tǒng)需求分析52.1現(xiàn)狀分析52.2可行性分析62.2.1經(jīng)濟可行性62.2.2技術(shù)可行性62.3設(shè)計目標(biāo)72.4功能要求72.5系統(tǒng)開發(fā)環(huán)境配置82.6系統(tǒng)開發(fā)工具82.6.1開發(fā)語言—JSP(JavaServerPage)82.6.2數(shù)據(jù)庫—MySQL5.09第3章網(wǎng)上考試系統(tǒng)設(shè)計103.1數(shù)據(jù)庫設(shè)計103.1.1數(shù)據(jù)庫需求分析103.1.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計113.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計123.1.4數(shù)據(jù)庫表設(shè)計153.2系統(tǒng)結(jié)構(gòu)設(shè)計173.2.1頁面模塊化設(shè)計173.2.2MVC模式設(shè)計(Jsp+Servlet+JavaBean)18第4章網(wǎng)上考試系統(tǒng)實現(xiàn)194.1系統(tǒng)各部分的實現(xiàn)方法194.1.1創(chuàng)建與數(shù)據(jù)庫的連接194.1.2訪問數(shù)據(jù)庫的JavaBean204.1.3用戶及管理員登錄模塊頁面214.1.4系統(tǒng)主要模塊頁面254.1.5學(xué)生考試模塊的實現(xiàn)頁面274.1.6老師添加試題制作試卷模塊的實現(xiàn)29第5章系統(tǒng)測試325.1什么是軟件測試325.2軟件測試的目標(biāo)與方法325.3系統(tǒng)的不足和展望32結(jié)束語33致謝錯誤!未定義書簽。參考文獻34緒論考試是檢驗教學(xué)效果的重要手段,也是促進學(xué)生學(xué)習(xí)的重要手段,是教學(xué)過程中的一個重要環(huán)節(jié)。學(xué)生考試成果的優(yōu)劣,不但反映其對教學(xué)內(nèi)容和應(yīng)駕馭學(xué)問的分析、理解、汲取、運用的實力,更反映老師對教學(xué)內(nèi)容的把握和嫻熟程度。傳統(tǒng)的學(xué)校教學(xué)中,進行一場考試,要求老師編寫試卷、印試卷、支配考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷,這是一個繁雜的過程,須要大量人力、物力與時間的投入,已經(jīng)越來越不適應(yīng)學(xué)校信息化建設(shè)與現(xiàn)代教學(xué)的須要。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中支配考試,給校方和學(xué)生帶來了眾多的不便。而網(wǎng)上考試系統(tǒng)不僅減輕了在組織考試、評卷、成果統(tǒng)計等方面所花費的人力和物力,并且突破了時間與空間的限制,不僅節(jié)約了資源,而且提高了評分的客觀性、公正性和精確度,大大改善了考試工作的效率。加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程,因此在線考試是電子化教學(xué)的不行缺少的協(xié)助手段。在當(dāng)今信息時代,計算機技術(shù)與網(wǎng)絡(luò)技術(shù)越來越廣地應(yīng)用于各個領(lǐng)域,變更著人們的學(xué)習(xí)、工作、生活乃至思維方式,也引起了教化領(lǐng)域的重大變革。將計算機與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教化中,是現(xiàn)代高等教化發(fā)展的須要,也是改革教化模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。第1章系統(tǒng)開發(fā)背景及意義1.1系統(tǒng)開發(fā)背景隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)快速發(fā)展和高校校內(nèi)網(wǎng)功能的日益完善,很多高校建立了基于校內(nèi)網(wǎng)的網(wǎng)絡(luò)信息管理平臺,為提高教學(xué)管理水平供應(yīng)了先進的管理手段。目前,基于網(wǎng)絡(luò)的在線考試系統(tǒng)己經(jīng)成為現(xiàn)代考試方式的有力補充和發(fā)展。相對于傳統(tǒng)的筆試,網(wǎng)絡(luò)在線考試不僅減輕了在組織考試、評卷、成果統(tǒng)計等方面所花費的人力和物力,并且突破了時間與空間的限制,不僅節(jié)約了資源,而且提高了評分的客觀性、公正性和精確度,大大改善了考試工作的效率。1.2系統(tǒng)開發(fā)意義很多學(xué)校學(xué)生的期末考試仍采納任課老師(個人或集體)考前出題的方式。為解決學(xué)生壓題,考前漏題,補(緩)考試題與正式考試試題題量及難度差異問題,教務(wù)管理部門通常要求老師同時出多套試卷,其題量與難度要求相同,并且要同時給出答案和評分標(biāo)準(zhǔn)。這樣做雖能解決一些問題,但給老師增加了很大的工作負(fù)擔(dān),若上下屆學(xué)生的同一門課程由同一老師擔(dān)當(dāng),則難免幾屆學(xué)生用相同幾套試卷;若由不同老師任課出題,則上下屆學(xué)生的成果之間又不具有可比性。若建立題庫,每次考試前由題庫中題目隨機生成試卷,則可較好地解決考教分別的問題,也可將廣闊老師從每學(xué)期末繁重的命題工作中解放出來。近年來,部分學(xué)校接連開發(fā)了一些基于微機的題庫系統(tǒng),并作為成果向其它學(xué)校推廣,但這些題庫一般都是結(jié)合本校具體狀況,針對單一課程的小型題庫,甚至某些學(xué)校購得的題庫系統(tǒng)中的題目本身是不行維護的,即使題目已不適合自己的學(xué)生考試運用,也無法更新題庫中的題目。為解決題庫系統(tǒng)中存在的這些問題,作者經(jīng)過探討幾種不同的網(wǎng)上系統(tǒng),經(jīng)充分的考慮,最終給出了一個較為志向的題庫系統(tǒng)解決方案,并結(jié)合當(dāng)前比較運用的B/S結(jié)構(gòu)開發(fā)一個功能完備的網(wǎng)上考試系統(tǒng)。第2章網(wǎng)上考試系統(tǒng)需求分析2.1現(xiàn)狀分析傳統(tǒng)的考試方法要求組織者提前命題試卷,然后約定一個統(tǒng)一時間,讓全部考生到考場里進行考試。這種模式如圖2-1所示:圖2-1傳統(tǒng)考試模式這種模式存在有較多的問題:命題:由于考試要求統(tǒng)一進行,全部考生都考同樣的一份試卷,所以試卷的命題工作便肯定得特別謹(jǐn)慎當(dāng)心,試題太難或太簡潔,都達不到考試目的,尤其是對于一個大規(guī)模的考試,(比如計算機等級考試,英語四,六級考試等),如何正確把握試卷的難度,始終都是讓命題老師最為頭痛的問題之一。而如何不在考試之前使命好的試題泄漏出去,也是組織者費盡心思。試卷印刷:對于大規(guī)模的考試,試卷印刷費工費時,成本高,對紙張資源也是一種奢侈。對于涉及地域范圍較廣的考試(如英語四,六級考試),還要考慮試卷大的長途運輸費用。在考試的印刷和運輸過程中同樣有試題泄漏出去的問題,任何一個環(huán)節(jié)出了問題,都可能使前面有的工作付諸流水。考場的支配:監(jiān)考人員的培訓(xùn)與管理。對于大規(guī)模的考試,尤其是到了考試密集期(如期末,期中)。諸多學(xué)科的考試都要接連起先的時候,對于教室資源和老師數(shù)量相對驚慌的學(xué)校,如何支配考場,調(diào)配監(jiān)考人員,是一件相對繁瑣而又困難的事情。假如考試再涉及到不同地域之間的同步,如英語四,六級的考試,還要考慮更多的問題。進行考試:由于同一次考試的試卷相同,要杜絕考生作弊是一個普遍的難題,因此,歷屆組織考試的人動了很多腦筋,如分AB卷,加強監(jiān)考,加重對作弊者的懲處程度等,但這些都沒能從根本上杜絕作弊。不同地域監(jiān)考的嚴(yán)格程度,考試時問限制的嚴(yán)格程度,也很難達到統(tǒng)一。過多人為因素的加入,也使得考試的公正性下降。判卷:考試結(jié)束后,采納人工判卷比較簡潔出錯,并可能出現(xiàn)人為造成的不公正現(xiàn)象。2.2可行性分析可行性分析也稱為可行性探討,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟、管理的方面進行分析和探討,以避開投資失誤,保證新系統(tǒng)的開發(fā)勝利??尚行蕴接懙哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。2.2.1經(jīng)濟可行性主要是對項目的經(jīng)濟效益進行評價,利用計算機來實現(xiàn)網(wǎng)上考試以成為適應(yīng)當(dāng)今教學(xué)管理的方式。開發(fā)一套能滿意網(wǎng)上考試系統(tǒng)的軟件是特別必要的,實現(xiàn)試卷管理和試卷生成自動化,在削減由于認(rèn)為失誤而早成損失的同時,也可以使老師削減工作量。本系統(tǒng)在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高考試效率,有助于學(xué)院完全實現(xiàn)網(wǎng)絡(luò)化管理。所以本系統(tǒng)在經(jīng)濟上是可行的。2.2.2技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件是否能順當(dāng)完成開發(fā)工作,硬、軟件能否滿意開發(fā)者的須要等。軟件方面,網(wǎng)絡(luò)化考試須要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫服務(wù)器方面則有MySQL,均能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性并供應(yīng)很多高級管理功能。其敏捷性、平安性和易用性為數(shù)據(jù)庫編程供應(yīng)了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今日,硬件更新的速度越來越快,容量越來越大,牢靠性越來越高,價格越來越低,其硬件平臺完全能滿意此系統(tǒng)的須要。2.3設(shè)計目標(biāo)在線考試系統(tǒng)的總體目標(biāo):1.在線考試系統(tǒng)可以幫助老師完成一個考試從題目設(shè)計,考試支配,考試實施,考卷批改到分?jǐn)?shù)計算總結(jié)的全部工作。2.全部的考試數(shù)據(jù)和其它數(shù)據(jù)庫須要一種主流的方式進行存儲和管理,例如運用數(shù)據(jù)庫技術(shù)。3.考試數(shù)據(jù)的存放和處理必需對考試保密,須要肯定的平安性保障。4.題目最好有肯定的穩(wěn)定性和隨機性。穩(wěn)定性可以保證每一次考試對每一個考生是公允的,隨機性可以避開作弊的發(fā)生。5.考試的部分客觀題在考生考完之后系統(tǒng)就能自動評分,并保存考生的主觀題答案。2.4功能要求系統(tǒng)應(yīng)當(dāng)具備的基本功能:用戶類別:登錄系統(tǒng)的身份定為三種,一是管理員,二是一般老師,四是學(xué)生,只有被授權(quán)的用戶才可以運用本系統(tǒng)的資源。權(quán)限管理:系統(tǒng)須要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,運用的系統(tǒng)資源也不同??忌豢梢詤⑴c在線考試;一般老師可以在線制作試卷,限制考試、成果查詢、添加試題、閱卷等。管理員可添加系系部、老師、專業(yè)、科目信息、查詢修改管理員信息及審批試卷、查詢考生成果。在線考試功能:考生輸入學(xué)號密碼登陸系統(tǒng)后,選擇對應(yīng)的試卷可進行考試。答題中,有倒計時的功能,考試結(jié)束時還沒提交就自動交卷,系統(tǒng)將自動對客觀題進行評分。在線制作試卷:老師、管理員可在線制作試卷,可設(shè)定試題的類型、分值,但老師制作試卷后必須要由管理員審核才能考試。限制考試功能:可設(shè)定每次的考試時間。考生管理功能:可注冊新增學(xué)生用戶,同時查看考生及班級考生的信息??忌晒樵児δ埽汗?yīng)考生各科目成果的具體查詢。試卷審批功能:只有管理員有此權(quán)限。老師制作試卷完畢,只有經(jīng)過管理員審批后才能發(fā)布,發(fā)布后學(xué)生才能開考。除了實現(xiàn)上述功能以外,在線考試系統(tǒng)還應(yīng)當(dāng)具有友好、簡潔的界面,平安性要高,穩(wěn)定性要強。2.5系統(tǒng)開發(fā)環(huán)境配置選擇微軟平臺作為主導(dǎo),一方面考慮目前微軟的飛速發(fā)展,越來越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時,將微軟平臺作為首選方案;令一方面從技術(shù)角度來講,微軟平臺上的應(yīng)用無論是在開發(fā)上,還是在軟件的部署上都是特別簡潔,而且性能優(yōu)越。具體如下:1.開發(fā)工具:MyEclipse8.02.協(xié)助開發(fā)工具:Dreamweaver83.數(shù)據(jù)庫:MySQL5.04.服務(wù)器:ApacheTomcat6.05.運行環(huán)境:安裝JDK1.6支持Java運行。6.技術(shù):前臺網(wǎng)頁的設(shè)計采納JSP技術(shù)制作。負(fù)責(zé)響應(yīng)用戶對業(yè)務(wù)邏輯的懇求并依據(jù)用戶的懇求行為,確定將哪個JSP頁面發(fā)送給客戶由servlet處理,JavaBean則負(fù)責(zé)數(shù)據(jù)的處理。2.6系統(tǒng)開發(fā)工具本系統(tǒng)是基于JSP+MySQL5.0數(shù)據(jù)庫技術(shù)實現(xiàn)的,現(xiàn)對JSP技術(shù)和SQLServer2005數(shù)據(jù)庫作簡要的介紹。2.6.1開發(fā)語言—JSP(JavaServerPage)JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)須要JavaServlet和JSP協(xié)作才能完成。JSP具備了Java技術(shù)的簡潔易用,完全的面對對象,具有平臺無關(guān)性且平安牢靠,主要面對因特網(wǎng)的等特點。JSP的技術(shù)的優(yōu)勢:一次編寫,到處運行。在這一點上Java比PHP更精彩,除了系統(tǒng)之外,代碼不須要做任何更改。系統(tǒng)的多平臺支持。基本上可以在全部平臺上的隨意環(huán)境中開發(fā),在隨意環(huán)境中進行系統(tǒng)部署,在隨意環(huán)境中擴展。相比ASP/PHP的局限性是自不待言的。JSP技術(shù)是用Java語言作為腳本語言的。Java語言是成熟的、強大的、易擴充的編程語言。高效性與平安性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機說明執(zhí)行,比源碼說明效率高??删S護性。由于JSP技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此Web服務(wù)器、平臺及其他組件能很簡潔升級或切換,且不會影響JSP基本的應(yīng)用程序。多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了很多特別優(yōu)秀的開發(fā)工具,而且很多可以免費得到,并且其中很多已經(jīng)可以順當(dāng)?shù)倪\行于多種平臺之下。2.6.2數(shù)據(jù)庫—MySQL5.0MySQL是一個精致的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些狀況下你可以自由運用。由于它的強大功能、敏捷性、豐富的應(yīng)用編程接口(API)以及精致的系統(tǒng)結(jié)構(gòu),受到了廣闊自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特殊是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站供應(yīng)了強大動力。SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更簡潔。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和敏捷以允許你存儲記錄文件和圖像。包含資料:源程序+論文(15000字以上)+可執(zhí)行程序+答辯稿ppt+開題報告若有須要請聯(lián)系QQ:859515463Email:第3章網(wǎng)上考試系統(tǒng)設(shè)計3.1數(shù)據(jù)庫設(shè)計在對網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫部分進行設(shè)計的過程中,通過對系統(tǒng)功能進行需求分析得到系統(tǒng)的基本信息表,繪制系統(tǒng)業(yè)務(wù)流程圖和系統(tǒng)數(shù)據(jù)流程圖,分析得到數(shù)據(jù)字典;在概率結(jié)構(gòu)設(shè)計階段通過對需求階段得到的用戶需求抽象得到數(shù)據(jù)庫關(guān)系模型的E-R圖;在邏輯結(jié)構(gòu)設(shè)計階段得到數(shù)據(jù)庫的關(guān)系模式并繪制信息表。具體設(shè)計過程如下介紹。3.1.1數(shù)據(jù)庫需求分析需求分析是設(shè)計數(shù)據(jù)庫的起點,需求分析的結(jié)果是否精確地反映了用戶的實際要求,將干脆影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和好用。系統(tǒng)基本信息綜合以上分析,要實現(xiàn)上面的全部功能模塊,數(shù)據(jù)庫共要設(shè)計十個表,它們分別是:科目表、班級表、系別表、專業(yè)表、試卷信息表、學(xué)生表、學(xué)生成果表、學(xué)生答題試卷信息表、老師表、題庫表。系統(tǒng)層次圖依據(jù)所要實現(xiàn)的功能和用戶權(quán)限的設(shè)置。系統(tǒng)總體的層次圖如下圖3-1所示:圖3-1系統(tǒng)層次圖系統(tǒng)數(shù)據(jù)流程圖系統(tǒng)數(shù)據(jù)流程圖如下圖3-2所示:圖3-2數(shù)據(jù)流程圖3.1.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計概念設(shè)計階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,包括概念模型設(shè)計和新系統(tǒng)流程兩個階段。在需求分析階段所得到的應(yīng)用需求應(yīng)當(dāng)首先抽象為信息世界的結(jié)構(gòu),才能更好地、更精確地用某一DBMS實現(xiàn)這些需求。概念數(shù)據(jù)模型獨立于具體的數(shù)據(jù)處理的細(xì)微環(huán)節(jié)和數(shù)據(jù)庫管理系統(tǒng)。這次設(shè)計仍采納傳統(tǒng)的實體聯(lián)系圖作為概念設(shè)計的工具。再進行優(yōu)化后,盡量滿意結(jié)構(gòu)清晰、關(guān)聯(lián)簡潔、實體個數(shù)適中、屬性分協(xié)作理、沒有低級冗余。系統(tǒng)E-R圖如下圖3-3所示:圖3-3系統(tǒng)E-R圖3.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計對于關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,要把E-R圖描述的概念數(shù)據(jù)模型轉(zhuǎn)換為等價的關(guān)系模式極其約束。邏輯設(shè)計的基本工作主要包括如下的3個步驟。關(guān)系模式設(shè)計該設(shè)計以概念結(jié)構(gòu)設(shè)計中的E-R圖為主要依據(jù),這幾出相關(guān)的整體邏輯結(jié)構(gòu)。該系統(tǒng)的關(guān)系模式如下圖3-4所示:圖3-4概念關(guān)系模型圖完整性設(shè)計完整性要求用于描述各種信息之間的制約關(guān)系,以及關(guān)聯(lián)關(guān)系,各個數(shù)據(jù)項的取值范圍以及各個數(shù)據(jù)項是否可以取值。依據(jù)實際須要,實行肯定的手段來滿意用戶的完整性需求。域完整性約束要求屬性值必需在域中。實體完整性約束要求主鍵必需唯一且不能為空。如用戶信息表中的用戶名設(shè)置為主鍵,并且要求唯一且不能為空。模式優(yōu)化本次采納3NF為規(guī)范準(zhǔn)則來分解關(guān)系。將一個關(guān)系分解為兩個或者多個關(guān)系,以滿意規(guī)范,從而避開產(chǎn)生插入異樣、刪除異樣、更新異樣。包含資料:源程序+論文(15000字以上)+可執(zhí)行程序+答辯稿ppt+開題報告若有須要請聯(lián)系QQ:859515463Email:3.1.4數(shù)據(jù)庫表設(shè)計學(xué)生信息表如圖3-5所示圖3-5學(xué)生信息表老師信息表如圖3-6所示圖3-6老師信息表題庫信息表如圖3-7所示圖3-7題庫信息表試卷信息表如圖3-8所示圖3-8試卷信息表學(xué)生答案表如圖3-9所示圖3-9學(xué)生答案表學(xué)生成果表如圖3-10所示圖3-10學(xué)生成果表系部信息表如圖3-11所示圖3-11系部信息表專業(yè)信息表如圖3-12所示圖3-12專業(yè)信息表科目信息表如表3-13所示表3-13科目信息表班級信息表如圖3-14所示圖3-14班級信息表3.2系統(tǒng)結(jié)構(gòu)設(shè)計3.2.1頁面模塊化設(shè)計模塊化設(shè)計的要求不僅是為了提高代碼的重用性,更重要的是為了提高代碼的可維護性和穩(wěn)定性。一個模塊化程度高、結(jié)構(gòu)清晰的應(yīng)用程序,在程序維護時的便利性是可想而知的。最初設(shè)計方案時,就要規(guī)劃好哪些模塊是可以提出來多次運用,哪些模塊雖只運用一次,但提出來之后能使代碼更清晰等。網(wǎng)上考試系統(tǒng)是一個典型的數(shù)據(jù)庫開發(fā)應(yīng)用程序,本系統(tǒng)主要用管理員、老師和學(xué)生三大模塊組成,各模塊功能如下:管理員模塊:該模塊主要是對系部、專業(yè)、班級、課程進行管理,添加修改學(xué)生、老師、信息,添加試題、試卷和審核老師制作的試卷等。老師模塊:該模塊主要是老師通過登錄該系統(tǒng)能夠修改個人信息,添加試題,在線制作試卷,閱卷等。學(xué)生模塊:該模塊主要是學(xué)生通過登錄該系統(tǒng)能夠修改個人信息(只能修改密碼),進行考試等。3.2.2MVC模式設(shè)計(Jsp+Servlet+JavaBean)MVC(ModelViewController)是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。運用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、限制器。它們各自處理自己的任務(wù)。視圖是用戶看到并與之交互的界面。如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。JSP頁面處于表現(xiàn)層,也就是視力(View即V)的角色。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以削減了代碼的重復(fù)性。JavaBean則負(fù)責(zé)數(shù)據(jù)的處理,也就是模型(Model即M)的角色。限制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,限制器本身不輸出任何東西和做任何處理。它只是接收懇求并確定調(diào)用哪個模型構(gòu)件去處理懇求,然后用確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。Servlet用來處理懇求的事務(wù),充當(dāng)限制器(Controller即C)的角色,Servlet負(fù)責(zé)響應(yīng)用戶對業(yè)務(wù)邏輯的懇求并依據(jù)用戶的懇求行為,確定將哪個JSP頁面發(fā)送給客戶。初始的懇求由Servlet來處理,Servlet調(diào)用商業(yè)邏輯和數(shù)據(jù)處理代碼,并創(chuàng)建Bean來表示相應(yīng)的結(jié)果(模型)。然后Servlet確定哪個頁面適合于表達這些特定的結(jié)果,并將懇求轉(zhuǎn)發(fā)到相應(yīng)的頁面(JSP頁面即為視圖),由Servlet確定哪個業(yè)務(wù)邏輯適用,應(yīng)當(dāng)用哪個JSP頁面相應(yīng)結(jié)果(Servlet就是限制器)。第4章網(wǎng)上考試系統(tǒng)實現(xiàn)4.1系統(tǒng)各部分的實現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,系統(tǒng)總體上有兩個功能模塊組成。各模塊雖然是獨立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護數(shù)據(jù)庫,同時也便于老師和學(xué)生的操作。在介紹系統(tǒng)各模塊的實現(xiàn)方法之前,首先介紹系統(tǒng)與數(shù)據(jù)庫的連接方式——運用JavaBean連接連接在服務(wù)器tomcat里配置的連接池。再介紹系統(tǒng)主要部分的實現(xiàn)方法。4.1.1創(chuàng)建與數(shù)據(jù)庫的連接配置數(shù)據(jù)源創(chuàng)建連接池,再通過JavaBean連接到數(shù)據(jù)源再對數(shù)據(jù)庫進行操作。連接池是創(chuàng)建和管理一個連接的緩沖池的技術(shù),這些連接打算好被任何須要它們的線程運用。連接池可以極大的改善用戶的Java應(yīng)用程序的性能,同時削減全部資源的運用。連接池主要的優(yōu)點有:削減連接創(chuàng)建時間、簡化的編程模式、受控的資源運用。連接池能夠使性能最大化,同時還能將資源利用限制在肯定的水平之下,不過假如超過該水平,應(yīng)用程序?qū)⒈罎⒍粌H僅是變慢。配置連接池:1.首先要將mysql的驅(qū)動包放在tomcat/lib書目下2.在應(yīng)用服務(wù)器Tomcat里的/conf下找到一個context.xml文件,在里面添加的內(nèi)容如下:auth=maxIdle=須要訪問數(shù)據(jù)庫就通過在JavaBean創(chuàng)建的一個叫QueryRunner()方法來訪問。代碼如下:publicclassConn{}publicstaticQueryRunnergetQueryRunner(){DataSourceds=null;try{Contextcontext=newInitialContext();ds=(DataSource)context.lookup(4.1.2訪問數(shù)據(jù)庫的JavaBeanJavaBean是一種Java語言寫成的可重用組件。為寫成JavaBean,類必需是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBean通過供應(yīng)符合一樣性設(shè)計模式的公共方法將內(nèi)部域暴露成為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自省機制發(fā)覺和操作這些JavaBean屬性。用戶可以運用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用Java代碼創(chuàng)建的對象進行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、Applet程序或應(yīng)用來運用這些對象。用戶可以認(rèn)為JavaBean供應(yīng)了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)切任何變更。JSP的一個重要特性就是可以用JavaBean實現(xiàn)功能的擴展。將大部分功能放在JavaBean中完成,以使JSP頁面程序更干凈簡潔、利于維護。JavaBean可以很便利的用來捕獲頁面表單的輸入并完成各種業(yè)務(wù)邏輯的處理。連接數(shù)據(jù)庫的JavaBean——Conn。通過JSP頁面調(diào)用此JavaBean,可以實現(xiàn)對數(shù)據(jù)庫的連接,數(shù)據(jù)表的添加、刪除、更新等操作。4.1.3用戶及管理員登錄模塊頁面用戶登錄頁面比較簡潔,為防止用戶登錄的操作錯誤,應(yīng)設(shè)置錯誤處理頁面,在登錄操作過程中,一般發(fā)生的錯誤有:用戶輸入了錯誤的用戶名或密碼、用戶干脆單擊了登錄按鈕,對上述狀況的推斷就要通過Servlet文件來實現(xiàn)。學(xué)生登錄界面如圖4-1所示:圖4-1學(xué)生登錄面管理員老師登錄界面如4-2圖所示:圖4-2管理員老師登錄界面在登錄頁面時,當(dāng)用戶提交了登錄資料后,就由“UsersServlet.java”這個servlet進行驗證,它的工作主要是推斷用戶登錄的帳號和密碼是否一樣。完成這些工作就必需連接存儲用戶數(shù)據(jù)庫取出相關(guān)信息記錄。假如用戶輸入了錯誤的用戶名和密碼,通過history.back();返回到登錄界面并提示出錯,如圖4-3所示:圖4-3登錄錯誤提示頁面若用戶提交正確的用戶和密碼后,假如記錄驗證無誤,就通過JSP的request.getRequestDispatcher()方法跳轉(zhuǎn)到相應(yīng)的界面;推斷用戶是否輸入正確用戶名和密碼的Java程序片段如下所示://學(xué)生登錄信息驗證publicvoidstu(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{StringStuId=request.getParameter(Stringparams[]={StuId,StuPwd};QueryRunnerqr=Conn.getQueryRunner();Studentstudent=null;Listlist=null;try{list=(List)qr.query(sql,newBeanListHandler(Student.class),params);}catch(SQLExceptione){}if(list.size()>0){student=(Student)list.get(0);HttpSessionsession=request.getSession();session.setAttribute(}else{response.setContentType(}}//老師和管理員登錄信息驗證publicvoidtea(HttpServletRequestrequest,HttpServletResponseresponse)StringTeaId=request.getParameter(Stringparams[]={TeaId,TeaPwd};QueryRunnerqr=Conn.getQueryRunner();Teacherteacher=null;Listlist=null;try{list=(List)qr.query(sql,newBeanListHandler(Teacher.class),params);}catch(SQLExceptione){}if(list.size()>0){teacher=(Teacher)list.get(0);System.out.println(teacher.getTealimit());//老師登錄if(teacher.getTealimit().equals(HttpSessionsession=request.getSession();session.setAttribute(//管理員登錄if(teacher.getTealimit().equals(}}4.1.4系統(tǒng)主要模塊頁面整個系統(tǒng)都采納JSP+JavaBean+Servletm模式實現(xiàn)。JSP+JavaBean+servlet模式的運用實現(xiàn)了代碼的重復(fù)利用;是系統(tǒng)程序易編寫、易維護、易運用;并且可以在任何安裝了Java運行環(huán)境的平臺上運用而不須要重新編譯。系統(tǒng)首頁如圖4-4、4-5、4-6所示。學(xué)生登錄系統(tǒng)進入學(xué)生選擇考試頁面如圖4-4所示:圖4-4學(xué)生登錄首頁老師登錄系統(tǒng)后,進入老師首頁如下圖4-5所示:圖4-5老師界面管理員登錄系統(tǒng)后,進入管理員首頁如下圖4-6所示:圖4-6管理員首頁不同用戶登錄系統(tǒng)后顯示的界面都是簡潔都是一些功能的鏈接。外觀是一個DIV+CSS的后臺管理模版。4.1.5學(xué)生考試模塊的實現(xiàn)頁面考生可以通過首頁登錄進入選擇考試頁面,如上圖所示。在該頁面考生能查看考試科目和開考時間,可以修改個人的密碼。修改密碼勝利后將自動注銷重新登錄。假如到了起先考試的時間“是否考試”中就會由“等待考試”變成“起先考試”的連接了,考生可以點擊此處進入到考試頁面。考試頁面有倒計時顯示,假如時間到了系統(tǒng)會自動提交。學(xué)生考試界面如下圖4-7所示。圖4-7考試頁面功能實現(xiàn)代碼如下:sql=Paperpaper=null;try{Listlist=(List)qr.query(sql,newBeanListHandler(Paper.class));paper=(Paper)list.get(0);}catch(SQLExceptione){e.printStackTrace();}sql=System.out.println(Listsincount=null;try{sincount=(List)qr.query(sql,newBeanListHandler(Question.class));}catch(SQLExceptione){e.printStackTrace();}sql=System.out.println(Listblabount=null;try{blabount=(List)qr.query(sql,newBeanListHandler(Question.class));}catch(SQLExceptione){e.printStackTrace();}sql=+paper.getTesAnsCount();System.out.println(Listanscount=null;try{anscount=(List)qr.query(sql,newBeanListHandler(Question.class));}catch(SQLExceptione){e.printStackTrace();}4.1.6老師添加試題制作試卷模塊的實現(xiàn)老師登錄到系統(tǒng)后通過左邊的管理菜單了解到自己擁有那些功能:題庫信息查看、添加題庫,試卷信息查看,添加試卷,閱卷管理等。題庫添加:先選擇所添加試題的科目和題型再進行添加。系統(tǒng)設(shè)置了選擇題,填空題,問答題。老師可以在線制作試卷,設(shè)置考試的科目、時間、考試時間段、題型分布、分值分布、考題數(shù)量等,考題數(shù)量必需依據(jù)系統(tǒng)提示題庫總數(shù)量設(shè)置,不能把考題數(shù)量超出題庫的總數(shù)量。在線制作試卷頁面如下圖4-8所示。圖4-8在線制作試卷頁面實現(xiàn)在線制作試卷代碼如下:request.setCharacterEncoding(,TesBlaPer,TesAnsCount,TesAnsPer,TesTime,atarttime,endtime,Done,addtime)Stringparams[]={SubNum,TeaNum,TesName,TesTotalper,TesSinCount,TesSinPer,TesBlaCount,TesBlaPer,TesAnsCount,TesAnsPer,TesTime,atarttime,endtime,done};QueryRunnerqr=Conn.getQueryRunner();try{qr.update(sql,params);}catch(SQLExceptione){}e.printStackTrace();第5章系統(tǒng)測試5.1什么是軟件測試軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明書和編碼的最終的復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。準(zhǔn)確的說,軟件測試就是為了發(fā)覺錯誤而執(zhí)行的過程。一般分為兩個階段:1.單元測試:在編完一模塊后進行測試;2.綜合測試:在開發(fā)完軟件后進行綜合測試。5.2軟件測試的目標(biāo)與方法G.Myers給出了關(guān)于測試的一些規(guī)則,這些規(guī)則可以看作是測試的目標(biāo)或定義:1.測試是為了發(fā)覺程序中的錯誤而執(zhí)行程序的過程;2.好的測試方案是極可能發(fā)覺迄今為止尚未發(fā)覺的錯誤的測試;3.勝利的測試是發(fā)覺了至今為止尚未發(fā)覺的錯誤的測試。測試任何軟件都有兩種方法:黑盒測試和白盒測試法。黑盒測試法(又稱功能測試法)是把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,是在程序接口進行的測試,它只檢查程序功能是否依據(jù)規(guī)格說明書的規(guī)定正常運用。白盒測試法(又稱結(jié)構(gòu)測試法)是把程序看成裝在一個透亮的白

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論