畢業(yè)設(shè)計(jì)(論文)基于ASP和Access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于ASP和Access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于ASP和Access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于ASP和Access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于ASP和Access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、南昌航空大學(xué)學(xué)士學(xué)位論文目錄第一章 引言11.1 題的依據(jù)意義11.2 內(nèi)外研究概況及發(fā)展趨勢21.3 究內(nèi)容2第二章 需求分析及功能模塊分析42.1 需求分析42.2 功能模塊規(guī)劃及分析4第三章 軟件數(shù)據(jù)表的設(shè)計(jì)83.1 數(shù)據(jù)字典設(shè)計(jì)83.2 系統(tǒng)e-r圖的設(shè)計(jì)93.3 基本數(shù)據(jù)表設(shè)計(jì)11第四章 軟件功能及模塊的設(shè)計(jì)實(shí)現(xiàn)144.1 總體設(shè)計(jì)方案144.2 創(chuàng)建數(shù)據(jù)庫154.3 在dreamweaver中建立站點(diǎn)154.4 系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)16第五章 軟件程序框圖325.1 學(xué)生登錄考試模塊流程圖325.2 管理員登錄模塊流程圖325.3 學(xué)生考試流程圖335.4 信息管理流程圖345.5

2、 添加流程圖355.6 刪除流程圖355.7 修改流程圖36第六章 軟件測試及調(diào)試37第七章 結(jié)論391、 畢業(yè)設(shè)計(jì)完成的工作392、 總結(jié)393、 展望40參考文獻(xiàn)41致 謝42附錄43第一章 引言1.1選題的依據(jù)意義考試是教學(xué)至關(guān)重要的一個(gè)環(huán)節(jié),是檢查學(xué)生對知識掌握程度的尺碼,也是測評任課老師教學(xué)效果的標(biāo)準(zhǔn),然而這又會受到考試本身質(zhì)量的影響。隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)信息技術(shù)的不斷發(fā)展,現(xiàn)在很多國內(nèi)外的大學(xué)和社會其他部門都已經(jīng)通過計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異地教育和培訓(xùn),這就對傳統(tǒng)的考試系統(tǒng)提出了挑站,同時(shí)傳統(tǒng)的考試方式的種種不足和局限日益顯露,網(wǎng)上考試系統(tǒng)于是就應(yīng)運(yùn)而生了。雖然現(xiàn)在網(wǎng)上考試系統(tǒng)仍然僅限于計(jì)

3、算機(jī)類的考試當(dāng)中,但隨著個(gè)人計(jì)算機(jī)的普及和應(yīng)用,網(wǎng)上考試系統(tǒng)的普及已經(jīng)是大勢所趨,這對網(wǎng)上考試系統(tǒng)的安全性和性能提出了相當(dāng)高的要求,也個(gè)軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。如果深入的比較傳統(tǒng)的考試系統(tǒng)與網(wǎng)上考試系統(tǒng),可以發(fā)現(xiàn)傳統(tǒng)的考試系統(tǒng)有如下弊端:1.傳統(tǒng)考試方式從組卷命題、試卷印刷,考場安排、監(jiān)考到組織判卷都是通過人工操作完成,所以周期長、浪費(fèi)大、效率低。2.傳統(tǒng)考試缺乏有效的監(jiān)考管理手段,學(xué)生作弊現(xiàn)象普遍,加上考試的各個(gè)環(huán)節(jié)人工參與因素過多,如人工出題、判卷等都會影響到考試的客觀性和公平性。3.傳統(tǒng)考試的形式單一、測評方式死板,缺少有效的統(tǒng)計(jì)分析手段,不能及時(shí)準(zhǔn)確地收集教學(xué)反饋信息。4.傳

4、統(tǒng)的考試,教師的工作量大,教師要承擔(dān)包括試卷出題、審閱批改、統(tǒng)計(jì)分?jǐn)?shù)等高強(qiáng)度的體力勞動(dòng),耗費(fèi)了大量的工作時(shí)間和精力。而基于計(jì)算機(jī)考試的優(yōu)越性具體體現(xiàn)在以下幾個(gè)方面:1.考試實(shí)行無紙化、自動(dòng)化。大大減少了財(cái)力物力的浪費(fèi),降低了考試成本。簡化了繁重的考務(wù)工作,縮短的考試工作周期,減少了低水平的重復(fù)勞動(dòng)。2.考試試卷從題庫抽取,能避免過多的人工干預(yù),能確??荚嚨目陀^性和公平性。同時(shí),可以合理調(diào)整試題內(nèi)容,控制試卷的質(zhì)量,保證考試的科學(xué)性。3.考試自動(dòng)隨機(jī)出題,每份試題內(nèi)容都不一樣,可以有預(yù)防考試作弊的發(fā)生。提高了考試的安全性。4.考試結(jié)合了網(wǎng)絡(luò)資源的優(yōu)勢,有利于組織實(shí)施大規(guī)模的異地實(shí)時(shí)考試。1.2國

5、內(nèi)外研究概況及發(fā)展趨勢目前,網(wǎng)絡(luò)考試在試卷生成和考試方式上還存在許多不足之處,它們影響了遠(yuǎn)程教育的教學(xué)效果的提升?,F(xiàn)階段,國內(nèi)絕大多數(shù)網(wǎng)絡(luò)考試主要是以3種形式提供給學(xué)生學(xué)習(xí)使用的。第一,使用word等工具編寫的文本文件。學(xué)生主要是通過網(wǎng)絡(luò)瀏覽器下載網(wǎng)頁進(jìn)行測試學(xué)習(xí)或者是教師從國家題庫中進(jìn)行選題、組卷,然后印發(fā)成文本形式的試卷,供學(xué)生考試學(xué)習(xí)用。這種以題庫形式的方法無法真正在教學(xué)過程中發(fā)揮其應(yīng)有的作用,不能得到廣泛的應(yīng)用。第二,基于客戶機(jī)/服務(wù)器結(jié)構(gòu)的專用考試系統(tǒng)。學(xué)生一般是通過特定的客戶端軟件在局域網(wǎng)內(nèi)進(jìn)行考試。專用考試系統(tǒng)克服了文本形式的弊端,實(shí)現(xiàn)了實(shí)時(shí)高效的網(wǎng)絡(luò)考試和考試資料的批改分析。但

6、由于它需要一定的客戶端軟件的支持,而且只能在某一時(shí)段內(nèi)實(shí)行特定考試,限定了使用者的范圍。比如計(jì)算機(jī)等級考試中的上機(jī)操作題,雖然可以對操作性的內(nèi)容進(jìn)行考查,但是它主要是用于局域網(wǎng),且客戶端必須安裝相應(yīng)的客戶軟件,受到了時(shí)空的限制。第三,b/s模式的考試系統(tǒng)。b/s是近幾年伴隨internet迅速發(fā)展起來的一種技術(shù),它與客戶/服務(wù)器方式類似,客戶端是一個(gè)標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端是web server,而web server與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴(kuò)大。它的主要優(yōu)點(diǎn)是便于擴(kuò)充應(yīng)用、升級、維護(hù)簡便。服務(wù)器端的應(yīng)用一般采用web server+數(shù)據(jù)庫系統(tǒng)+asp組件,來構(gòu)

