版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> (20 屆)</b></p><p> C語言在線考試系統(tǒng)的設(shè)計與實現(xiàn)——在線考試模塊</p><p><b> 摘 要 </b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的日益成熟,網(wǎng)絡(luò)已經(jīng)深入到生
2、活的每一個角落,包括教育、購物、咨詢、辦公等等許多領(lǐng)域,網(wǎng)頁技術(shù)的應(yīng)用也越來越廣泛。網(wǎng)頁技術(shù)的應(yīng)用對于教育行業(yè)來說優(yōu)勢更加的明顯。教育行業(yè)可以通過網(wǎng)絡(luò)進(jìn)行學(xué)生和教職工的管理、組織學(xué)生在線考試、在網(wǎng)站上發(fā)布學(xué)校相關(guān)信息等。其中,在線考試系統(tǒng)能夠充分的利用學(xué)校的現(xiàn)有資源,大大減輕教師的工作量,把老師從出卷、閱卷等一些繁重工作中解脫出來,增加學(xué)校管理的透明度,還提高了學(xué)校的管理水平。 </p><p> C語
3、言在線考試系統(tǒng)主要實現(xiàn)了試題的上傳與刪除,試卷的生成,在線考試和自動評分等功能。本文重點論述了C語言在線考試系統(tǒng)中在線考試模塊的功能實現(xiàn)。對此做出了詳細(xì)的調(diào)查,可行性研究和分析。系統(tǒng)采用了B/S結(jié)構(gòu),在網(wǎng)絡(luò)上建立考試系統(tǒng)的框架。系統(tǒng)開發(fā)經(jīng)歷了系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實施三個階段。本系統(tǒng)設(shè)計方案的提出,經(jīng)過了我和同學(xué)的詳細(xì)調(diào)查,分析了方案的可行性和必要性,通過詳細(xì)的系統(tǒng)設(shè)計,力圖提高系統(tǒng)的集成性和快捷性,并在系統(tǒng)實施階段收集了大量的實驗數(shù)
4、據(jù),以便測試階段系統(tǒng)的準(zhǔn)確性和穩(wěn)定性。 </p><p> 在線考試系統(tǒng)整體是基于瀏覽器/服務(wù)器,前臺應(yīng)用HTML技術(shù),后臺采用PHP程序語言,MYSQL作為數(shù)據(jù)庫與前臺連接。 </p><p> 關(guān)鍵詞:在線考試;B/S結(jié)構(gòu);PHP;MYSQL </p><p><b> Abstract </b></p>&l
5、t;p> As network technologies become more sophisticated, the network has penetrated into every corner of life, including education, shopping,consulting, office and so many other fields, web technology has become incre
6、asingly widespread.Web technology for the education industry advantage is more obvious.Education sector through a network of students and faculty management,organizing students online exam at school-related information p
7、osted on the website and other activities.This can not only increase </p><p> Keywords: online exam; B / S structure; PHP; MYSQL</p><p><b> 目錄</b></p><p><b> 1
8、 緒 論1</b></p><p> 1.1 系統(tǒng)開發(fā)的現(xiàn)狀1</p><p> 1.2 系統(tǒng)開發(fā)的目的1</p><p> 1.3 系統(tǒng)開發(fā)的意義2</p><p><b> 2 系統(tǒng)分析2</b></p><p> 2.1 可行性分析2</p
9、><p> 2.1.1 經(jīng)濟(jì)可行性2</p><p> 2.1.2 技術(shù)可行性2</p><p> 2.2 需求分析3</p><p> 2.3 開發(fā)環(huán)境3</p><p> 3 設(shè)計工具及關(guān)鍵技術(shù)介紹3</p><p> 3.1 Apache簡介3</p&
10、gt;<p> 3.2 PHP語言簡介4</p><p> 3.3 PHP連接MySQL數(shù)據(jù)庫4</p><p> 3.3.1 PHP連接數(shù)據(jù)庫的兩種方法4</p><p> 3.3.2 PHP對MySQL數(shù)據(jù)庫的兩種連接方式5</p><p> 3.4 Ajax簡介5</p><
11、;p> 4 系統(tǒng)概要設(shè)計5</p><p> 4.1 系統(tǒng)的總體設(shè)計5</p><p> 4.2 數(shù)據(jù)庫設(shè)計6</p><p> 4.3 系統(tǒng)結(jié)構(gòu)設(shè)計6</p><p> 4.3.1 系統(tǒng)功能結(jié)構(gòu)6</p><p> 4.3.2 系統(tǒng)流程圖7</p><p&
12、gt; 5 系統(tǒng)詳細(xì)設(shè)計8</p><p> 5.1 數(shù)據(jù)庫設(shè)計8</p><p> 5.1.1 數(shù)據(jù)庫分析8</p><p> 5.1.2 概念設(shè)計9</p><p> 5.1.3 數(shù)據(jù)庫物理結(jié)構(gòu)9</p><p> 5.2 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)10</p><p
13、> 5.2.1 系統(tǒng)配置10</p><p> 5.2.2 前臺詳細(xì)設(shè)計與實現(xiàn)11</p><p> 6 系統(tǒng)測試16</p><p> 6.1 測試環(huán)境16</p><p> 6.2 軟件測試的目標(biāo)與方法16</p><p> 6.3 軟件測試的結(jié)果16</p>
14、<p><b> 7 結(jié)束語16</b></p><p> 參考文獻(xiàn).........................................................................................................................................................
15、.....17</p><p> 致謝......................................................................................................................................................................18</p><p>
16、;<b> 1 緒 論</b></p><p> 1.1 系統(tǒng)開發(fā)的現(xiàn)狀 </p><p> 世界各國對教育的發(fā)展給予了前所未有的關(guān)注,都試圖在未來的信息社會中讓教育處于一個優(yōu)勢的位置,從而走在社會發(fā)展的前列,為此許多國家都把信息技術(shù)應(yīng)用于教育,采取措施推進(jìn)教育信息化。美國政府在1996年提出了“教育技術(shù)規(guī)劃”,指出到21世紀(jì)初讓全美國的每間教室和每個圖
17、書館都將聯(lián)上信息高速公路,讓每個孩子都能在“21世紀(jì)教師”網(wǎng)絡(luò)服務(wù)。澳大利亞國家公共資源管理局已于1995年4月建立“澳大利亞教育網(wǎng)”,并聯(lián)通Internet,該網(wǎng)絡(luò)不僅包括全部高等院校,而且還覆蓋全澳大利亞所有的中小學(xué)。</p><p> 網(wǎng)絡(luò)化在線考試作為網(wǎng)上遠(yuǎn)程教育的重要組成部分和發(fā)展分支,己經(jīng)在國外一些發(fā)達(dá)國家得到蓬勃發(fā)展,人們選學(xué)課程和考試都是通過網(wǎng)上進(jìn)行。特別是Internet業(yè)務(wù)的普及,構(gòu)筑高性能
18、、低成本的計算機(jī)網(wǎng)絡(luò)化在線考試,從技術(shù)條件和經(jīng)濟(jì)條件上己經(jīng)成熟。例如在美國,一些著名的考試就采用了網(wǎng)上在線考試的形式包括Microsoft公司的MCSE(微軟系統(tǒng)工程師認(rèn)證考試)GMAT(工商管理碩士入學(xué)考試)、托福考試、GRE(美國研究生入學(xué)考試)等等,并己在全國范圍內(nèi)應(yīng)用。</p><p> 在國內(nèi),普遍地看絕大多數(shù)遠(yuǎn)程教育的考試還停留在傳統(tǒng)考試方式。在此方式下,組織一次考試至少要經(jīng)過5個步驟,即人工出卷、
19、考生考試、人工閱卷、試卷分析和成績評估。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且這樣工作將是一件十分煩瑣和非常容易出錯的事情。但是對互聯(lián)網(wǎng)的真正應(yīng)用僅限于網(wǎng)上報名工作和網(wǎng)上成績查詢,還沒有真正形成上網(wǎng)考試的規(guī)模。而在國外一些國家,網(wǎng)上提交作業(yè)和網(wǎng)上考試已經(jīng)相當(dāng)普及了。所以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。</p><p> 近幾年來,借鑒發(fā)達(dá)國家的成功經(jīng)驗,結(jié)合
20、我國的實際情況,伴隨著網(wǎng)絡(luò)應(yīng)用的不斷擴(kuò)大,遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn),網(wǎng)絡(luò)應(yīng)用正不斷深入人心。人們迫切要求利用網(wǎng)絡(luò)技術(shù)進(jìn)行在線考試,來提高了考試的質(zhì)量,突出公正和客觀性,減輕組織及保障工作的負(fù)擔(dān),提高工作效率。于是許多教育教學(xué)類的課程在線考試軟件應(yīng)運(yùn)而生,高等學(xué)校,企事業(yè)單位也都紛紛組織研究此類應(yīng)用的解決方案,并研制開發(fā)了大量的不同類型計算機(jī)在線考試軟件,也推出了一批優(yōu)秀的在線考試軟件產(chǎn)品。比如全國計算機(jī)等級考試軟件、職稱計算機(jī)能力考試等
21、等。有力地推動了我國網(wǎng)絡(luò)化在線考試的發(fā)展水平,并積累了大量有價值的經(jīng)驗。</p><p> 1.2 系統(tǒng)開發(fā)的目的</p><p> 信息技術(shù)的發(fā)展對教育的影響是巨大的,隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,教育信息化和網(wǎng)絡(luò)化也將成為必然的趨勢。作為教育評價和衡量學(xué)生能力的考試也正經(jīng)歷著無紙化和網(wǎng)絡(luò)化的飛躍。網(wǎng)絡(luò)的開放性和分布性的特點以及基于互聯(lián)網(wǎng)的巨大計算能力使得考試突破了時間和空間的
22、限制。基于網(wǎng)絡(luò)技術(shù)的考試系統(tǒng)正成為人們的研究熱點之一,其中,基于Web技術(shù)的考試系統(tǒng)已成為互聯(lián)網(wǎng)的重要應(yīng)用之一。</p><p> 目前教師采用在線考試系統(tǒng)的還不多見,因為教師個體精力確實有限。但隨著教研組制度的完善和教學(xué)交流活動的增加。對題庫的創(chuàng)建將提上議事的日程,在線考試系統(tǒng)將大有用武之地,且能確保考風(fēng)考紀(jì)的根本好轉(zhuǎn)。</p><p> 在線考試具有動態(tài)出題、自動閱卷、成績分析等優(yōu)
23、點,不僅大大減輕了教師人工組卷繁瑣的工作量,提高資源利用率,其運(yùn)行過程中,組卷速度較快,較少出現(xiàn)重復(fù)的現(xiàn)象,而且有利于教考分離的實施,符合目前教學(xué)改革的目標(biāo)。更節(jié)省紙張資源,增強(qiáng)環(huán)保意識。因此,在線考試系統(tǒng)具有潛在的巨大商機(jī)和研究價值,是未來數(shù)字化校園系統(tǒng)研究的熱點內(nèi)容。</p><p> 1.3 系統(tǒng)開發(fā)的意義</p><p> 很多學(xué)校學(xué)生的期末考試仍采用任課教師(個人或集體)考
24、前出題的方式。為解決學(xué)生壓題,考前漏題,補(bǔ)(緩)考試題與正式考試試題題量及難度差異問題,教務(wù)管理部門通常要求教師同時出多套試卷,其題量與難度要求相同,并且要同時給出答案和評分標(biāo)準(zhǔn)。</p><p> 若建立題庫,每次考試前由題庫中題目隨機(jī)生成試卷,則可較好地解決考教分離的問題,也可將廣大教師從每學(xué)期末繁重的命題工作中解放出來。近年來,部分學(xué)校陸續(xù)開發(fā)了一些基于微機(jī)的題庫系統(tǒng),并作為成果向其它學(xué)校推廣,但這些題庫
25、一般都是結(jié)合本校具體情況,針對單一課程的小型題庫,甚至某些學(xué)校購得的題庫系統(tǒng)中的題目本身是不可維護(hù)的,即使題目已不適合自己的學(xué)生考試使用,也無法更新題庫中的題目。</p><p> 為解決題庫系統(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)。</p><p><
26、;b> 2 系統(tǒng)分析</b></p><p> 2.1 可行性分析</p><p> 可行性分析的目的就是要用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。通過分析解法的利弊,來判定系統(tǒng)目標(biāo)和規(guī)模是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否達(dá)到值得去投資開發(fā)這個系統(tǒng)的程度。網(wǎng)絡(luò)在線考試系統(tǒng)的可行性可從以下兩方面考慮。</p><p> 2
27、.1.1 經(jīng)濟(jì)可行性</p><p> 定期的組織考試是各個院校及時掌握學(xué)生學(xué)習(xí)成績的有效方式,利用網(wǎng)絡(luò)在線考試系統(tǒng),一方面可以節(jié)省人力資源,降低考試成本。另一方面,在線考試系統(tǒng)能夠快速進(jìn)行考試和評分,體現(xiàn)出考試的客觀與公正性。</p><p> 2.1.2 技術(shù)可行性</p><p> 開發(fā)一個網(wǎng)絡(luò)在線考試系統(tǒng),涉及到的最核心的技術(shù)問題就是如何實現(xiàn)在不刷
28、新頁面的情況下實時顯示考試時間及剩余時間,并做到到達(dá)考試結(jié)束時間時自動提交試卷的功能。通過Ajax技術(shù)可以輕松實現(xiàn)這些功能,這為網(wǎng)絡(luò)在線考試系統(tǒng)的開發(fā)提供了技術(shù)保障。</p><p><b> 2.2 需求分析</b></p><p> 隨著計算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)技術(shù)的日益成熟,通過網(wǎng)絡(luò)進(jìn)行信息交流已成為一種快捷的交互方式。在這種網(wǎng)絡(luò)環(huán)境下,學(xué)?;蚩荚嚈C(jī)構(gòu)希望通
29、過建立網(wǎng)絡(luò)在線考試網(wǎng)站來擴(kuò)大知名度、降低管理成本和減少人力物力的投資,從而為考生提供更全面、更靈活的服務(wù),并全面、準(zhǔn)確地對考試進(jìn)行跟蹤和評價。與此同時,考生希望根據(jù)自己的學(xué)習(xí)情況進(jìn)行測試,并能夠得到客觀、科學(xué)的評價;教務(wù)人員希望能夠有效地改進(jìn)現(xiàn)有的考試模式,提高考試效率。</p><p> 通過實際情況的調(diào)查,要求網(wǎng)絡(luò)在線考試系統(tǒng)具有以下功能:</p><p> ??界面設(shè)計美觀大方、
30、方便、快捷、操作靈活,樹立企業(yè)形象。</p><p> ??要求實現(xiàn)在線考試功能,自動核算考試成績。</p><p> ??要求提供考試時間倒計時功能,使考生實時了解考試剩余時間。</p><p> ??要求系統(tǒng)自動閱卷,保證考試成績真實有效。</p><p><b> 2.3 開發(fā)環(huán)境</b></p&g
31、t;<p> Apache是目前應(yīng)用最廣的Web服務(wù)器;PHP是一種類似ASP 的服務(wù)器端腳本語言,而MySQL是一個小巧的數(shù)據(jù)庫系統(tǒng)軟件,它們特別適用于網(wǎng)站建設(shè)。Apache+PHP+MySQL不僅僅是開源項目,可免費(fèi)獲取,而且它支持Linux、UNIX、OS/2和Windows多個操作系統(tǒng),可移植性好。因此,這種組合是設(shè)計動態(tài)網(wǎng)站的最佳解決方案。</p><p> (1) 硬件需求:計算機(jī)
32、(winXP系統(tǒng))</p><p> (2) 軟件需求:</p><p> 開發(fā)工具:Dreamweaver CS5</p><p> 服務(wù)器端開發(fā)環(huán)境:Wampserver Version2(Apache 2.2.11+PHP 5.2.9+ MySQL 5.1.32+ phpMyAdmin 3.1.3)</p><p> 3 設(shè)
33、計工具及關(guān)鍵技術(shù)介紹</p><p> 3.1 Apache簡介</p><p> Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計算機(jī)平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。Apache web服務(wù)器軟件擁有以下特性:</p><p> 支持最新的HTTP/1.1通信協(xié)議</p>
34、;<p> 擁有簡單而強(qiáng)有力的基于文件的配置過程</p><p><b> 支持通用網(wǎng)關(guān)接口</b></p><p> 支持基于IP和基于域名的虛擬主機(jī)</p><p> 支持多種方式的HTTP認(rèn)證</p><p> 集成Perl處理模塊</p><p><b>
35、 集成代理服務(wù)器模塊</b></p><p> 支持實時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志</p><p> 3.2 PHP語言簡介</p><p> PHP是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫,它是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,PHP 獨特的語法混合了C、Ja
36、va、Perl以及PHP自創(chuàng)新的語法。它可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。</p><p> 用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系
37、統(tǒng)。</p><p> 以下羅列了PHP所具有的一些特點:</p><p> (1) 開放的源代碼。所有的PHP源代碼事實上都可以得到。 </p><p> (2) PHP是免費(fèi)的。和其它技術(shù)相比,PHP本身免費(fèi)。</p><p> (3) PHP的快捷性。程序開發(fā)快,運(yùn)行快,技術(shù)本身容易學(xué)習(xí),上手快。嵌入HTML:因為PHP可
38、以嵌入HTML語言,它相對于其他語言,編輯簡單,實用性強(qiáng),更適合初學(xué)者。 </p><p> (4) 跨平臺性強(qiáng)。由于PHP是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在UNIX、LINUX、WINDOWS下?!?lt;/p><p> (5) 效率高。PHP消耗相當(dāng)少的系統(tǒng)資源。</p><p> (6) 圖像處理。用PHP動態(tài)創(chuàng)建圖像 </p><
39、p> (7) 面向?qū)ο蟆T趐hp5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M(jìn),現(xiàn)在php完全可以用來開發(fā)大型商業(yè)程序。</p><p> (8) 專業(yè)專注。PHP支持腳本語言為主,同為類C語言。</p><p> 3.3 PHP連接MySQL數(shù)據(jù)庫</p><p> 3.3.1 PHP連接數(shù)據(jù)庫的兩種方法</p><p> (1
40、) 通過mysql庫和mysqli庫函數(shù)連接。這種方法是PHP連接MySQL最常用的方法,無論從易用性和效率上都比用ODBC接口連接好。</p><p> PHP存取mysql數(shù)據(jù)庫的四個步驟是:</p><p> 建立連接:mysql_connect();</p><p> 操縱數(shù)據(jù)庫:mysql_select_db();返回布爾型數(shù)據(jù)值</p>
41、;<p> 操縱數(shù)據(jù)庫中的數(shù)據(jù):mysql_query();</p><p> 關(guān)閉連接:mysql_close();</p><p> (2) 通過ODBC接口連接。開放式數(shù)據(jù)庫互聯(lián)(open database connectivity,ODBC)是Microsoft引進(jìn)的一種早期數(shù)據(jù)庫接口技術(shù)。Microsoft引進(jìn)這種技術(shù)的一個主要原因是,以非語言專用的方式,提
42、供給程序員一種訪問數(shù)據(jù)庫內(nèi)容的簡單方法。PHP通過ODBC不僅可以連接MySQL數(shù)據(jù)庫,而且還可以連接Oracle、Sybase、Informix和SQL Server等。</p><p> 3.3.2 PHP對MySQL數(shù)據(jù)庫的兩種連接方式</p><p> 無論是使用mysql/mysqli庫函數(shù)還是使用ODBC接口連接,PHP對MySQL 數(shù)據(jù)庫的連接方式都有兩種。分別是永久連
43、接和非永久連接方式。</p><p> (1) 永久連接方式:它的最大的優(yōu)點是效率比非永久連接方式高,當(dāng)客戶端對MySQL服務(wù)器的連接請求非常頻繁時,永久連接將更加高效。它使得每個子過程在其生命周期中只做一次連接操作,而非每次在處理一個頁面時都要向MySQL服務(wù)器提出連接請求。即每個子過程將對服務(wù)器建立各自獨立的永久連接。</p><p> (2) 非永久連接方式:即短連接方式。當(dāng)
44、客戶端向Web服務(wù)器請求網(wǎng)頁時,服務(wù)器處理這個請求,并將所請求的網(wǎng)頁發(fā)送給瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個請求。對于大部分網(wǎng)站通常都使用這種連接方式,它雖然沒有永久連接方式的效率高,但是可有效避免永久連接所帶來的問題和提高服務(wù)器承載能力。</p><p> 3.4 Ajax簡介 </p><p> AJAX不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的W
45、eb應(yīng)用程序的技術(shù)。</p><p> 通過AJAX,JavaScript可使用JavaScript的XMLHttpRequest對象來直接與服務(wù)器進(jìn)行通信。通過這個對象,JavaScript可在不重載頁面的情況與Web服務(wù)器交換數(shù)據(jù)。AJAX在瀏覽器與Web服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請求),這樣就可使網(wǎng)頁從服務(wù)器請求少量的信息,而不是整個頁面。 </p><p> Web應(yīng)
46、用程序較桌面應(yīng)用程序有諸多優(yōu)勢;它們能夠涉及廣大的用戶,它們更易安裝及維護(hù),也更易開發(fā)。AJAX是一種獨立于Web服務(wù)器軟件的瀏覽器技術(shù)。可使因特網(wǎng)應(yīng)用程序更小、更快、更友好。</p><p><b> 主要包含的技術(shù):</b></p><p> web標(biāo)準(zhǔn)(standards-based presentation)XHTML+CSS的表示; </p&g
47、t;<p> 使用DOM(Document Object Model)進(jìn)行動態(tài)顯示及交互; </p><p> 使用XML和XSLT進(jìn)行數(shù)據(jù)交換及相關(guān)操作; </p><p> 使用XMLHttpRequest進(jìn)行異步數(shù)據(jù)查詢、檢索; </p><p> 使用JavaScript將所有的東西綁定在一起。</p><
48、;p><b> 4 系統(tǒng)概要設(shè)計</b></p><p> 4.1 系統(tǒng)的總體設(shè)計</p><p> 根據(jù)系統(tǒng)的功能要求,網(wǎng)絡(luò)考試系統(tǒng)中涉及兩種不同的用戶:考試用戶、管理員,他們的職能各不相同??荚囉脩暨M(jìn)入網(wǎng)絡(luò)考試系統(tǒng),可以查詢個人考試成績,修改密碼,在線考試。管理員能夠進(jìn)行試題庫維護(hù),包括刪除,添加,及時更新,查看考生的成績并進(jìn)行分析統(tǒng)計。所有數(shù)據(jù)都
49、存儲在服務(wù)器的數(shù)據(jù)庫中,具體應(yīng)達(dá)到以下目標(biāo):</p><p> 采用開放、動態(tài)的系統(tǒng)框架,加強(qiáng)用戶與網(wǎng)站的交互性。</p><p> 具有空間性。被授權(quán)的用戶可以在異地登錄考試系統(tǒng),無須到指定地點 行進(jìn)行考試。</p><p> 操作簡單方便,界面簡潔美觀。</p><p> 系統(tǒng)提供考試倒計時功能,使考生了解考試剩余時間。</
50、p><p><b> 隨機(jī)抽取試題。</b></p><p> 實現(xiàn)自動提交試卷的功能。當(dāng)考試時間到達(dá)規(guī)定時間,如果考生還未提交試卷,系統(tǒng)將自動交卷,以保證考試嚴(yán)肅、公正地進(jìn)行。</p><p> 系統(tǒng)自動閱卷,保證成績的真實準(zhǔn)確。</p><p> 考生可以查詢自己的考試成績。</p><p&g
51、t; 4.2 數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫設(shè)計的任務(wù)是確定系統(tǒng)所需的數(shù)據(jù)庫,它的價值在于它能夠向用戶提供有意義的信息,還有向系統(tǒng)供應(yīng)所需的一切數(shù)據(jù)。在MySQL數(shù)據(jù)庫系統(tǒng)中建立一個名為examnation的數(shù)據(jù)庫,在該數(shù)據(jù)庫中可以創(chuàng)建與實體對應(yīng)的數(shù)據(jù)表,存放考試系統(tǒng)中與考生,管理員,考題類別,考試成績相關(guān)的數(shù)據(jù)。下面給出數(shù)據(jù)庫中所包含的數(shù)據(jù)表的結(jié)構(gòu)圖,如圖4.2所示。</p><
52、p> 圖4.2 examnation 數(shù)據(jù)庫所包含數(shù)據(jù)表的結(jié)構(gòu)圖</p><p> chengxu 表存放程序題信息, danxuan 表存放單選題信息, duoxuan 表存放多選題信息, panduan 表存放判斷題信息, result 表記錄考生的答題信息, shiti 表存放生成的試卷信息, tiankong 表存放填空題信息, user 表存放用戶信息 </p><p>
53、; 4.3 系統(tǒng)結(jié)構(gòu)設(shè)計</p><p> 4.3.1 系統(tǒng)功能結(jié)構(gòu)</p><p> 網(wǎng)絡(luò)考試系統(tǒng)的考生用戶和管理員分別為前臺用戶和后臺用戶,他們的功能職責(zé)不同,其功能結(jié)構(gòu)圖如圖4.3.1所示。</p><p> 圖4.3.1 在線考試系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 考生功能:</b><
54、/p><p> (1) 參加考試:選擇試卷類型之后,考試開始并計時,手動和自動提交試卷,自動閱卷;</p><p> (2) 查詢成績:考生可以查詢本人的成績信息;</p><p> (3) 修改密碼:考生修改自己的密碼。</p><p><b> 管理員功能:</b></p><p>
55、 (1) 考試管理:修改試卷的題型比例;修改考題類型,考題類別;</p><p> (2) 題庫管理:及時對題庫進(jìn)行更新,刪除舊的題目,插入新的題目等;</p><p> (3) 成績查詢:管理員可以查看權(quán)限范圍內(nèi)所有用戶的成績信息;</p><p> (4) 學(xué)生信息管理:上傳學(xué)生信息,修改學(xué)生信息。</p><p> 4
56、.3.2 系統(tǒng)流程圖</p><p> 考生信息需管理員添加,登錄帳號為考生學(xué)號,初始密碼(123)??忌卿浘W(wǎng)站進(jìn)行相關(guān)操作??忌卿浐螅梢赃M(jìn)行在線考試、查詢成績和修改個人密碼的操作。在考試前,選擇考試套題后開始考試;考試時間結(jié)束時,考生提交試卷;提交試卷后,返回網(wǎng)站首頁,考生可查看自己的考試成績。網(wǎng)站的管理員通過登錄模塊可以登錄到網(wǎng)站的后臺系統(tǒng),對考生信息、考試信息、管理員信息進(jìn)行管理。網(wǎng)絡(luò)在線考試系統(tǒng)
57、的系統(tǒng)流程,如圖4.3.2所示:</p><p> 圖4.3.2 在線考試系統(tǒng)流程圖</p><p><b> 5 系統(tǒng)詳細(xì)設(shè)計</b></p><p> 5.1 數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫的設(shè)計過程一般是從現(xiàn)實世界出發(fā),進(jìn)行需求分析、概念分析、邏輯分析和物理設(shè)計的。其中需求分析是整個設(shè)計過程的基
58、礎(chǔ),是最困難、最耗費(fèi)時間的一步。需求分析做的不好,甚至?xí)?dǎo)致整個數(shù)據(jù)庫設(shè)計返工重做。概念結(jié)構(gòu)設(shè)計師整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進(jìn)行分析、綜合、歸納與抽象,形成一個獨立、具體的數(shù)據(jù)可管理系統(tǒng)的概念模型。邏輯結(jié)構(gòu)設(shè)計師將概念轉(zhuǎn)換為某個數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)庫模型,并對其進(jìn)行優(yōu)化。物理結(jié)構(gòu)設(shè)計是為邏輯結(jié)構(gòu)設(shè)計選擇一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),并對數(shù)據(jù)可進(jìn)行布置。</p><p> 5.1.1 數(shù)據(jù)庫分
59、析</p><p> MySQL是一個小巧的數(shù)據(jù)庫系統(tǒng)軟件,特別適用于網(wǎng)站建設(shè)。MySQL的設(shè)計目標(biāo)是提供一個高速、可靠、可擴(kuò)展、易于使用的數(shù)據(jù)庫管理系統(tǒng)。 Apache+PHP+MySQL不僅僅是開源項目,可免費(fèi)獲取,而且它支持Linux、UNIX、OS/2和Windows多個操作系統(tǒng),可移植性好,這種組合是設(shè)計動態(tài)網(wǎng)站的最佳解決方案。綜上所述,本系統(tǒng)采用MySQL數(shù)據(jù)庫。</p><p
60、> 5.1.2 概念設(shè)計</p><p> (1) 人員信息實體</p><p> 人員信息實體包括編號、姓名、準(zhǔn)考證號、密碼,類別等屬性。人員信息實體的E-R 圖,如圖5.1.2.1所示:</p><p> 圖5.1.2.1 考生信息實體E-R圖</p><p> (2) 結(jié)果集實體</p><p&
61、gt; 結(jié)果集實體包括編號,用戶id,試題id,所做答案,試題類型,試卷類型,正誤。</p><p> 結(jié)果集實體的E-R 圖,如圖5.1.2.2所示:</p><p> 圖5.1.2.2 結(jié)果集實體E-R圖</p><p> 5.1.3 數(shù)據(jù)庫物理結(jié)構(gòu)</p><p> (1) user(用戶信息表)</p>&
62、lt;p> 用戶信息表用來保存用戶信息,主鍵為id。</p><p> 該數(shù)據(jù)表結(jié)構(gòu)如圖5.1.3.1所示:</p><p> 圖5.1.3.1 用戶信息結(jié)構(gòu)圖</p><p> id(主鍵),uid(用戶登錄帳號),uname(用戶姓名),upass(用戶密碼),type(用戶類別:0學(xué) 生,1管理員),sex(性別),birth(出生年月)
63、。</p><p> (2) result(結(jié)果信息表)</p><p> 結(jié)果信息表用來保存試題答案。主鍵為id。</p><p> 該數(shù)據(jù)表結(jié)構(gòu)如圖5.1.3.2所示:</p><p> 圖5.1.3.2 結(jié)果信息結(jié)構(gòu)圖</p><p> id(主鍵),uid(用戶表id),tid(試題id),ans
64、wer(所做答案),type(試題類型),kind(試卷類型),torf(正誤)。</p><p> 在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中,必須不斷地對其進(jìn)行評價、調(diào)整與修改,內(nèi)容包括:數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)、數(shù)據(jù)庫的安全性、完整性控制、數(shù)據(jù)庫性能的監(jiān)督、分析和改進(jìn)、數(shù)據(jù)庫的重組織和重構(gòu)造等。</p><p> 5.2 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)</p><p> 根據(jù)需求分析,我
65、們把在線考試系統(tǒng)分為六個模塊,即數(shù)據(jù)庫交互模塊、功能列表模塊、題庫模塊、試卷生成模塊、考試生成模塊及在線考試模塊。下面來看系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)。</p><p> 5.2.1 系統(tǒng)配置</p><p> 系統(tǒng)配置主要包括代碼開發(fā)工具配置和服務(wù)器配置。本系統(tǒng)采用的開發(fā)工具是Dreamweaver,數(shù)據(jù)庫則采用得是MySQL,Web服務(wù)器采用Apache服務(wù)器。</p>&
66、lt;p> B/S模式系統(tǒng)的目錄結(jié)構(gòu)有一定的規(guī)律性,因此必須遵循規(guī)范,并按照需求分析建立各個模塊的目錄結(jié)構(gòu)。整個目錄結(jié)構(gòu)如圖5.2.1所示:</p><p> 圖5.2.1目錄結(jié)構(gòu)圖 </p><p> Config:相關(guān)配置程序。</p><p> Libs:程序類庫。</p><p> Program:程序文件。</
67、p><p> Templates:模版目錄。</p><p> Templates_c:編譯目錄。</p><p> Upload:上傳文件存放目錄。</p><p> Index.php:程序入口文件。</p><p> 首先將PHP連接到MySQl數(shù)據(jù)庫服務(wù)器程序(config.php),該程序建立與MySQ
68、L服務(wù)器的連接,打開examnation數(shù)據(jù)庫,代碼如下:</p><p> $conn = mysql_connect('localhost', 'root', '');</p><p> if(!$conn){</p><p> die("數(shù)據(jù)庫連接失敗!");</p>&l
69、t;p><b> }</b></p><p> mysql_select_db("examination");</p><p> mysql_query("set names utf8");</p><p> 在每一個PHP程序的開頭通過以下語句引用cinfig.php程序:</p&g
70、t;<p> include_once("../config/config.php");</p><p> 5.2.2 前臺詳細(xì)設(shè)計與實現(xiàn)</p><p><b> 前臺首頁設(shè)計</b></p><p> (1) 考生通過“考生登錄”模塊的驗證后,可以登錄到網(wǎng)絡(luò)在線考試系統(tǒng)的前臺首頁。</p&
71、gt;<p> 下面為前臺登錄頁面,如圖5.2.2.1所示:</p><p> 圖5.2.2.1前臺登錄頁面</p><p> (2) 網(wǎng)絡(luò)在線考試系統(tǒng)前臺首頁主要實現(xiàn)了考生登錄功能,考生通過準(zhǔn)考證號和密碼進(jìn)行登錄??忌卿涰撁嬷兴婕暗降闹匾韱卧厝绫?所示:</p><p> 表 1 登 錄 信 表</p><p&g
72、t; (3) 考生在考生登錄頁面錄入準(zhǔn)確的準(zhǔn)考證號和密碼后,單擊“登錄”按鈕,提交表單信息到數(shù)據(jù)處理頁,應(yīng)用mysql_query()函數(shù)檢索考生是否成功登錄。如果查詢結(jié)果為真,則將準(zhǔn)考證號存儲在session變量中;否則跳轉(zhuǎn)回登錄頁面。</p><p> 正確登錄后界面如圖5.2.2.2所示:</p><p> 圖5.2.2.2前臺首頁頁面</p><p>
73、<b> 個人信息模塊設(shè)計:</b></p><p> 查看個人信息:顯示登錄用戶的姓名,學(xué)號,性別,出生年月信息。</p><p> 修改密碼如圖5.2.2.3所示:</p><p> 圖5.2.2.3 修 改 密 碼</p><p> 應(yīng)用Ajax技術(shù)判斷原密碼是否正確,正確方可修改。從后臺查詢當(dāng)前登錄用戶
74、的密碼,當(dāng)光標(biāo)離開原密碼輸入框后判斷輸入密碼是否與原密碼相同,若不同則提示用戶,并且阻止用戶修改密碼。用戶密碼采用md5()方法加密。</p><p><b> 參加考試模塊設(shè)計:</b></p><p> 列出試卷類型:從試題庫里查詢所有試題種類。如圖5.2.2.4所示:</p><p> 圖5.2.2.4 查 看 試 卷 類 型<
75、;/p><p> 選擇試題種類后提示進(jìn)入考試,如圖(5.2.2.5):</p><p> 圖5.2.2.5提 示 用 戶 進(jìn) 入 考 試</p><p> 從試題表中讀取相應(yīng)類別試卷的題型id,從題庫中查詢相應(yīng)題目顯示到頁面。</p><p> 進(jìn)入考試頁面如圖(5.2.2.6):</p><p> 圖5.2.2
76、.6考 試 界 面</p><p> 當(dāng)對應(yīng)試題答案改變時將所做答案錄入result表。</p><p> 考試倒計時采用javascript技術(shù):</p><p> 主要使用setInterval() 方法,可按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達(dá)式。每過一秒鐘,倒計時中的秒數(shù)減一,每過一分鐘,分鐘數(shù)減一,時間結(jié)束后,自動跳轉(zhuǎn)到收卷頁面。</p
77、><p> 當(dāng)點擊提交試卷時提示未答題目如圖(5.2.2.7):</p><p> 圖5.2.2.7提示用戶交卷信息</p><p> 本環(huán)節(jié)主要方法:在每一道題的部分使用了一個HTML中的隱藏域,當(dāng)題目答案改變時改變隱藏域的值。當(dāng)要提交試卷的時候,遍歷隱藏域的值,提示未做題目的類型和題號。</p><p><b> 6 系統(tǒng)
78、測試</b></p><p><b> 6.1 測試環(huán)境</b></p><p> 服務(wù)器端:Windows XP Pro SP2、Apache、MySQL</p><p> 客戶端:Windows XP Pro SP2、360安全瀏覽器5.0正式版、IE8.0</p><p> 6.2 軟件測試
79、的目標(biāo)與方法</p><p> 測試的主要目標(biāo)是檢測考試時間到達(dá)之后是否可以自動收卷,學(xué)生作答信息是否能夠準(zhǔn)確錄入到數(shù)據(jù)庫。</p><p> 測試的主要方法就是通過多次參加考試,查看錄入信息是否正確,著重查看特殊字符是否能夠正常顯示。</p><p> 6.3 軟件測試的結(jié)果</p><p> 經(jīng)過測試,我負(fù)責(zé)的在線考試系統(tǒng)中的在
80、線考試模塊基本實現(xiàn)了預(yù)期的功能,能夠自動收卷,并且準(zhǔn)確的錄入學(xué)生的答題結(jié)果包括某些特殊字符的錄入與顯示。</p><p><b> 7 結(jié)束語</b></p><p> 時間如白駒過隙,悄然離去,眨眼間,我們到了大學(xué)的尾聲。面對畢業(yè),我們需要對四年的經(jīng)歷做一個總結(jié)和檢驗。四年的學(xué)習(xí),讓我的知識豐富了很多,也讓我成熟了很多。然而對比學(xué)習(xí)成果的檢驗,畢業(yè)設(shè)計無非是一
81、個最好的方法。當(dāng)我著手開始畢業(yè)設(shè)計時,才發(fā)現(xiàn),畢業(yè)設(shè)計不只是一個簡單的作業(yè)而已,只依賴于課堂上的知識,是遠(yuǎn)遠(yuǎn)不夠的。它同時也檢驗了我的綜合素質(zhì)和能力。通過聽取老師的建議、指導(dǎo)及小組的探討,我開始著手我的畢業(yè)設(shè)計。鑒于對在線系統(tǒng)的理解和自我學(xué)習(xí)的PHP等相關(guān)方面的知識,對我的設(shè)計做了一個大致的規(guī)劃。經(jīng)過一段時間的學(xué)習(xí)和創(chuàng)作,我的畢業(yè)設(shè)計已經(jīng)基本完成,雖然系統(tǒng)本身不太完善,但已實現(xiàn)所需要的基本功能。</p><p>
82、 通過這次的畢業(yè)設(shè)計,讓我懂得了學(xué)習(xí)本身并不是作為學(xué)生的一種職責(zé),而是作為人類生存的一種基本技能。人無完人,學(xué)無止境。這次畢業(yè)設(shè)計讓我受益匪淺。</p><p> 另一方面,也同時讓我明白,難的不是事情,而是自我的不努力。我想經(jīng)歷過畢業(yè)設(shè)計,讓我變得更加成熟,在以后的工作生活中,我會加強(qiáng)對自我綜合素質(zhì)的鍛煉,不斷的提高自己的能力。</p><p><b> 參考文獻(xiàn)<
83、/b></p><p> [1]鄒天思,孫鵬. PHP從入門到精通[M]. 北京: 清華大學(xué)出版社, 2008</p><p> [2]陳湘揚(yáng), 陳國益. PHP5+MySQL網(wǎng)頁系統(tǒng)開發(fā)設(shè)計[M]. 北京: 電子工業(yè)出版社, 2007</p><p> [3]仝戈 張武裝. Smarty在基于MVC框架的Web應(yīng)用程序開發(fā)中的應(yīng)用. 科技信息. 200
84、9</p><p> [4]明日科技. PHP函數(shù)參考大全. 北京:人民郵電出版社,2007</p><p> [5]蘭旭輝 熊家軍 鄧剛. 基于MySQL的應(yīng)用程序設(shè)計. 計算機(jī)工程與設(shè)計2004 25(3)</p><p> [6]張翼. Web環(huán)境下數(shù)據(jù)庫系統(tǒng)安全訪問控制機(jī)制研究. 2007</p><p> [7]趙鶴芹. 設(shè)
85、計動態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL. 計算機(jī)工程與設(shè)計2007 28(4)</p><p><b> 致謝</b></p><p> 在此我要感謝高老師對我的悉心指導(dǎo),在設(shè)計過程中給予的幫助建議和支持。在此期間,我通過查閱相關(guān)知識、詢問老師和自我的學(xué)習(xí),獲得了很多具有寶貴價值的知識。雖然也經(jīng)歷的一些困難,但收獲遠(yuǎn)遠(yuǎn)的大于付出的艱辛。通過這次的設(shè)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文-c語言在線考試系統(tǒng)的設(shè)計與實現(xiàn)——試題生成模塊
- 軟件工程畢業(yè)論文-c語言在線考試系統(tǒng)的設(shè)計與實現(xiàn)——自動評分模塊
- c語言在線考試系統(tǒng)——在線考試模塊
- 軟件工程畢業(yè)論文-高校教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)-在線考試管理模塊
- 軟件工程畢業(yè)論文-高校教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)——在線考試管理模塊
- 畢業(yè)論文---c語言在線考試系統(tǒng)的設(shè)計
- 在線考試系統(tǒng)畢業(yè)論文軟件工程完整版
- 在線考試系統(tǒng)畢業(yè)論文(軟件工程完整版)
- 軟件工程畢業(yè)論文-在線汽車租賃系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-高校網(wǎng)上黨??荚囅到y(tǒng)---考試模塊的設(shè)計與實現(xiàn)
- 軟件工程畢業(yè)論文-在線汽車租賃系統(tǒng)的設(shè)計與實現(xiàn) 2
- 軟件工程畢業(yè)論文-高校網(wǎng)絡(luò)黨校系統(tǒng)的設(shè)計與實現(xiàn)——考試模塊
- 在線考試系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——在線考試系統(tǒng)的設(shè)計與實現(xiàn)
- 在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文----在線考試系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文---在線考試系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程課程設(shè)計--在線考試系統(tǒng)
- c語言在線考試系統(tǒng)——自動評分模塊
評論
0/150
提交評論