版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)論文題目:計算機網(wǎng)絡(luò)在線考試系統(tǒng)的設(shè)計與實現(xiàn)Design and Implementation of the Computer Network Online Exam System 姓 名 XXXXXXXX 學(xué) 號 XXXXXXXX 專 業(yè) XXXXXXXXXXX 目 錄摘 要1Abstract1前 言21開發(fā)工具介紹31.1 JSP技術(shù)31.2 HTML31.3 SQL41.4 JSP與SQL SERVER 數(shù)據(jù)庫連接42 系統(tǒng)分析62.1 系統(tǒng)特點分析62.2 數(shù)據(jù)庫模型分析62.3 可行性分析72.3.1 技術(shù)可行性72.3.2 經(jīng)濟(jì)可行性82.4 應(yīng)用需求分析82.5系
2、統(tǒng)目標(biāo)分析82.6系統(tǒng)功能分析83 系統(tǒng)總體設(shè)計103.1 總體框架103.2 系統(tǒng)功能說明103.2.1 管理員管理功能113.2.2 在線考試功能113.2.3 用戶注冊功能123.3 數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計123.3.1 試題表結(jié)構(gòu)123.3.2 考試記錄表結(jié)構(gòu)133.3.3 學(xué)生表結(jié)構(gòu)133.3.4 管理員表結(jié)構(gòu)133.4 系統(tǒng)功能的設(shè)計144 系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)154.1 系統(tǒng)的詳細(xì)設(shè)計154.2 主要功能模塊的實現(xiàn)164.2.1 與數(shù)據(jù)庫連接的模塊164.2.2 用戶登錄模塊174.2.3 用戶注冊模塊184.2.4 考試模塊194.2.5 對試題庫進(jìn)行管理的模塊215 系統(tǒng)測試與維護(hù)
3、235.1 系統(tǒng)測試235.2 系統(tǒng)維護(hù)24結(jié) 論24致 謝25參考文獻(xiàn)26摘 要針對傳統(tǒng)考試過程中所帶來的諸多不便,開發(fā)了在線考試系統(tǒng)。此系統(tǒng)進(jìn)一步解決了教師在考試中收卷、判卷所浪費的時間和精力,并為學(xué)生提供方便靈活的考試方式。使每個考生的考試時間、考試題目以及所得分?jǐn)?shù),全部存入數(shù)據(jù)庫中。呈現(xiàn)一個界面清晰、安全、方便、實用融于一體的在線考試系統(tǒng)。本文通過對基于JSP 的B/S架構(gòu)在線考試系統(tǒng)的基本工作流程分析,以及對該系統(tǒng)功能模塊的進(jìn)一步分解,闡明了本系統(tǒng)開發(fā)設(shè)計過程中所利用JSP中的一系列網(wǎng)絡(luò)前沿技術(shù),以及采用這些關(guān)鍵技術(shù)的時機和優(yōu)勢。詳細(xì)說明了本系統(tǒng)的具體解決方案。關(guān)鍵詞:Browser
4、/Sever;在線考試系統(tǒng);JSPAbstractFor the traditional examination process bringing about such inconvenience, an online examination system is developed .The system cut the teachers waste time and energy in the examination of the paper-collecting, paper-grading,and provides a flexible way for the candidates in
5、 the examination. The database of the system deposites every students examination time ,questions and points. It displays a online examination system combined with clear interface,safety,conveniency and practicality.The text expatiates a lot of advanced network technology of JSP that used to develop
6、 and design the system over basic work flow analysis and analyze of the system function module based on B/S truss of JSP,and the opportunity and predominance to adopt primary technology.It introduces the frondose solving project detailedly.Key words:Browser/Sever;Online examination system;JSP前 言在傳統(tǒng)教
7、學(xué)中在對學(xué)生的課程學(xué)習(xí)進(jìn)行檢驗時采取出題考試, 相關(guān)任課教師采用教師出試題, 印刷后, 學(xué)生固定時間固定地點進(jìn)行發(fā)放紙張試卷進(jìn)行考試。在考試過程中, 老師監(jiān)考, 學(xué)生進(jìn)行作答。針對學(xué)生考試采用統(tǒng)一試卷, 考試容易發(fā)生作弊現(xiàn)象, 同時某些任課老師為了提高其任課班級的總體成績, 這樣造成試題泄露抄襲使成績不真實, 影響了教學(xué)的質(zhì)量檢測的真實效果。還有在考試完成后在存檔時, 試卷紙張存儲保管, 費工費時又浪費資金, 同時也浪費存儲時間和空間, 另外在對試卷進(jìn)行檢索和查詢及核實時只能人工查找翻閱更顯的困難, 難以有效管理。為了提高考試的高效率、高可靠性, 使學(xué)生的學(xué)習(xí)情況在考試中更大程度的反映其真實水
8、平。進(jìn)行在線考試系統(tǒng)解決了學(xué)生作弊, 試題保密性強, 老師對學(xué)生考試過程中出現(xiàn)的常規(guī)問題不能及時解決, 而且在考試完畢后, 對試卷的管理及以后的使用查閱帶來繁重的問題。我們根據(jù)當(dāng)前實際情況研究相關(guān)考試系統(tǒng), 開發(fā)適合目前現(xiàn)狀及教學(xué)發(fā)展需要的系統(tǒng), 主要內(nèi)容是前臺學(xué)生能在機房網(wǎng)絡(luò)上進(jìn)行相關(guān)課程的考試, 考試中題目在題庫抽題, 序號打亂顯示。后臺根據(jù)不同管理員的權(quán)限實現(xiàn)不同的功能, 可以設(shè)置相關(guān)內(nèi)容供任課老師管理及系統(tǒng)管理員可以設(shè)置相關(guān)用戶的權(quán)限, 同時還可以在系統(tǒng)主頁面上查詢課程考試情況。另外,考試系統(tǒng)的軟件也必將不斷的更新;同時軟件產(chǎn)品本身就要經(jīng)過一個不斷自我完善的過程。利用網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),
9、結(jié)合目前硬件價格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢,應(yīng)用Java Server Page技術(shù),我開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運用方便、操作簡單,效率很高(同時,它要求計算機配置也很高,尤其是服務(wù)器端)?,F(xiàn)階段雖只實現(xiàn)了試卷的客觀題部分,但已具有用戶注冊、多用戶同時在線考試、動態(tài)隨機出題、時間控制、自動判卷,試題錄入、修改題庫、用戶管理、科目管理、管理員管理、分?jǐn)?shù)管理等重要功能,也就是說實現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生隨時隨地考試并迅速獲得成績,同時也大大減輕了教師出題、出題和判卷等繁重的工作量。1開發(fā)工具介紹該在線考試系統(tǒng)主要采用JSP、HTML、SQL SER
10、VER、JavaScript等技術(shù)和工具,整體設(shè)計遵循軟件工程的方法,經(jīng)過需求分析、總體設(shè)計、文檔和代碼的編制、模塊測試和系統(tǒng)實現(xiàn)幾個階段。下面對使用到的技術(shù)和方法做一下介紹。1.1 JSP技術(shù)JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。該技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個簡捷而快速的方法。在目前流行的3P技術(shù)中(3P技術(shù)分別是:ASP,Active Server Pages;PHP,Personal HomePage; JSP,Java Server Pages),JSP已經(jīng)逐漸成為Inter
11、net上的主流開發(fā)工具。JSP是基于Java Servlet以及整個Java體系的Web開發(fā)技術(shù),具有動態(tài)頁面與靜態(tài)頁面分離、能夠脫離硬件平臺舒服、“一次編寫、各處運行”等優(yōu)點。利用這一技術(shù)可以建立安全、跨平臺的先進(jìn)動態(tài)網(wǎng)站。自從1998年初,Sun公司發(fā)布了第一個公開的JSP規(guī)范草稿,JSP技術(shù)就不斷更新、完善,目前已發(fā)展到較為成熟的JSP2.0版1。1.2 HTMLHTML(Hyper Text Markup Language 超文本標(biāo)記語言)是一種用來制作超文本文檔的簡單標(biāo)記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨立于各種操作系統(tǒng)平臺(如UNIX,WINDOWS等)。自1
12、990年以來HTML就一直被用作World Wide Web上的信息表示語言,用于描述Homepage的格式設(shè)計和它與WWW上其它Homepage的連結(jié)信息。目前HTML語言的版本是2.0,它是基于SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)廣義置標(biāo)語言,是一套用來描述數(shù)字化文檔的結(jié)構(gòu)并管理其內(nèi)容的復(fù)雜的規(guī)范)中的一個子集演變而來的。雖然下一版本的標(biāo)準(zhǔn)HTML3.0(也稱為HTML+)正在制訂之中,但其中某些部分的實驗性標(biāo)準(zhǔn)草案已被廣泛采用,大多優(yōu)秀的Web瀏覽器(如Netscape等)都能解釋HTML3.0中的部分新標(biāo)記,因此現(xiàn)在一些HTML3.0
13、新標(biāo)記均已被多數(shù)瀏覽器所接受。1.3 SQLSQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”,即結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,SQL是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。最早的是IBM的圣約瑟研究實驗室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學(xué)。1986年10月美國國家標(biāo)準(zhǔn)局(American National Standard Institute,簡稱ANSI)的數(shù)據(jù)庫委員會X3H2批準(zhǔn)了SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn)。同年公布了SQL標(biāo)準(zhǔn)文本(簡稱SQL-8
14、6)。1987年國際標(biāo)準(zhǔn)化組織(International Organization for Standardization,簡稱ISO)也通過了這一標(biāo)準(zhǔn)。SQL標(biāo)準(zhǔn)從1986年公布以來隨著數(shù)據(jù)庫技術(shù)的發(fā)展不斷發(fā)展,不斷豐富。如今無論是像Oracle 、Sybase、Informix、SQL server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxporo、PowerBuilder這些微機上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言2。 1.4 JSP與SQL SERVER 數(shù)據(jù)庫連接Java數(shù)據(jù)庫的連接(Java Database Connectivity,簡稱JDBC)是一
15、套數(shù)據(jù)庫編程接口。它能自動地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)。在連接時首先要設(shè)置數(shù)據(jù)源,其次設(shè)置JDBC-ODBC橋接器,最后在JSP相應(yīng)的文件中編輯連接代碼。圖1 JDBC的體系圖其連接的代碼如下所示:sqlConn=java.sql.DriverManager.getConnection(jdbc:mysql:/localhost/online_test?user=support&password=support&useUnicode=true&characterEncoding=gb2312);String MM_con1_DRIVER = com.mysql.jdbc.Drive
16、r;StringMM_con1_USERNAME = root;/* 連接數(shù)據(jù)庫的用戶名*/StringMM_con1_PASSWORD= ; /* 相應(yīng)用戶名的密碼*/String MM_con1_STRING = jdbc:mysql:/localhost/online_test;Driver DriverRecordset1 =(Driver)Class.forName(MM_con1_DRIVER).newInstance();Connection Con =java.sql.DriverManager.getConnection(MM_con1_STRING,MM_con1_USER
17、NAME,MM_con1_PASSWORD)Sql.connection () 類用于保存一個數(shù)據(jù)庫連接, java.sql.drivermanager 是驅(qū)動程序管理器, drivermanager.getconnection()方法用來從驅(qū)動程序中得到一個數(shù)據(jù)庫連接, 它的第一個參數(shù)是數(shù)據(jù)源的URL, 后面兩個參數(shù)分別為用戶名和密碼。數(shù)據(jù)源URL 的作用是定位一個數(shù)據(jù)庫以便驅(qū)動程序能夠找到這個數(shù)據(jù)庫并與其進(jìn)行連接, 其格式為:“協(xié)議標(biāo)識:驅(qū)動程序標(biāo)識: 數(shù)據(jù)庫標(biāo)識”,其中協(xié)議標(biāo)識總是“jdbc“,驅(qū)動程序標(biāo)識代表所使用的協(xié)議名,數(shù)據(jù)庫標(biāo)識是數(shù)據(jù)庫的定位方式, 根據(jù)協(xié)議的不同而不同, 此處由
18、于我們采用mysql 數(shù)據(jù)庫, 故為:jdbc:mysql。此外,在使用JSP 的過程中, 有許多地方必須對中文信息進(jìn)行相應(yīng)處理, 因為Java 的內(nèi)部字符集為Unicode, 而開發(fā)環(huán)境和運行環(huán)境卻不一定采用Unicode, 而是本地字符集。在JSP 進(jìn)行Java 編譯、Servlet 的編碼發(fā)送、URL 請求字符串的編碼以及數(shù)據(jù)庫讀寫等多種場合,中文的處理往往十分關(guān)鍵。為了使中文處理保持準(zhǔn)確、高效和一致,我們采用將中文進(jìn)行“ISO- 8859- 1”標(biāo)準(zhǔn)化處理。其代碼為:2 系統(tǒng)分析2.1 系統(tǒng)特點分析 在線考試系統(tǒng)應(yīng)具有以下要求:1. 由于考試對應(yīng)的是特定的對象,所以系統(tǒng)需要經(jīng)過有效的身
19、份驗證才可以登陸。并且系統(tǒng)需要有可以管理會話的功能。以便在考試過程中全程跟蹤考試狀態(tài)。2. 系統(tǒng)的權(quán)限一般分為兩種:管理員和學(xué)生。不同的身份使用不同的權(quán)限和功能。3. 管理員需要對試題和考生進(jìn)行有效的管理,負(fù)責(zé)試題的錄入及更新和修改,對試題的分類,每次考試前,需要對試場環(huán)境和考生狀態(tài)進(jìn)行考前初始化工作。要注意的是, 鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了在線考試做到規(guī)范,對于每個應(yīng)試者來說,試卷的試題和題量都應(yīng)是相同的,但試題并不相同。4. 系統(tǒng)要有良好的試卷上傳和回收功能,確保信息傳送的正確性。5. 系統(tǒng)要有一個友善的界面,確??忌荚嚨捻樌M(jìn)行。6. 因為試卷中的主觀題需要老師
20、批改,可能需要一段時間才能查詢到成績。但如果試卷是由客觀題型組成的,考生就可以在考試結(jié)束后查詢到自己的成績了。7. 系統(tǒng)提供對考生成績的統(tǒng)計和查詢等管理功能。8. 系統(tǒng)應(yīng)具有良好的安全性管理。2.2 數(shù)據(jù)庫模型分析數(shù)據(jù)庫不僅要反映數(shù)據(jù)本身的內(nèi)容,還要反映數(shù)據(jù)之間的聯(lián)系。在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。簡單的說,數(shù)據(jù)模型是現(xiàn)實世界的模型 。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu),即所研究的對象類型有:關(guān)系,對應(yīng)一張二維表,它由行和列組成;元組,對應(yīng)表中的一行;屬性,對應(yīng)表中的一列;主碼,對應(yīng)表中某個屬性值,它可以唯一確定一個元組;分量,對應(yīng)元組中的一個屬性值3。在數(shù)據(jù)庫系統(tǒng)中,
21、應(yīng)用程序,數(shù)據(jù)庫管理系統(tǒng),操作系統(tǒng),硬件等幾個方面必須協(xié)同其他設(shè)備向數(shù)據(jù)庫管理系統(tǒng)發(fā)出讀取數(shù)據(jù)記錄的命令。數(shù)據(jù)庫管理系統(tǒng)對該命令進(jìn)行語法。語義檢查,并調(diào)用應(yīng)用程序?qū)?yīng)的子模式,檢查應(yīng)用程序的存取權(quán)限,決定是否執(zhí)行該命令。本系統(tǒng)的數(shù)據(jù)庫模型流程圖如下:考生信息考生登陸模塊題庫制作模塊考試過程控制模塊成績管理模塊成績打印統(tǒng)計查詢成績記錄試題庫用戶信息考生管理員圖2 數(shù)據(jù)流程圖2.3 可行性分析2.3.1 技術(shù)可行性數(shù)據(jù)庫系統(tǒng)盡管其在組織關(guān)系上存在著很大的復(fù)雜性,繁瑣性,但是就整個系統(tǒng)的技術(shù)構(gòu)成上來看,它還是屬于一個數(shù)據(jù)庫應(yīng)用類的系統(tǒng)。其基本操作還是對數(shù)據(jù)庫進(jìn)行添加,刪除,查找,編輯,打印等。所以就
22、單純的數(shù)據(jù)庫應(yīng)用來看,不存在太大的技術(shù)問題。2.3.2 經(jīng)濟(jì)可行性對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。但在整個系統(tǒng)投入運行之后,因計算機的普及,減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的是提高了效率,而又保證了各項數(shù)據(jù)的安全和完整性。2.4 應(yīng)用需求分析1. 用戶注冊:用戶可以進(jìn)行注冊,然后登錄。2. 用戶信息的管理:管理員可以增刪用戶。3. 試題模型設(shè)置:設(shè)置各科目試題的每種題型的數(shù)量和分值。4. 試題庫管理:分科目,對單選、多選兩種題型試題庫的管理,使試題的增刪、編輯更為簡便。5. 試卷生成:可以指定試卷的各題型的數(shù)量,從試題庫里隨機
23、抽取試題生成一份原始試卷.6. 在線考試:系統(tǒng)嚴(yán)格控制整個考試過程,實行時間的監(jiān)控與權(quán)限的控制,考生需要在限定的考試時間內(nèi)交卷。 7. 計算機自動閱卷:本系統(tǒng)只考慮客觀題,要求計算機能自動閱卷,然后馬上顯示出考生分?jǐn)?shù)。2.5系統(tǒng)目標(biāo)分析一般在設(shè)計系統(tǒng)時都要合理的使用數(shù)據(jù)庫和美觀的界面,以便于用戶進(jìn)行操作,這樣才能使系統(tǒng)易學(xué)易用。具體原因如下: 合理的設(shè)計數(shù)據(jù)庫是盡量合理地減少數(shù)據(jù)庫數(shù)據(jù)的冗余,使重復(fù)的數(shù)據(jù)保持在最小限度,這樣將不會多占用存儲空間,減少產(chǎn)生混亂影響的危險,還能提高計算機的運行速度。界面的友好與否是用戶評價一個軟件優(yōu)劣的重要方面之一,使用戶有一個良好的心情。另外窗口界面要多用按鈕和
24、快捷鍵,少用菜單,窗口的各個控件布局要合理,美觀。2.6系統(tǒng)功能分析在線考試系統(tǒng)能夠?qū)崿F(xiàn)計算機網(wǎng)絡(luò)環(huán)境下的命題、組題、答題和自動評分,包括前臺和后臺兩部分??忌谇芭_參加考試,管理人員通過后臺組織和管理考試??荚嚽坝晒芾砣藛T根據(jù)大綱要求給出命題參數(shù),系統(tǒng)根據(jù)命題參數(shù)自動組卷出題;學(xué)生在合法登錄后進(jìn)行考試。在考試的過程中,允許考生在考試有效時間內(nèi)的任一時刻修改已經(jīng)做過的試題,考試具有計時功能,考試結(jié)束后系統(tǒng)會自動收取試卷結(jié)束考試;系統(tǒng)能夠自動判卷得出成績,管理人員和考生都能夠?qū)荚嚦煽冞M(jìn)行查詢,如果考生對成績有異議,可在限定的時間內(nèi)查詢試卷。功能分析圖如下:圖3 系統(tǒng)功能模塊圖 前臺考試系統(tǒng)面向
25、學(xué)生:學(xué)生輸入學(xué)號、姓名,選擇所在的院系及需要考試的科目,系統(tǒng)將判斷此人的身份是否合法及是否已經(jīng)參加過考試,若身份合法并且未參加過考試,則根據(jù)管理員給出的命題參數(shù)隨機組題生成一套試卷讓其開始考試,考試過程中設(shè)有時鐘,用以提醒考生。后臺管理系統(tǒng)面向管理人員,后臺的功能越強大,就越能減輕教師的負(fù)擔(dān)。該系統(tǒng)的后臺能夠透明的進(jìn)行題庫和考生的管理與查詢,設(shè)置考試科目與組卷參數(shù),監(jiān)控考試的進(jìn)程,查詢考試成績,得出考試分析結(jié)果等。3 系統(tǒng)總體設(shè)計3.1 總體框架該系統(tǒng)是專門用于用戶注冊、登錄、參加在線考試以及管理員進(jìn)行試題錄入、修改、刪除、成績查詢、管理用戶的JSP應(yīng)用程序。管理員不僅可以輕松地向題庫添加、
26、修改和查詢試題,而且還可以自動新增科目并建立相應(yīng)的數(shù)據(jù);它還允許用戶根據(jù)自己的需求,選取考試科目??忌M(jìn)行有效的身份驗證登錄后,選擇考試科目,并要求在規(guī)定的時間內(nèi)進(jìn)行答題,當(dāng)達(dá)到規(guī)定的時間后,系統(tǒng)將自動予以提示。一旦考生做完交卷后便能立即看到自己的考試成績,并且其分?jǐn)?shù)將被記入庫中以供審核和查閱。根據(jù)需求分析,在線考試系統(tǒng)的結(jié)構(gòu)圖如圖所示:圖4 在線考試系統(tǒng)結(jié)構(gòu)圖3.2 系統(tǒng)功能說明系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)考試信息的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成。本系統(tǒng)主要完成功能:3.2.1 管理員管理功能管理員可以向題庫中添加各種類型且符合要求的試題,也可以對它們進(jìn)行
27、修改和刪除。同時,管理員也能對科目、用戶、考試記錄等數(shù)據(jù)進(jìn)行管理。系統(tǒng)管理模塊包括管理員登陸、更改密碼、高級管理、添加管理員、刪除管理員五大模塊。1. 管理員登陸 輸入:管理員工作證號,密碼。處理:判斷管理員工作證號,密碼是否有效。輸出:登陸成功,進(jìn)入管理員的系統(tǒng)使用資源頁面,不成功則顯示錯誤信息。2. 更改密碼輸入:管理員工作證號、密碼、新密碼。處理:判斷管理員工作證號,密碼新密碼是否有效。輸出:修改成功,提示成功信息,不成功則顯示錯誤頁面。3. 高級管理 輸入:管理員工作證號,密碼。處理:高級系統(tǒng)管理員設(shè)置,添加新的管理員,刪除系統(tǒng)管理員。輸出:提交成功,提示成功信息,不成功則顯示錯誤信息
28、頁面。4. 添加管理員 輸入:管理員工作證號,管理員姓名,性別,密碼。處理:添加系統(tǒng)管理員信息,這個功能是在高級管理下的子功能。 輸出:添加成功,提示成功信息,不成功則顯示錯誤信息頁面。5. 刪除管理員 輸入:管理員工作證號。處理:刪除系統(tǒng)管理員信息,這個功能是在高級管理下的子功能。輸出:刪除成功,提示成功信息,不成功則顯示錯誤信息頁面。3.2.2 在線考試功能進(jìn)入在線考場是本系統(tǒng)最重要的部分之一??忌卿浐螅灰x擇考試科目以后,就可以調(diào)出試卷進(jìn)行在線考試。為了實現(xiàn)動態(tài)隨機不重復(fù)的抽取試題,需要在選題過程中每選出一題,就要在試題庫中作相應(yīng)的標(biāo)志,以便下次不會重復(fù)取出此題。3.2.3 用戶注冊
29、功能該模塊的功能是實現(xiàn)用戶遠(yuǎn)程注冊。用戶輸入想要注冊的用戶名和密碼,提交之后由系統(tǒng)判斷該用戶是否已經(jīng)存在,如果存在,就給出相應(yīng)信息,如果不存在,就把用戶輸入的用戶名和密碼寫到數(shù)據(jù)庫中,完成注冊。3.3 數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計3.3.1 試題表結(jié)構(gòu)我們采用把全部試題集中在一起的方案來建立數(shù)據(jù)表,每道客觀題均有四個備選答案項,每個試題均具有題型、所屬科目等數(shù)據(jù)段表示其屬性。字段名一般是相應(yīng)的英文單詞。詳細(xì)設(shè)計如下表所示:表1 question 表字段名稱類型說明Haveselect數(shù)字常整型ID自動編號常整型,遞增,主鍵Question文本字段大小200A文本字段大小50B文本字段大小50C文本字段大小
30、50D文本字段大小50Answer文本字段大小50Type文本字段大小50subjectname文本字段大小50各字段說明:Question字段為問題內(nèi)容,類型為文本。A字段代表選項A的內(nèi)容B字段代表選項B的內(nèi)容C字段代表選項C的內(nèi)容D字段代表選項D的內(nèi)容Answer字段表示答案選項Type字段表示試題類型subjectname字段代表試題所屬科目名稱3.3.2 考試記錄表結(jié)構(gòu)表2 score表字段名稱類型說明Studentname文本字段大小50Subjectname文本字段大小50Score數(shù)字常整型Id自動編號常整型,遞增,主鍵Endtime日期/時間各字段說明:studentname字
31、段代表在某次考試記錄中學(xué)生的名字。subjectname字段代表在某次考試紀(jì)錄中考試科目名。score字段為某次考試紀(jì)錄中考試分?jǐn)?shù)。id字段為某次考試紀(jì)錄的標(biāo)志號。endtime字段代表考試的結(jié)束時間。3.3.3 學(xué)生表結(jié)構(gòu)表3 student表字段名稱類型說明Studentname文本字段大小50Studentpassword文本字段大小50Id自動編號常整型,遞增,主鍵各字段說明:studentname字段代表學(xué)生的名字。studentpassword字段代表密碼。id字段為學(xué)生的標(biāo)志號。3.3.4 管理員表結(jié)構(gòu)表4 admin表字段名稱類型說明Name文本字段大小50Password文本
32、字段大小50Id自動編號常整型,遞增,主鍵各字段說明:name字段代表管理員的名字。password字段代表密碼。id字段為管理員的標(biāo)志號。3.4 系統(tǒng)功能的設(shè)計系統(tǒng)功能主要分為: 前臺考試功能和后臺考試管理功能。前臺考試程序部分主要實現(xiàn)學(xué)生登錄的身份驗證、試題抽取、考試時間的控制、接收并保存考生所選答案以及學(xué)生二次登錄和延時程序。前臺學(xué)生考試時, 首先要輸入姓名、學(xué)號以及選擇參加考試的科目, 進(jìn)行身份驗證,系統(tǒng)從學(xué)生信息表中進(jìn)行檢索,若考生輸入的姓名和學(xué)號不在庫中, 則給出相關(guān)提示, 要求重新輸入; 考生成功登錄后, 判斷該考生該科目是否已考過, 若沒有則隨機抽取一套試卷開始并自動計時; 否
33、則不能再次參加考試, 除非是系統(tǒng)發(fā)生了故障, 則可以由監(jiān)考教師給出二次登錄密碼后進(jìn)行二次登錄, 對于二次登錄前所答的試卷仍然在數(shù)據(jù)庫中, 可繼續(xù)答題; 也可由監(jiān)考教師給出刪除試卷的密碼后, 可重新答題, 并且重新抽取一套新的試卷并開始計時答題。后臺考試管理程序采用了系統(tǒng)管理員和普通教師兩級管理模式。普通教師具有定義考試、試題管理、批主觀試題、成績?yōu)g覽和統(tǒng)計輸出功能; 系統(tǒng)管理員具有系統(tǒng)的完全權(quán)限, 除具有教師的所有功能外還具有教師基本信息管理、學(xué)生信息管理、課程信息管理、試卷的備份及轉(zhuǎn)儲等功能。后臺管理功能可以在任意地方以Web 方式進(jìn)行在線的管理, 登錄時首先進(jìn)行身份認(rèn)證, 然后根據(jù)管理員表
34、中的信息來進(jìn)行相應(yīng)的管理。管理功能主要分為兩大功能模塊。一是系統(tǒng)管理員(相當(dāng)于教務(wù)處人員)的管理模塊, 主要的功能是考試科目管理;考試管理( 確定每門科目考試的日期和時間) ; 教師的基本信息管理; 成績的輸出, 缺考的統(tǒng)計及查卷的功能。成績輸出和缺考統(tǒng)計是在某門科目考試完畢后, 對該門科目的考試情況進(jìn)行統(tǒng)計。學(xué)生查卷的功能主要是指若學(xué)生對某科目的考試成績有疑問, 可以通過教務(wù)處, 履行正常的手續(xù)后, 可對所答的試卷進(jìn)行查詢, 了解當(dāng)時答卷的情況。另一大功能模塊是教師的管理模塊。當(dāng)普通教師登錄后, 主要的管理功能包括學(xué)生信息的管理; 試卷的設(shè)置; 試卷的管理; 批卷( 針對主觀題而言) , 缺
35、考名單和學(xué)生成績的輸出。其中試卷設(shè)置主要是確定試卷中所含試題的類型、每類試題的試題數(shù)和試題分值。學(xué)生信息管理包括對學(xué)生基本情況的增、刪、改。試卷的管理主要是可以對所教課程的試卷進(jìn)行增、刪、改。4 系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)圖5 系統(tǒng)流程圖4 系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)在進(jìn)行了整體設(shè)計以后,就開始進(jìn)行詳細(xì)的設(shè)計及編碼工作。也就是設(shè)計文件和把他們有機地組織在一起實現(xiàn)所有功能。4.1 系統(tǒng)的詳細(xì)設(shè)計根據(jù)系統(tǒng)總體設(shè)計,首先系統(tǒng)要有一個登錄界面,用戶可以從該界面登錄參加考試。管理員也應(yīng)該有一個進(jìn)入管理登錄界面的通道。此外,這個界面上還應(yīng)該有一個用戶注冊的通道。在考生正確輸入用戶名和密碼以后,接著應(yīng)該進(jìn)入考試科目選擇
36、界面。在該界面上,考生選擇參加考試的科目,這個人機交互的過程是必不可少的??忌_定考試科目以后,進(jìn)入開始考試界面,由計算機隨機提取試題,顯示出來組成試卷,并開始進(jìn)行計時??忌俅芜M(jìn)行考試,答完試題后交卷,進(jìn)入下一個界面??忌峤淮鹁砗?,由計算機進(jìn)行處理-判卷,得出考試分?jǐn)?shù),顯示出來,并把該生考試記錄存入數(shù)據(jù)庫。在這個界面上應(yīng)該可以返回繼續(xù)進(jìn)行考試或回到登錄界面。以上是系統(tǒng)進(jìn)行考試功能的部分,要對系統(tǒng)進(jìn)行管理,如試題管理、科目管理、用戶管理等就需要設(shè)計一些管理界面。下面就來逐步進(jìn)行設(shè)計。要進(jìn)行管理首先要有管理員登陸驗證,這里另外設(shè)計了一個界面,使它與用戶登錄區(qū)別開來。這個界面與用戶登錄界面表面上
37、很相似,但是他們是從不同的表中提取數(shù)據(jù)進(jìn)行驗證的,以便于系統(tǒng)擴充和增加安全性。管理員登錄以后,應(yīng)該有一個管理項目選擇界面,其中包括管理用戶選項、管理管理員選項、管理考試科目選項、管理考試紀(jì)錄選項以及管理各科試題選項。管理用戶的界面可以實現(xiàn)用戶的增加、和刪除的功能,管理員在此可以對用戶進(jìn)行管理。管理管理員的界面,功能和管理用戶的差不多,實現(xiàn)對管理員的增加和刪除功能。管理考試科目界面用來增加或刪除考試的科目,以方便對各科試題的管理和查詢。管理考試紀(jì)錄界面可以對考生的每次考試進(jìn)行紀(jì)錄,管理員科可以對考生成績、考試科目、時間及考試各相關(guān)紀(jì)錄進(jìn)行查詢和刪除。最后是試題庫管理界面,通過這個界面管理員可以對
38、題庫中的某科試題進(jìn)行增加、修改或刪除。這樣就十分方便靈活的對試題庫進(jìn)行管理。4.2 主要功能模塊的實現(xiàn)4.2.1 與數(shù)據(jù)庫連接的模塊該模塊實現(xiàn)的是連接數(shù)據(jù)庫和斷開連接的功能。要在模塊中使用jdbc,就要把驅(qū)動程序設(shè)置到tomcat中,否則服務(wù)器是找不到的。測試代碼(使用的是SQL Server自帶的數(shù)據(jù)庫,可以直接編譯運行) : 4.2.2 用戶登錄模塊該文件的功能是系統(tǒng)登陸的入口,在此可以實現(xiàn)用戶注冊入口,管理員管理入口以及用戶進(jìn)入考試系統(tǒng)登陸界面的功能。該文件的功能是這樣實現(xiàn)的:表單提交給文件本身。再由HTML上面的JSP程序?qū)μ峤恍畔⑦M(jìn)行處理。最上面的表示腳本語言是JSPScript。表
39、示包含conn. jsp文件。以下的程序進(jìn)行了選擇判斷,如果提交的表單中的submit值為“登錄”,就繼續(xù)判斷看student表中是否存在與該用戶輸入的用戶名和密碼相同的記錄,如果存在就轉(zhuǎn)到selectsubject.jsp頁進(jìn)行考試科目選擇。不存在就返回“對不起,請輸入正確的用戶名和密碼”。如果submit值為“注冊”,就轉(zhuǎn)到register.jsp頁進(jìn)行用戶注冊。如果submit的值為“管理”就轉(zhuǎn)到admin文件夾中的login.jsp頁。重點程序如下:set rs = server.createobject(adodb.recordset)rs是一個變量,用來存放一個recordset對
40、象。sql=select * from student where studentname= & Request.Form(studentname) & and studentpassword= & Request.Form(studentpassword) & 變量sql代表一個SQL語句,功能是從表student中選出用戶名和密碼與考生提交的用戶名和密碼都相同的記錄。rs.open sql,conn ,1,1該語句的功能是執(zhí)行sql語句并把記錄集結(jié)果存儲在變量rs中。rs.close的作用是關(guān)閉紀(jì)錄。session(studentname)=request.form(studentname
41、)該句的意思是把表單提交的變量studentname的值賦給一個session對象studentname。這個對象用來存儲用戶名,它在該用戶對每個頁面的訪問中有效。set rs=nothing含義是清空rs變量。call endConnection()是調(diào)用conn.jsp中的過程,用來關(guān)閉于數(shù)據(jù)庫的連接。4.2.3 用戶注冊模塊該文件實現(xiàn)了用戶注冊的功能,用戶只要填寫想要注冊的用戶名及密碼,文件首先查看用戶名是否已經(jīng)存在,如果存在就提示該用戶名已經(jīng)存在,否則就將用戶輸入的信息添加到數(shù)據(jù)庫中的student表內(nèi)。然后用戶就可以使用自己注冊的用戶名和密碼登錄在線考試系統(tǒng)進(jìn)行在線考試。在文件中,表
42、單提交給register.jsp自身進(jìn)行處理,如果submit值為“注冊”首先進(jìn)行判斷看用戶名或密碼是否為空。如果為空就顯示“錯誤!用戶名或密碼不能為空!”的信息。如果不為空,進(jìn)行下一步判斷,看student表中是否已經(jīng)存在用戶想要注冊的用戶名,如果存在,就顯示信息“錯誤!該用學(xué)生存在!”,如果不存在就將要注冊的用戶名和密碼寫入student表。代碼如下6:sql=insert into student(studentname,studentpassword) values( & cstr(trim(request(studentname) & & cstr(trim(request(stud
43、entpassword) & )conn.execute sql最后,用一個jspscrip語言編寫的消息框顯示注冊成功信息。圖6 添加考生模塊圖4.2.4 考試模塊該文件就是考試界面,實現(xiàn)真正的動態(tài)隨機選題,并對每個考生的考試時間進(jìn)行監(jiān)控,到結(jié)束時間后自動給出提示。該文件的總體構(gòu)架是使用了if else 語句進(jìn)行了一個選擇,剛進(jìn)入該頁面submit1得值肯定不等于“開始考試”,所以先顯示出“開始考試”的按鈕。按下以后,首先把當(dāng)前時間以分種為單位存儲在session的變量starttime中。然后進(jìn)入隨機抽取試題部分,單選題和多選題的抽取很相似,只不過一個是單選按鈕,一個是多選按鈕罷了。這里只
44、解釋單選題的部分。strid1=是定義了一個字符串變量,并先賦值為空。Randomize是產(chǎn)生隨機種子,在使用rnd()函數(shù)之前一定要先用Randomize產(chǎn)生隨機種子才能實現(xiàn)其產(chǎn)生01之間隨機數(shù)的功能。for i=1 to session(singlenumber)直到next是選擇singlenumber(代表某科目的單選題數(shù)量)個單選題。下面的代碼實現(xiàn)了從數(shù)據(jù)庫中隨機不重復(fù)的選題:set rs=server.createobject(adodb.recordset) sql=select * from question where subjectname=&session(selects
45、ubjectname) & and type=單選題 and haveselect=0 rs.open sql,conn,3,2count=rs.recordcounttemp=fix(count*rnd(10)rs.move temprs(haveselect)=1rs.update strid1=strid1 & rs(ID) & ,其中haveselect標(biāo)志某題是否已經(jīng)被選過。Count變量用來存放所有未被選過的單選題的總數(shù)。temp變量用來存放0Count之間的隨機整數(shù)值。rs.move temp是將當(dāng)前記錄移到第temp條紀(jì)錄。rs(haveselect)=1是將當(dāng)前選出的紀(jì)錄的標(biāo)
46、志位設(shè)為1,然后用rs.update把數(shù)據(jù)庫中的相應(yīng)標(biāo)志位改為1。strid1=strid1 & rs(ID) & ,是將所有選出的試題的id號用逗號分割后存儲在strid1一個變量中,以方便的把所有選出的試題的id號傳到resultJSP文件中,這也是本設(shè)計的一個獨特的地方。需要說明的是strid1變量的最后是一個逗號,在下一個文件中會詳細(xì)說明如何進(jìn)行處理。set rs=server.createobject(adodb.recordset)sql=select * from question where haveselect=1 rs.open sql,conn,3,2rs.movefir
47、stdo while not rs.eof rs(haveselect)=0rs.updaters.movenextloop上面一段程序是在選完題之后將所有已經(jīng)設(shè)成1的haveselect改寫成0,這樣自己下次或別人就仍可以選擇所有的試題。最后一段程序是用來計時的,考試時間到了之后自動給出提示。圖7 考場管理圖4.2.5 對試題庫進(jìn)行管理的模塊 和兩個文件和起來實現(xiàn)對試題庫進(jìn)行刪除修改和添加的功能。subjectname=trim(request(subjectname)是將上一個界面?zhèn)鱽淼目颇棵Q賦值給subjectname變量。set rs=server.createobject(adod
48、b.recordset)rs.open select * from question where subjectname= & cstr(trim(request(subjectname)& order by id desc ,conn,1,1上面這段代碼是從question表中將所有其科目名與所選科目相同的問題都選出來。a href=mgquestion.JSP?type=&subjectname=&action=edit&id=&page=編輯 a href=javascript:SureDel()刪除上面這段代碼的的作用是將刪除的參數(shù)傳給文件自身或?qū)⒕庉嫷膮?shù)傳給SureDel(
49、id,subjectname)函數(shù)。如果實執(zhí)行刪除操作就轉(zhuǎn)到SureDel(id,subjectname),提示是否真的要刪除,如果選擇確定就執(zhí)行如下代碼:sql=delete from question where id= &request(id)conn.execute sql執(zhí)行刪除該問題的操作,將question表中的相應(yīng)記錄刪除。否則,如果選擇取消就不執(zhí)行刪除操作。如果執(zhí)行編輯同樣將參數(shù)傳給文件自身,先執(zhí)行下面代碼將isedit的值設(shè)為真:if request(action)=edit then isedit=true end if文件最下面是編輯試題或添加試題部分,表單提交給addquestion進(jìn)行處理。圖8 管理員界面圖5 系統(tǒng)測試與維護(hù)5.1 系統(tǒng)測試系統(tǒng)測試的目的是對最終軟件系統(tǒng)進(jìn)行全面的測試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計。系統(tǒng)測試包括功能測試、性能測試、安全測試等。一般來說,對程序測試有兩種測試方法:一種方法稱為黑盒測試,另一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。基于本系統(tǒng)的實際情況采用了黑盒測試,在測試過程中發(fā)現(xiàn)了很多問題,比如說數(shù)據(jù)庫連接不
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年信息系統(tǒng)安全產(chǎn)品項目發(fā)展計劃
- 二年級小學(xué)生作文250字(十篇)
- 小學(xué)二年級作文150字左右(10篇)
- Theogallin-Standard-生命科學(xué)試劑-MCE
- Unit 9 Section A (1a-2d) 導(dǎo)學(xué)提綱 人教版英語八年級上冊
- 《小數(shù)乘法》(同步練習(xí))人教版五年級上冊數(shù)學(xué)
- Talogreptide-mesaroxetan-生命科學(xué)試劑-MCE
- 2024年航空運輸輔助服務(wù)項目合作計劃書
- 新課改2025屆高考?xì)v史一輪復(fù)習(xí)考點精練66現(xiàn)代中國的科技教育與文學(xué)藝術(shù)含解析
- 2025屆高考英語二輪復(fù)習(xí)詞匯拓展之核心搭配演練35含解析
- 巡察流程培訓(xùn)課件
- 學(xué)校級綠色教育存在的問題與改革策略
- 檢察機關(guān)保密知識講座
- 產(chǎn)品市場推廣效果報告
- 2024電力企業(yè)數(shù)據(jù)資源編碼規(guī)范
- Java程序設(shè)計項目式教程 教案 單元10 Java圖形用戶界面設(shè)計
- 【小學(xué)心理健康教育分析國內(nèi)外文獻(xiàn)綜述4100字】
- 高考復(fù)習(xí)遞推思維方法在物理高考題中的應(yīng)用
- 槍械介紹課件
- 信用證條款編號和中英文對照
- 電腦供貨方案、售后服務(wù)方案
評論
0/150
提交評論