7、成中間及后端的應(yīng)用服務(wù)系統(tǒng)。它超越了傳統(tǒng)的客戶機(jī)/服務(wù)器兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫層,因此,web結(jié)構(gòu)有著更好的安全性,在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫服務(wù)器上,當(dāng)然,事務(wù)層和數(shù)據(jù)庫可以是同一臺機(jī)器。目前來看,第三種考試方案將是網(wǎng)上考試未來發(fā)展的趨勢,當(dāng)然,在一些特殊領(lǐng)域,并不排除第一種與第二種交叉出現(xiàn)的可能性。1.3研究內(nèi)容本課題利用asp和access數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)。該系統(tǒng)使得學(xué)生通過網(wǎng)絡(luò)登陸系統(tǒng)自動(dòng)下載試題,答卷,提交答案。老師可以對題庫、試卷進(jìn)行設(shè)置,自動(dòng)出題,自動(dòng)評分,試題分析。實(shí)現(xiàn)用

8、戶登陸和密碼驗(yàn)證功能,賬戶信息修改,限制用戶的訪問權(quán)限。1 用戶登陸和密碼驗(yàn)證功能;帳戶信息修改,限制用戶的訪問權(quán)限。2 題庫設(shè)置模塊:題庫信息的添加、修改、刪除。 3 試卷設(shè)置模塊:題目設(shè)置(題目類型,數(shù)量、分?jǐn)?shù)、答案)4 試卷生成模塊:自動(dòng)生成功能。5 閱卷模塊:自動(dòng)評分。第二章 需求分析及功能模塊分析2.1需求分析用戶的需求具體體現(xiàn)在對各種信息的提供、保存、更新和查詢等方面。因此,一個(gè)滿足要求的數(shù)據(jù)庫必須充分滿足對各種信息的輸入輸出需要。通過前面對系統(tǒng)的分析,總結(jié)出網(wǎng)上考試系統(tǒng)系統(tǒng)的數(shù)據(jù)庫需要滿足以下信息需求。a用戶一般分學(xué)生用戶和管理員用戶。b非注冊用戶需要管理員用戶進(jìn)行添加,身份由管

9、理員確定。c已存在用戶登陸成功后可以維護(hù)個(gè)人信息,管理員用戶可以對所有用戶的個(gè)人信息進(jìn)行維護(hù)。d管理員用戶可以對考卷信息及試題信息進(jìn)行維護(hù)。e學(xué)生可以選擇考卷進(jìn)行考試,已考科目不得再考。綜合上面對基于asp的網(wǎng)上考試系統(tǒng)的數(shù)據(jù)庫需求分析,考慮到未來功能上的擴(kuò)展,設(shè)計(jì)如下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):a 學(xué)生表包括的數(shù)據(jù)項(xiàng):用戶id、用戶名、用戶密碼。b 科目表包括的數(shù)據(jù)項(xiàng):科目id、單選題每題分?jǐn)?shù)、多選題每題分?jǐn)?shù)、單選題題量、多選題題量、科目名稱、考試時(shí)間。c 試題表包括的數(shù)據(jù)項(xiàng):試題id、試題題目、a項(xiàng)內(nèi)容、b項(xiàng)內(nèi)容、c項(xiàng)內(nèi)容、d項(xiàng)內(nèi)容、答案、試題類項(xiàng)、科目名稱、是否選取。d 考分表包括的數(shù)據(jù)項(xiàng):考分i

10、d、學(xué)生登錄名、科目名、分?jǐn)?shù)、試題結(jié)束時(shí)間。e 管理員表包括的數(shù)據(jù)項(xiàng):管理員id、管理員帳號、管理員密碼。2.2功能模塊規(guī)劃及分析總體來說,該網(wǎng)站分為兩大模塊:管理端與客戶端。客戶端模塊包括登陸界面模塊、信息顯示模塊、網(wǎng)上考試模塊、試卷批改模塊。a 網(wǎng)站登錄模塊提供登錄功能,在此模塊學(xué)生可以登錄、管理員可以選擇管理員登陸。b 信息顯示模塊提供學(xué)生已考科目以及考試成績,顯示已有試卷、并由學(xué)生選擇考卷開始考試。c 網(wǎng)上考試模塊是主要模塊,為學(xué)生提供網(wǎng)上考試功能,學(xué)生可以在此模塊里進(jìn)行已選擇科目的考試,本模塊還有計(jì)時(shí)功能,當(dāng)考試時(shí)間結(jié)束后試卷將自動(dòng)提交。d 成績顯示模塊,可以將前一模塊提交的學(xué)生選擇

11、并與標(biāo)準(zhǔn)答案進(jìn)行比較,將成績顯示出來,并提供學(xué)生繼續(xù)考試與返回登錄界面的鏈接??蛻舳私缑娴墓δ苣K圖如圖2.1所示:圖2.1 客戶端界面功能圖管理端模塊包括管理員登錄模塊、管理員信息管理模塊、考試科目管理、學(xué)生信息管理模塊、學(xué)生成績管理模塊。a 管理員登錄模塊通過學(xué)生登錄模塊跳轉(zhuǎn)至,并可以在此模塊里跳轉(zhuǎn)回學(xué)生登錄模塊。b 管理員信息管理模塊可以對已有管理員的進(jìn)行密碼修改、刪除,以及添加新的管理員。c 學(xué)生信息管理模塊可以對已有學(xué)生用戶進(jìn)行密碼修改、刪除,以及添加新的學(xué)生。d 考試科目管理模塊可以對已有科目的信息進(jìn)行修改、刪除,以及添加新的科目。對科目進(jìn)行考題管理,則可以添加每個(gè)科目的題庫,并對

12、題庫中的題目進(jìn)行修改、添加、刪除。e 學(xué)生成績管理模塊,為了避免修改成績的事情發(fā)生,只有刪除功能。管理端界面的系統(tǒng)功能模塊如圖2.2所示:圖2.2 管理端界面的系統(tǒng)功能模塊圖對上述功能模塊進(jìn)行集中、分塊、按照結(jié)構(gòu)化程序的設(shè)計(jì)要求,可以得到系統(tǒng)功能模塊框圖,如圖2.3所示圖2.3 系統(tǒng)功能模塊框圖系統(tǒng)的各模塊流程如圖2.4所示。首先,管理部分需要管理員身份認(rèn)證及維護(hù);i其次,管理部分還包括考生賬號的管理;然后,管理員對試卷信息及題庫信息進(jìn)行維護(hù),當(dāng)考生登陸成功后選擇考試;最后,隨機(jī)抽題讓考生參加考試,提交動(dòng)作結(jié)束后,顯示分?jǐn)?shù)并返回。以上即是系統(tǒng)模塊流程,如下:圖2.4 系統(tǒng)的各模塊流程圖第三章

13、軟件數(shù)據(jù)表的設(shè)計(jì)根據(jù)本網(wǎng)站的實(shí)現(xiàn)內(nèi)容的需要,數(shù)據(jù)庫主要用來存儲管理員信息、學(xué)生信息、成績信息、題目信息、考卷信息、成績信息。本例采用microsoft access作為網(wǎng)站的后臺數(shù)據(jù)庫,他適合中小型應(yīng)用的一種關(guān)系數(shù)據(jù)庫產(chǎn)品。網(wǎng)上考試系統(tǒng)的主要對象是學(xué)生及管理員,所以必須建立學(xué)生表及管理員表,包括學(xué)生及管理員的基本情況;學(xué)生的主要活動(dòng)是考試,所以必須建立成績表、題庫表、試卷表,成績表包括學(xué)生考試后的成績,題庫表包括各個(gè)試卷的題庫,試卷表包括試卷的基本信息。因?yàn)榭荚嚨某煽?、題庫和試卷的設(shè)置不能由學(xué)生決定,所以學(xué)生僅有成績的查詢權(quán),而管理員則擁有所有表的操作權(quán)限。在基本表的設(shè)計(jì)中,為了能達(dá)到最佳的數(shù)

14、據(jù)表結(jié)構(gòu),必須遵循一定的準(zhǔn)則和標(biāo)準(zhǔn),其中為了避免數(shù)據(jù)庫中的表現(xiàn)出現(xiàn)數(shù)據(jù)冗余、數(shù)據(jù)不一致等現(xiàn)象,必須遵循數(shù)據(jù)表的范式要求,常用的范式有第一范式、第二范式和第三范式。根據(jù)分析,本系統(tǒng)應(yīng)該滿足第三范式,第三范式(3nf)是要求一個(gè)數(shù)據(jù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。所以在滿足第三范式的要求下,系統(tǒng)設(shè)計(jì)過程中應(yīng)該有以下數(shù)據(jù)表:學(xué)生信息表、管理員信息表、學(xué)生成績信息表、科目信息表、題庫信息表。3.1 數(shù)據(jù)字典設(shè)計(jì)數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是各類數(shù)據(jù)結(jié)構(gòu)和屬性的清單。它貫穿于數(shù)據(jù)庫需求分析直到數(shù)據(jù)庫運(yùn)行的全過程,在不同的階段其內(nèi)容形式和用途各有區(qū)別,在需求分析階段,它通常包含以五個(gè)部

15、分內(nèi)容:數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流,數(shù)據(jù)存儲,處理過程。歸結(jié)起來分為實(shí)體信息和實(shí)體之間的聯(lián)系。網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫文件為exam.mdb,其中所包含的信息集為學(xué)生信息、管理員信息、學(xué)生成績、題庫信息、考卷信息。學(xué)生信息集主要是存儲學(xué)生的相關(guān)信息,管理員信息集主要是存儲管理員的相關(guān)信息,成績信息集主要是用來存儲學(xué)生成績,題庫信息集主要用來存儲各科目的題庫信息,試卷信息集主要是用來存儲各考試科目的試卷相關(guān)信息。1.“學(xué)生表”是一個(gè)數(shù)據(jù)文件,其條目內(nèi)容與書寫格式如表3.1所示:表3.1數(shù)據(jù)文件“學(xué)生表”字典條目文件名:學(xué)生表組成:學(xué)生編號+學(xué)生用戶名+密碼2.“管理員表”是一個(gè)數(shù)據(jù)文件,其條目內(nèi)容與書寫

16、格式如表3.2所示:表3.2數(shù)據(jù)文件“管理員表”字典條目文件名:管理員組成:管理員編號+管理員用戶名+密碼3.“分?jǐn)?shù)表”是一個(gè)數(shù)據(jù)文件,其條目內(nèi)容與書寫格式如表3.3所示:表3.3數(shù)據(jù)文件“分?jǐn)?shù)表”字典條目文件名:分?jǐn)?shù)表組成:分?jǐn)?shù)編號+學(xué)生用戶名+科目+分?jǐn)?shù)+日期4.“題庫表”是一個(gè)數(shù)據(jù)文件,其條目內(nèi)容與書寫格式如表3.4所示:表3.4數(shù)據(jù)文件“題庫表”字典條目文件名:題庫表組成:考題編號+題目+a項(xiàng)+ b項(xiàng)+ c項(xiàng)+ d項(xiàng)+答案+科目+隨機(jī)抽題標(biāo)識5.“科目表”是一個(gè)數(shù)據(jù)文件,其條目內(nèi)容與書寫格式如表3.5所示:表3.5數(shù)據(jù)文件“科目表”字典條目文件名:科目表組成:科目編號+單選數(shù)目+多選數(shù)

17、目+ 單選分值+ 多選分值+ 科目名+答案+測試時(shí)間3.2系統(tǒng)e-r圖的設(shè)計(jì)系統(tǒng)的總體e-r圖如圖3.1所示:圖3.1 系統(tǒng)的總體e-r圖學(xué)生信息實(shí)體e-r圖如圖3.2所示:圖3.2 學(xué)生信息實(shí)體e-r圖管理員信息實(shí)體e-r圖如圖3.3所示:圖3.3 管理員信息實(shí)體e-r圖試卷信息實(shí)體e-r圖如圖3.4所示:圖3.4 試卷信息實(shí)體e-r圖成績信息實(shí)體e-r圖如圖3.5所示:圖3.5 成績信息實(shí)體e-r圖題庫信息實(shí)體e-r圖如圖3.6所示:圖3.6 題庫信息實(shí)體e-r圖3.3基本數(shù)據(jù)表設(shè)計(jì)【學(xué)生信息表】只有登陸的學(xué)生才能參與考試,所以必須建立一個(gè)學(xué)生信息表來收集學(xué)生的登陸信息,學(xué)生登陸身份的獲得

18、必須通過管理員進(jìn)行添加,管理員能夠改變學(xué)生的登錄密碼并添加新的學(xué)生用戶。會員信息表里包括用戶編號、用戶名、密碼三類信息。詳細(xì)的會員信息如下表3.6所示:表3.6 學(xué)生信息表字 段說 明類型(長度)備 注id標(biāo)識長整形主鍵,自動(dòng)編號studentname登陸賬號文本不允許為空studentpassword登錄密碼文本不允許為空【科目表】學(xué)生想要考試則必須抽取試卷,但試卷生成需要足夠的試卷信息,因此就有了科目信息表。但是科目信息表,學(xué)生只有使用權(quán),只有管理員擁有科目表信息的添加、修改、刪除的權(quán)限??颇勘碇饕ㄓ脩艟幪?、單選分值、多選分值、單選題量、多選題量、科目名稱、考試時(shí)間七類信息。詳細(xì)的科目

19、信息如下表3.7所示:表3.7 科目表設(shè)計(jì)字 段說 明類型(長度)備 注id標(biāo)識長整形主鍵,自動(dòng)編號multiper多選題每題分?jǐn)?shù)數(shù)字sigleper單選題每題分?jǐn)?shù)數(shù)字multinumber多選題題量數(shù)字siglenumber單選題題量數(shù)字subjectname科目名稱文本不允許為空testtime考試時(shí)間數(shù)字【試題表】學(xué)生想要考試則必須抽取試卷,但試卷生成需要足夠的對應(yīng)科目的試題,因此就有了試題信息表。但是試題信息表,學(xué)生只有使用權(quán),只有管理員擁有試題表信息的添加、修改、刪除的權(quán)限。試題表主要包括用戶編號、問題、各個(gè)選項(xiàng)內(nèi)容、答案、試題類型、科目名稱、是否選取信息。詳細(xì)的試題信息如下表3.8

20、所示:表3.8 試題表設(shè)計(jì)字 段說 明類型(長度)備 注id標(biāo)識長整形主鍵,自動(dòng)編號question試題問題內(nèi)容文本不允許為空aa選項(xiàng)內(nèi)容文本不允許為空bb選項(xiàng)內(nèi)容文本不允許為空cc選項(xiàng)內(nèi)容文本不允許為空dd選項(xiàng)內(nèi)容文本不允許為空answer答案文本不允許為空type試題類型文本不允許為空subjectname科目名稱文本不允許為空haveselect是否選取數(shù)字默認(rèn)0haveselect的值為1則表示已抽取,為0表示未抽取,添加此項(xiàng)是為了防止題目重復(fù)抽取。【考分表】學(xué)生考試結(jié)束后,將會得到考試結(jié)果分?jǐn)?shù),因此就有了考分信息表。但是考分信息表,學(xué)生只有查詢權(quán),只有管理員擁有考分表信息的添加、修改

21、、刪除的權(quán)限??挤直碇饕ㄓ脩艟幪?、學(xué)生登錄名、科目名稱、分?jǐn)?shù)、考試結(jié)束時(shí)間信息。詳細(xì)的考分信息如下表3.9所示:3.9 考分表設(shè)計(jì)字 段說 明類型(長度)備 注id標(biāo)識長整形主鍵,自動(dòng)編號studentname學(xué)生登錄名文本不允許為空subjectname科目名稱文本不允許為空score分?jǐn)?shù)數(shù)字endtime考試結(jié)束時(shí)間日期/時(shí)間【管理員表】網(wǎng)上考試系統(tǒng)需要有人對用戶、試題、科目、成績四項(xiàng)進(jìn)行管理,而管理員就執(zhí)行此類功能。但是管理員信息表,只有管理員擁有管理員表信息的添加、修改、刪除的權(quán)限。管理員表主要包括用戶編號、學(xué)生登錄名、登錄密碼信息。詳細(xì)的管理員信息如下表3.10所示:表3.10

22、管理員表字 段說 明類型(長度)備 注id標(biāo)識長整形主鍵,自動(dòng)編號name管理員登陸賬號文本不允許為空passeword管理員登錄密碼文本不允許為空第四章 軟件功能及模塊的設(shè)計(jì)實(shí)現(xiàn)當(dāng)對數(shù)據(jù)表的設(shè)計(jì)完成之后,即要對系統(tǒng)的功能模塊進(jìn)行設(shè)計(jì)。dreamweaver是macromedia公司推出的主頁編輯工具,在不用書寫一行代碼的情況下,就能夠快速創(chuàng)建各種極具動(dòng)態(tài)特性的網(wǎng)頁。在本次設(shè)計(jì)中主要使用dreamweaver制作界面和實(shí)現(xiàn)部分功能,再加上使用vbscript進(jìn)行編程,兩者結(jié)合完成了各個(gè)模塊的設(shè)計(jì)。activex data objects(ado)是微軟最新的數(shù)據(jù)訪問技術(shù),數(shù)據(jù)庫access和a

23、sp通過ado來實(shí)現(xiàn)連接,ado使用內(nèi)置的recordsets對象作為數(shù)據(jù)的主要接口,使用vbscript語言來控制對數(shù)據(jù)庫的訪問。4.1總體設(shè)計(jì)方案本系統(tǒng)是一個(gè)網(wǎng)上考試系統(tǒng),因此是一個(gè)電子教育網(wǎng)站。傳統(tǒng)的c/s(客戶機(jī)/服務(wù)器)架構(gòu)通常適合于開發(fā)面向企業(yè)內(nèi)部的應(yīng)用,例如庫存管理信息系統(tǒng)。作為面向internet上的web應(yīng)用,需要使用b/s(瀏覽器/服務(wù)器)架構(gòu)。這種方式簡單易學(xué),客戶端使用人們上網(wǎng)沖浪時(shí)使用的ie瀏覽器即可,因此b/s架構(gòu)能夠得到迅速發(fā)展。隨著電子商務(wù)的高速發(fā)展,b/s架構(gòu)甚至已經(jīng)取代了許多傳統(tǒng)的c/s架構(gòu)的市場。windows server 2010 是windows操作

24、系統(tǒng)中的一種,屬于服務(wù)器或企業(yè)使用的操作系統(tǒng)。它具有如下優(yōu)點(diǎn):穩(wěn)定性佳,能提供所以的windows服務(wù)功能;數(shù)據(jù)安全性強(qiáng),善于處理商業(yè)數(shù)據(jù),同時(shí)集成了iis信息服務(wù)器。dreamweaver是macromedia公司推出的主頁編輯工具。dreamweaver不僅提供了強(qiáng)大的網(wǎng)頁編輯功能,而且提供了完善的站點(diǎn)管理機(jī)制,同時(shí)提供了強(qiáng)大的設(shè)計(jì)工具,在不用書寫一行代碼的情況下,就能夠快速創(chuàng)建各種極具動(dòng)態(tài)特性的網(wǎng)頁。在選用數(shù)據(jù)庫時(shí)宜使用microsoft access,這種數(shù)據(jù)庫能提供關(guān)系管理系統(tǒng)rdbms 核心和一組外圍管理工具軟件采用標(biāo)準(zhǔn)數(shù)據(jù)庫語言和遠(yuǎn)程數(shù)據(jù)訪問標(biāo)準(zhǔn),能夠?qū)崿F(xiàn)網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)庫之間互聯(lián)

25、。基于以上分析,確定系統(tǒng)在微軟的windows server 2010系列的平臺上運(yùn)行,使用iis7.0信息服務(wù)器作為web服務(wù)器,使用dreamweaver8和asp完成動(dòng)態(tài)交互功能,后臺使用access數(shù)據(jù)庫。系統(tǒng)的總體功能設(shè)計(jì)如圖4.1所示。圖4.1 系統(tǒng)總體功能設(shè)計(jì)4.2創(chuàng)建數(shù)據(jù)庫打開access,在彈出的窗口中選擇使用設(shè)計(jì)器創(chuàng)建表,然后根據(jù)滿足三范式的要求,在表中輸入各個(gè)表對應(yīng)的字段,最后將表分別命名為user、score、admin、question、subject、score.4.3在dreamweaver中建立站點(diǎn)打開dreamweaver 軟件,在菜單欄中選擇站點(diǎn) 管理站點(diǎn)

26、新建 站點(diǎn) ,然后按屏幕提示操作,首先是給站點(diǎn)命名為web_test,然后按下一步,在哪種服務(wù)器技術(shù)欄中選擇 asp vbscript ,再按下一步,在您把文件存儲在計(jì)算機(jī)上的什么位置欄中,選擇“e:web_test ”,按下一步,在您應(yīng)該使用什么url來瀏覽站點(diǎn)的根目錄欄中填寫“http:/localhost:8078/”,單擊下方的“測試url(t)”,如果出現(xiàn)彈出窗口中顯示“url前綴測試已成功”,則按下一步。建好站點(diǎn)后在dreamweaver右下方的文件面板中將出現(xiàn)剛剛命名的站點(diǎn)。4.4系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)4.4.1層樣式在css中要設(shè)置一個(gè)樣式,需要用到css的選擇器,選擇器就是用某

27、個(gè)特定的符號或表達(dá)式,操作頁面上的某類標(biāo)簽的樣式。要設(shè)置一個(gè)層的樣式,首頁要寫一個(gè)層,一般是用<div></div>你可以給它一個(gè)class類,或一個(gè)id,如:<div id="layer"></div>這里給了這個(gè)div一個(gè)id叫l(wèi)ayer,然后用css選擇這個(gè)id為layer的div,如下:#layer,#井號就表示選擇一個(gè)id元素。然后就可以直接操作樣式了。4.4.2錯(cuò)誤調(diào)用未了方便錯(cuò)誤顯示,單獨(dú)建立一個(gè)錯(cuò)誤頁面checkuser.asp,以方便調(diào)用。此頁面定義了兩個(gè)變量:founderror,指示當(dāng)前是否錯(cuò)誤;erro

28、rmsg,錯(cuò)誤信息內(nèi)容。未登錄執(zhí)行登錄操作的會出現(xiàn)出現(xiàn)錯(cuò)誤,此時(shí)founderror會變成true。頁面checkuser.asp定義過程disperrs()用于在網(wǎng)頁顯示錯(cuò)誤信息。如果頁面中founderror的值為true,則使用過程disperrs()顯示保存在errormsg中的錯(cuò)誤信息。圖4.2即為無登陸的錯(cuò)誤提示頁面checkuser.asp。圖4.2 未登錄錯(cuò)誤信息4.4.3數(shù)據(jù)庫的連接新建一個(gè)動(dòng)態(tài)網(wǎng)頁,在【數(shù)據(jù)庫】面版中單擊【添加】按鈕,在彈出的下拉菜單中選擇【自定義字符串】命令,打開自定義連接字符串對話框。在【連接名稱】文本框中輸入conn,在【連接字符串】文本框中輸入如下代

29、碼:"driver=microsoft access driver (*.mdb);dbq="+server.mappath("/web_test/exam.mdb").再“使用測試服務(wù)器上的驅(qū)動(dòng)程序”,然后點(diǎn)擊右方的測試按鈕,如果成功的話,單擊確定,完成連接;否則就需要更新字符串。4.4.4用戶登錄界面的設(shè)計(jì)及功能實(shí)現(xiàn)(一)學(xué)生登錄界面的設(shè)計(jì)及功能實(shí)現(xiàn)學(xué)生要參加網(wǎng)上考試系統(tǒng),首先需要擁有參考資格,即要擁有教師(本設(shè)計(jì)中教師不單獨(dú)存在,而以管理員身份存在)或者管理員分配的賬號和密碼。為學(xué)生分配考試資格只需要為要參加考試的學(xué)生添加一個(gè)賬號和密碼,然后學(xué)生使

30、用該賬號和密碼就可以登錄網(wǎng)絡(luò)網(wǎng)上考試系統(tǒng)參加考試。學(xué)生登陸的設(shè)計(jì)界面如下圖4.3所示:圖4.3 學(xué)生登錄界面通過上圖界面的“登錄”按鈕進(jìn)行學(xué)生登錄,通過“管理”按鈕跳轉(zhuǎn)至管理員登陸界面。(二)管理員登陸界面的設(shè)計(jì)及功能實(shí)現(xiàn)管理員或者教師要對系統(tǒng)的各種信息實(shí)現(xiàn)操作,首先需要擁有登錄資格,即要擁有教師(本設(shè)計(jì)中教師不單獨(dú)存在,而以管理員身份存在)或者管理員分配的賬號和密碼。擁有管理員資格賬號和密碼操作權(quán)限的只有同身為管理員身份的第二人,擁有管理員資格后,管理員或教師就可以登錄網(wǎng)絡(luò)網(wǎng)上考試系統(tǒng)后臺,對各種系統(tǒng)信息進(jìn)行操作。管理員登陸的設(shè)計(jì)界面如下圖4.4所示:圖4.4 管理員登錄界面通過上圖界面的“

31、登錄”按鈕進(jìn)行管理員登錄,通過“退出”按鈕跳轉(zhuǎn)至學(xué)生登陸界面。4.4.5管理歡迎界面的設(shè)計(jì)及功能實(shí)現(xiàn)管理員登陸成功后將轉(zhuǎn)入此管理歡迎界面,以根據(jù)實(shí)際需要來選擇進(jìn)一步操作,進(jìn)一步操作包括學(xué)生信息管理、管理員信息管理、考試科目管理、學(xué)生成績管理四種功能模塊的鏈接。管理歡迎界面的設(shè)計(jì)如下圖4.5所示:圖4.5 管理歡迎界面4.4.6學(xué)生管理界面的設(shè)計(jì)及功能實(shí)現(xiàn)(一)學(xué)生管理界面以管理員身份登錄系統(tǒng)后,首次打開頁面mgstudent.asp的執(zhí)行結(jié)果如下圖4.6所示。頁面上半部分包含已有學(xué)生信息的列表,下半部分為增加學(xué)生的表單。表單僅含有兩個(gè)文本框,即用用戶名稱和密碼文本框。圖4.6 學(xué)生管理界面(二

32、)學(xué)生編輯界面在上圖4.6中,選中某個(gè)學(xué)生后單擊“編輯”鏈接,將以url參數(shù)的形式打開mgstudent.asp頁面?!熬庉嫛辨溄佣x的url參數(shù)為“student=<%=trim(rs(“studentname”)%> &action=edit”,在如圖4.7的界面所示的瀏覽器地址中將可以看到“studentname=df”和“action=edit”圖4.7 學(xué)生管理界面編輯界面頁面mgstudent.asp根據(jù)“request(“action”)=“edit”判斷開始修改學(xué)生信息,設(shè)置局部變量“isedit=true”,然后現(xiàn)實(shí)文本“編輯學(xué)生信息”,并顯示要修改的學(xué)生

33、名稱,在文本框中有學(xué)生的原始代碼,如圖4.7所示。此界面代碼(見附錄代碼1-1)的作用是修改學(xué)生的密碼,通過單擊“確定”按鈕提交表單給mgstudent.asp頁面自身。頁面mgstudent.asp根據(jù)“request(“action”)=“modify”判斷修改學(xué)生信息。首先使用“if trim (request(“studentpassword”)=“”判斷密碼不能為空,然后將學(xué)生的信息更新到數(shù)據(jù)庫中。更新成功后,重新回到如圖所示的學(xué)生信息列表。(三)學(xué)生添加界面如圖4.8所示,在“用戶名”和“用戶密碼”文本框中輸入學(xué)生的名稱和密碼,然后單擊“確定”按鈕將提交表單給mgstudent.a

34、sp頁面自身。圖4.8 添加學(xué)生界面在此界面的功能實(shí)現(xiàn)代碼中,頁面mgstudent.asp根據(jù)“request(“action”)=“add”開始增加學(xué)生。首先使用語句“if trim (request(“studentname”)=“”or trim(request(“studentpassword”)=“”判斷用戶名稱和用戶密碼是否為空,如果不為空則檢查數(shù)據(jù)庫中是否有重復(fù)的學(xué)生存在。然后使用sql語句insert插入學(xué)生信息到數(shù)據(jù)庫中。學(xué)生信息插入成功后,彈出提示對話框,如圖4.9所示。單擊“確定”按鈕,顯示如圖4.6所示頁面。新增加的學(xué)生信息會出現(xiàn)在學(xué)生信息列表的底部。圖4.9 添加成

35、功彈出窗口(四)學(xué)生刪除界面在圖4.6中,選中某個(gè)學(xué)生后單擊“刪除”鏈接,將彈出確認(rèn)對話框,確認(rèn)是否刪除,如圖4.10所示?!皠h除”鏈接定義為“<a href=javascript:suredel(“&cstr(rs(“id”)&”)>刪除</a>”,其中suredel為客戶端javascript函數(shù)。suredel函數(shù)也使用url參數(shù)打開mgstudent.asp頁面,url參數(shù)為action=del&id=+id。在圖4.10中,單擊“確定”按鈕,使用url參數(shù)打開mgstudent.asp頁面,mgstudent.asp頁面根據(jù)reques

36、t(“action”)=“del”判斷刪除學(xué)生信息。代碼層面,使用sql語句delete從數(shù)據(jù)庫中刪除該學(xué)生的信息,刪除成功后返回到如圖4.6所示的學(xué)生信息列表,被刪除學(xué)生的信息從列表中消失。4.4.7考試科目管理界面的設(shè)計(jì)及功能實(shí)現(xiàn)科目管理界面是網(wǎng)上考試系統(tǒng)中的一個(gè)很重要的部分,每個(gè)科目對應(yīng)一門考試。一科考試包含有若干試題,在添加完科目以后可以添加考試試題??颇康男畔荚囋囶}的類型、每種類型的試題數(shù)量和每題分值等。mgsubject.asp也是一個(gè)自響應(yīng)頁面,同mgstudent.asp頁面一樣也將添加、刪除和修改科目放在一個(gè)頁面內(nèi)完成;但“管理”鏈接文字則不同于其他鏈接文字,它將頁面?zhèn)?/p>

37、至新的鏈接頁面:mgquestion.asp。(一)考試科目管理界面以管理員身份登錄系統(tǒng)后,首次打開頁面mgsubject.asp的執(zhí)行結(jié)果如下圖4.10所示。頁面上半部分包含已有科目信息的列表,下半部分為增加科目的表單。表單僅含有多個(gè)文本框,包括科目名稱、考試時(shí)間、單選題題量、多選題題量、單選題分值、多選題分值等。圖4.10 考試科目管理界面(二)編輯考試科目區(qū)域在上圖4.6中,選中某個(gè)科目后單擊“編輯”鏈接,將以url參數(shù)的形式打開mgsubject.asp頁面。參數(shù)為“subjectname=計(jì)算機(jī)&action=edit”?!熬庉嫛辨溄拥亩x是“mgsubject.asp?su

38、bjectname=<%=trim(rs(“subjectname”) %>action=edit”。修改編輯完成之后,單擊“確定”按鈕提交科目信息表單,將打開自身頁面mgsubject.asp,修改的科目將取代原科目的位置出現(xiàn)在科目列表中。界面如下圖4.11所示:圖4.11 考試科目編輯區(qū)域(三)添加考試科目區(qū)域下圖4.12所示添加考試科目區(qū)域?qū)儆陧撁鎚gsubject.asp,此頁面根據(jù)request(“action”)=“add”開始增加考試科目。判斷輸入的考試時(shí)間、單選題題量、多選題題量、單選題分值、多選題分值是否為空,如果不為空,使用sql語句insert插入考試科目到數(shù)

39、據(jù)庫中。新增加的考試科目信息會出現(xiàn)在考試科目列表底部。圖4.12 添加考試科目區(qū)域(四)刪除考試科目下圖4.13所示刪除考試科目功能屬于頁面mgsubject.asp,如果request(“action”)=“del”,使用sql語句delete從數(shù)據(jù)庫中刪除考試科目信息,刪除成功后返回如圖4.10所示的考試科目信息列表,被刪除考試科目的信息從列表中消失?!皠h除”鏈接的定義是“mgsubject.asp?action=del&id”+id”。圖4.13 刪除考試科目彈出框4.4.8管理考試試題考試試題的管理師考試系統(tǒng)的核心部分。在添加完科目后可以為該科目添加試題,試題頁面mgquest

40、ion.asp同學(xué)生管理與科目管理頁面一樣,也是一個(gè)自響應(yīng)頁面,它將添加、刪除、修改試題放在同一個(gè)頁面內(nèi)完成。在圖4.10中,單擊某個(gè)科目后的“考題管理”鏈接,打開頁面mgquestion.asp,并傳遞url參數(shù)“subjectname=”。頁面mgquestion.asp首先根據(jù)subjectname查詢所有該科目的試題,并列表顯示。然后,根據(jù)request(“action”)是否為edit來顯示修改實(shí)體表單或者增加試題表單,如圖4.14所示。圖4.14 管理考題界面(一) 考題刪除區(qū)域刪除區(qū)域如圖4.15,功能原理與前幾個(gè)界面大致相同。圖4.15 考題刪除彈出框(二) 考題編輯、添加區(qū)域

41、增加考試試題以及修改考試試題的后臺處理頁面是addquestion.asp。如圖4.16所示。填寫增加試題表單中的各項(xiàng)信息,然后單擊“確認(rèn)”按鈕提交表單,既可增加考試試題。圖4.16 增加試題區(qū)域添加的數(shù)據(jù)實(shí)現(xiàn)流程為,先讀取addquestion.asp頁面中提交的表單信息,然后放回mgquestion.asp界面里進(jìn)行列表顯示。而編輯則在最開始的部分增加了讀取數(shù)據(jù)庫的步驟,如圖4.17編輯試題區(qū)域。圖4.17 編輯試題區(qū)域(三) 分頁欄區(qū)域此區(qū)域的作用是顯示分頁欄,并實(shí)現(xiàn)翻頁。本功能應(yīng)用request.write語句實(shí)現(xiàn)。如圖4.18所示。圖4.18 分頁欄區(qū)域4.4.9管理考試分?jǐn)?shù)學(xué)生考試

42、完畢,考試分?jǐn)?shù)被存儲在系統(tǒng)中,教師或者考試管理員可以對學(xué)生的考試分?jǐn)?shù)進(jìn)行管理??荚嚪?jǐn)?shù)管理比較簡單,只包含學(xué)生分?jǐn)?shù)列表,列表后提供“刪除”鏈接,如圖4.19(a)所示,4.19(b)為刪除成功彈出框。圖4.19(a) 成績管理圖4.19(b) 刪除成功彈出框在圖4.19中單擊某門科目后的“刪除”鏈接,使用url參數(shù)“mgscore.asp?action=del&id=”+id”打開mgscore.asp頁面,頁面根據(jù)request(“action”)=“del”執(zhí)行sql語句delete,從數(shù)據(jù)庫中刪除該學(xué)生成績?!胺祷毓芾韱T界面”鏈接則跳轉(zhuǎn)至primarypage.asp。連接字符串

43、4.4.10選擇科目模塊學(xué)生登錄成功后,可以選擇參加考試的科目,實(shí)現(xiàn)選擇考試科目模塊的是selectsubject.asp頁面源代碼。如圖4.20所示,為學(xué)生登陸成功后進(jìn)入的科目選擇頁面。圖4.20 選擇考試科目頁面上半部分顯示學(xué)生已經(jīng)參加過的考試科目和成績,下半部分定義了科目選擇表單,學(xué)生可以選擇其中一個(gè)科目進(jìn)行考試。(一) 選擇考試科目區(qū)域在圖4.21中,選擇一個(gè)科目,然后單擊“下一步”按鈕提交表單,將打開自身頁面,頁面根據(jù)request.form(“submit”)=“下一步”開始處理考試科目信息。根據(jù)學(xué)生賬號查找學(xué)生考試成績表中是否存在該學(xué)生該科目的成績。如果存在,該學(xué)生不能再參加此科

44、目的考試,顯示圖2.22已考科目提示;如果不存在該學(xué)生該科目的成績,從科目信息表中查詢該科目的信息并保存到session中,然后使用客戶端javascript函數(shù)tgotourl(“examine.asp”),打開考試頁面。圖2.21考試科目選擇界面如果已經(jīng)考過此門科目則將顯示如下提示:圖2.22 已考科目提示(二) 隨機(jī)抽題模塊詳解本部分以單選題為例,詳細(xì)敘述下,隨機(jī)抽題的過程:程序首先創(chuàng)建testform表單,提交表單數(shù)據(jù)給getresult.asp。然后從question數(shù)據(jù)表中讀取所選科目并且選取haveselect為0(即沒有被選擇過的)的單選記錄。而后使用temp=fix(coun

45、t*rnd(10)獲得隨機(jī)的單選題記錄。最后將已經(jīng)選擇的單選題的haveselect屬性值設(shè)為1。其中,rnd()函數(shù)用于產(chǎn)生一個(gè)小于1大于0的隨機(jī)數(shù)值,該函數(shù)必須與randomize()結(jié)合使用,表達(dá)式:rnd(number)。程序?qū)嵗白⑨屓缦拢簞?chuàng)建testform表單,提交表單數(shù)據(jù)給getresult.asp<form method="post" action="getresult.asp" name="testform">創(chuàng)建表格 <table border="0" cellspacing

46、="0" bordercolor="#111111" width="100%" > <tr><td width="100%" height="25"><b><font size="3" color="#000080">一、單項(xiàng)選擇題(每題<%=session("singleper")%>分,共<%=session("singlenumber")%

47、>題)</font></b></td> </tr> </table><% strid1="" strid2="" '從試題表隨即抽出試卷指定數(shù)量的單選題 randomize for i=1 to session("singlenumber")查詢所有的數(shù)據(jù)庫中的單選題記錄 set rs=server.createobject("adodb.recordset")創(chuàng)建rs記錄集從question數(shù)據(jù)表中讀取所選科目和沒有被選過的單選題記錄

48、 sql="select * from question where subjectname='"&session("selectsubjectname") & "'and type='單選題' and haveselect=0 " rs.open sql,conn,3,2打開數(shù)據(jù)庫 count=rs.recordcount統(tǒng)計(jì)記錄數(shù)量 temp=fix(count*rnd(10)獲得隨機(jī)數(shù)記錄 rs.move temp移動(dòng)到隨機(jī)記錄 rs("haveselect")

49、=1寫入已經(jīng)選擇標(biāo)識 strid1=strid1 & rs("id") & "," '顯示題目%>(三)顯示考試結(jié)果區(qū)域圖4.23的作用是現(xiàn)實(shí)selectsubject.asp頁面上半部分,這里顯示了學(xué)生已經(jīng)參加的科目和考試成績。圖4.23 顯示考試結(jié)果4.4.11考試答題考生選擇了考試科目后,正式進(jìn)入考試頁面開始考試,考試頁面的執(zhí)行結(jié)果如圖4.24所示。圖4.24 進(jìn)入考試頁面在圖4.24中單擊“開始考試”按鈕,提交表單給自身頁面,頁面根據(jù)request.form(“submit”)=“開始考試”判斷學(xué)生選擇開始考試進(jìn)行考

50、試答題,開始答題頁面如圖4.25所示。4.25 開始答題在圖4.24至圖4.25之間有后臺程序運(yùn)行,步驟如下:1生成試卷:使用在選擇科目頁面中保存在session中的科目信息,將該科目考試的信息首先插入到數(shù)據(jù)庫分?jǐn)?shù)表中,然后使用rs.update語句更新數(shù)據(jù)庫。2提交試卷:該頁面用于顯示該科目總的考試時(shí)間,并使用客戶端javascript函數(shù)顯示當(dāng)前學(xué)生已經(jīng)答題的時(shí)間。考試時(shí)間到了以后,則自動(dòng)交卷,如圖4.26自動(dòng)提交彈出框。圖4.26 自動(dòng)提交彈出框3抽取及顯示試題:先查找符合條件的單選或多選,系統(tǒng)隨機(jī)抽題后,顯示出來即生成了試卷。4.4.12批閱試卷在考試答題頁面中,在運(yùn)行“交卷”功能后,

51、將會打開getresult.asp,執(zhí)行后:1 計(jì)算單選題得分:首先從session變量中讀取有關(guān)該科目考試的信息,然后循環(huán)讀取學(xué)生試卷中的單選題的答案,與數(shù)據(jù)庫查詢答案結(jié)果比較,計(jì)算單選題得分。2 使用1的方法計(jì)算多選題,然后將學(xué)生考試分?jǐn)?shù)、試卷總分?jǐn)?shù)等信息保存到session變量中,并重定向到考試結(jié)果顯示頁面result.asp。4.4.13顯示考試結(jié)果統(tǒng)計(jì)過考生成績后,系統(tǒng)自動(dòng)將考試結(jié)果顯示在result.asp頁面上,如圖4.27所示。圖4.27 顯示考試結(jié)果此界面的作用是讀取session中的考試分?jǐn)?shù)、考卷總分等信息,并顯示出來。第五章 軟件程序框圖5.1學(xué)生登錄考試模塊流程圖圖5.

52、1 學(xué)生用戶登錄考試模塊的流程圖用戶登錄模塊的流程圖如圖5.1 所示,用戶登錄主要是通過判斷用戶名和密碼是否匹配,也就是要和數(shù)據(jù)庫中用戶名和密碼一一對應(yīng)才能登錄成功。登陸成功后,轉(zhuǎn)向考生頁面。5.2管理員登錄模塊流程圖圖5.2管理員登錄模塊流程圖用戶登錄模塊的流程圖如圖5.1 所示,用戶登錄主要是通過判斷用戶名和密碼是否匹配,也就是要和數(shù)據(jù)庫中用戶名和密碼一一對應(yīng)才能登錄成功。登陸成功后,轉(zhuǎn)向管理員頁面。5.3學(xué)生考試流程圖圖5.3學(xué)生考試流程圖學(xué)生考試是此次系統(tǒng)設(shè)計(jì)的最主要所在。本流程的主要部分是:數(shù)據(jù)庫的鏈接,數(shù)據(jù)記錄集的各種基本操作,rnd()隨機(jī)數(shù)的產(chǎn)生,session的存儲數(shù)據(jù)應(yīng)用及

53、數(shù)據(jù)傳遞,haveselect的標(biāo)識的使用,此外當(dāng)然還有數(shù)據(jù)庫的頻繁操作,包括查詢、修改、刪除。 具體的各代碼功能可參見附錄注釋。5.4信息管理流程圖圖5.4信息管理流程圖當(dāng)用戶登錄成功后及轉(zhuǎn)向相應(yīng)的操作頁面,管理員身份擁有管理權(quán)限當(dāng)?shù)顷懗晒?,會對?yīng)四個(gè)表的操作轉(zhuǎn)移界面,點(diǎn)擊鏈接文字后則對應(yīng)轉(zhuǎn)到相應(yīng)的數(shù)據(jù)庫進(jìn)行操作,操作包括添加、修改、刪除,隱形部分包括數(shù)據(jù)庫查詢,這屬于默認(rèn)的功能,所以沒有操作按鈕,而是直接顯示出來,以上三種操作均已request對象的action狀態(tài)作為標(biāo)識,以用來讀取對應(yīng)數(shù)據(jù)信息;并建立rs記錄集,同時(shí)使用.close和.update來實(shí)現(xiàn)關(guān)閉及更新數(shù)據(jù)記錄集功能。5.

54、5添加流程圖圖5.5添加流程圖這是此系統(tǒng)應(yīng)用最頻繁的流程之一,先判斷request對象傳送的action是否為add,如果真,則添加用戶,此外還需判斷用戶名和密碼是否為空和用戶名是否重名,如果沒有則將記錄放置進(jìn)rs記錄集中。5.6刪除流程圖圖5.6刪除流程圖這是此系統(tǒng)應(yīng)用最頻繁的流程之一,先判斷request對象傳送的action是否為del,如果真,則刪除用戶,此外還需創(chuàng)建suredel()函數(shù),確認(rèn)是否刪除用戶。5.7修改流程圖圖5.7修改流程圖這是此系統(tǒng)應(yīng)用最頻繁的流程之一,先判斷request對象傳送的action是否為modify,如果真,則允許修改用戶,將編輯后將記錄放置進(jìn)rs記錄

55、集中。當(dāng)然在不同情況下,編輯的語句使用不盡相同,例如在學(xué)生用戶管理中,用戶名不可修改,密碼可修改;而在考題修改中,任何數(shù)據(jù)都可修改。第六章 軟件測試及調(diào)試對于本網(wǎng)上考試系統(tǒng)的設(shè)計(jì),旨在模擬實(shí)現(xiàn)考生遠(yuǎn)程網(wǎng)上考試的過程,同時(shí)網(wǎng)站的設(shè)計(jì)也必須符合一般的考試設(shè)計(jì),所以根據(jù)考試的需要,本次網(wǎng)站畢業(yè)設(shè)計(jì)按照模塊式逐步實(shí)現(xiàn)和完成,這樣做能夠方便調(diào)試和檢查錯(cuò)誤,及時(shí)發(fā)現(xiàn)錯(cuò)誤并修改,進(jìn)而完成下一步的設(shè)計(jì)。所以在整個(gè)設(shè)計(jì)過程中都是以模塊為基礎(chǔ),逐步調(diào)試,這樣使得測試和調(diào)試井然有序,相對簡單。本次網(wǎng)站的界面設(shè)計(jì)采用的軟件是dreamweaver8,它能夠很方便的制作出各種界面和實(shí)現(xiàn)一部分的模塊功能。在用dreamw

56、eaver8做界面時(shí)一定要先熟悉它的使用和各個(gè)菜單的功能,要知道表格、表單、插入圖像等基本操作,例如在表格中插入圖片一定要注意圖片的地址,否則就不能正常顯示。這時(shí)只需要修改一下圖片的地址,例如改為圖片的相對地址就可以。其實(shí)之所以選擇dreamweaver8做開發(fā)工具,是因?yàn)樵谠O(shè)計(jì)過程中,如果不慎出現(xiàn)了錯(cuò)誤,在預(yù)覽界面時(shí)dreamweaver8就會自動(dòng)報(bào)錯(cuò),而且會提示錯(cuò)誤的具體類型和具體位置,這為調(diào)試提供極大的方便。在調(diào)試過程中經(jīng)常會出現(xiàn)dreamweaver8報(bào)“名稱重定義”、“找不到相關(guān)記錄集”或“參數(shù)不足”等錯(cuò)誤,剛開始時(shí)對于這些錯(cuò)誤都無從下手,后來通過百度查找相關(guān)資料,嘗試著慢慢修改,逐

57、漸積累了一些常見問題修改的方法,這為后面的測試和調(diào)試打好了基礎(chǔ)。調(diào)試開始前,要設(shè)置好服務(wù)器的iis信息,把主目錄設(shè)置成自己目錄所在位置,否則就找不到測試的主目錄,還要選中腳本資源訪問這個(gè)選項(xiàng),只有設(shè)置好了iis,才能為以后的設(shè)計(jì)和調(diào)試打好基礎(chǔ)。在dreamweaver中建立站點(diǎn)時(shí)也需要注意一些問題,例如“在哪種服務(wù)器技術(shù)”欄中要注意選擇 asp vbscript,因?yàn)楸敬卧O(shè)計(jì)是使用vbscript。 在做頁面跳轉(zhuǎn)時(shí)有時(shí)會遇到傳遞參數(shù)不正確或不足等錯(cuò)誤,這樣就導(dǎo)致模塊之間的銜接不正確,雖然有些模塊是獨(dú)立的,但是有的模塊聯(lián)系還是很緊湊的。例如考題的添加、修改、刪除、查詢是一體的,會員通過查詢獲得信息,點(diǎn)擊編輯、添加、刪除則會使

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論