版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE14目錄1前言 12系統(tǒng)設(shè)計(jì) 12.1系統(tǒng)開發(fā)工具和運(yùn)行環(huán)境 12.2需求分析 12.3細(xì)節(jié)分析和對(duì)應(yīng)方案 23詳細(xì)設(shè)計(jì)方案 33.1服務(wù)器配置 33.2數(shù)據(jù)庫(kù)設(shè)計(jì) 33.2.1數(shù)據(jù)庫(kù)的概念設(shè)計(jì) 43.2.2數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) 43.2.3數(shù)據(jù)庫(kù)的物理設(shè)計(jì) 73.3各功能模塊劃分 93.4主要功能模塊設(shè)計(jì) 103.5主要模塊代碼設(shè)計(jì)及實(shí)現(xiàn) 103.5.1用戶注冊(cè)模塊 103.5.2登陸驗(yàn)證模塊 113.5.3權(quán)限的判定和退出代碼 133.5.4考試頁(yè)面模塊 143.5.5用戶考試信息的保存模塊 173.5.6系統(tǒng)公告板 183.5.7教學(xué)交流模塊 184總結(jié) 195致謝 206參考文獻(xiàn) 211前言為了適應(yīng)網(wǎng)絡(luò)環(huán)境下的教學(xué)要求。設(shè)計(jì)完成的題庫(kù)管理與試卷生成系統(tǒng)的使用對(duì)象為教師和學(xué)生。教師可以利用系統(tǒng)對(duì)不同課程建立題庫(kù)并進(jìn)行管理,根據(jù)不同的要求生成試卷和參考答案,還可以利用系統(tǒng)進(jìn)行在線考試、閱卷評(píng)分。學(xué)生可以利用系統(tǒng)進(jìn)行練習(xí)和模擬考試,提高學(xué)習(xí)成績(jī)。隨著Internet和Web技術(shù)的發(fā)展傳統(tǒng)教學(xué)手段和方式已經(jīng)發(fā)生了根本性變革,特別在考試方式上有了重大突破,向無(wú)紙化網(wǎng)絡(luò)考試發(fā)展。一個(gè)完備的網(wǎng)絡(luò)考試系統(tǒng)可以使教師有目的地選題組卷,隨時(shí)測(cè)試學(xué)生相關(guān)知識(shí)的掌握情況,并及時(shí)得到反饋,從而發(fā)現(xiàn)并解決教學(xué)中存在的問(wèn)題,調(diào)整教學(xué)進(jìn)度,提高教學(xué)效果;學(xué)生能通過(guò)它在學(xué)習(xí)過(guò)后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,發(fā)現(xiàn)自己的不足,使學(xué)習(xí)效率得到很大提高。2系統(tǒng)設(shè)計(jì)2.1系統(tǒng)開發(fā)工具和運(yùn)行環(huán)境本系統(tǒng)采用ASP內(nèi)嵌VBScript腳本和HTML建立高效的Web服務(wù)器程序,查詢語(yǔ)言采用通用SQL查詢語(yǔ)句,后臺(tái)數(shù)據(jù)庫(kù)選用MicrosoftAccess,服務(wù)器端使用Windows2000Server操作系統(tǒng),并安裝IIS,客戶端通過(guò)瀏覽器完成系統(tǒng)的全部功能,它的主要優(yōu)點(diǎn)是便于擴(kuò)充、升級(jí)維護(hù)簡(jiǎn)便。2.2需求分析對(duì)于這個(gè)網(wǎng)上學(xué)習(xí)系統(tǒng),其中最重要的就是在線考試模塊,而最重要的功能模塊為題庫(kù)管理、組卷、答題、評(píng)分幾個(gè)模塊。再加上其他的諸如評(píng)價(jià)、留言、公告等輔助性質(zhì)的模塊共同組成完成的學(xué)習(xí)網(wǎng)站。作為網(wǎng)站的使用者,分為學(xué)生、教師和管理人員三種類型,學(xué)生所涉及到的就是登陸和考試,還有就是考試后查詢自己的分?jǐn)?shù),同時(shí)對(duì)試卷做出評(píng)價(jià)。教師則擔(dān)負(fù)著輸入試題、生成試卷的職責(zé),管理人員主要是負(fù)責(zé)信息的收集和發(fā)布。作為輔助功能的模塊如評(píng)價(jià)、留言、公告等模塊是針對(duì)所有用戶開放,只是根據(jù)每類用戶的權(quán)限不同顯示不同內(nèi)容而已,可以通過(guò)對(duì)數(shù)據(jù)庫(kù)的不同字段操作來(lái)實(shí)現(xiàn)。對(duì)于學(xué)生類型的用戶,需要的只是注冊(cè)一個(gè)合法的身份進(jìn)行考試,然后查詢自己的分?jǐn)?shù),所以在其用戶界面上應(yīng)該突出這兩個(gè)功能。其他如留言板,評(píng)價(jià)系統(tǒng)可以在公用部分實(shí)現(xiàn)。教師用戶由于身份的特殊,所以不能自行申請(qǐng),因此將其注冊(cè)的權(quán)限交由管理員控制,教師登陸后主要的任務(wù)就是提交試題并且生成試卷,為了減輕其負(fù)擔(dān),在提交試題界面應(yīng)該盡量做到格式化、簡(jiǎn)單化,避免出錯(cuò)和重復(fù)勞動(dòng)。所以在數(shù)據(jù)庫(kù)的表設(shè)計(jì)中要盡量將字段分細(xì),而在頁(yè)面的設(shè)計(jì)上要分類清晰。而對(duì)于組卷模塊則主要突出一個(gè)組合查詢的功能,使教師能迅速準(zhǔn)確的查找到相應(yīng)的試題,快速組卷。管理員作為一個(gè)綜合信息的收集和發(fā)布者,只需要將所有的信息分門別類的顯示出來(lái),同時(shí)能將需要發(fā)布的信息便捷的發(fā)布到首頁(yè)即可。其中三類用戶和各功能模塊的關(guān)系結(jié)構(gòu)如下圖:圖1用戶和各功能模塊的關(guān)系結(jié)構(gòu)2.3細(xì)節(jié)分析和對(duì)應(yīng)方案為了統(tǒng)一對(duì)數(shù)據(jù)庫(kù)的操作,使用統(tǒng)一的數(shù)據(jù)庫(kù)連接文件,以便訪問(wèn)數(shù)據(jù)庫(kù).為了確保用戶信息的安全,避免別人從指定路徑對(duì)數(shù)據(jù)庫(kù)進(jìn)行下載,應(yīng)當(dāng)將數(shù)據(jù)庫(kù)文件data.mdb該名成data.asp??紤]到導(dǎo)航條、版權(quán)信息等內(nèi)容的相同性,將其做成包含文件,以便供其它文件使用。同時(shí)為了避免用戶在提交表單時(shí)產(chǎn)生不符合標(biāo)準(zhǔn)的數(shù)據(jù),應(yīng)當(dāng)采用腳本語(yǔ)言對(duì)輸入的數(shù)據(jù)進(jìn)行校驗(yàn),盡可能保證數(shù)據(jù)的有效性。學(xué)生、教師和管理員進(jìn)入系統(tǒng)后,系統(tǒng)會(huì)自動(dòng)給予他們不同的用戶級(jí)別從而實(shí)現(xiàn)不同用戶在登陸后不可以隨意通過(guò)指定頁(yè)面進(jìn)入別的用戶界面的設(shè)定。3詳細(xì)設(shè)計(jì)方案3.1服務(wù)器配置Internet信息服務(wù)配置,本系統(tǒng)采用的軟件平臺(tái)為windows2000serve+IIS。打開控制面板,在管理工具中,選擇Internet信息服務(wù)并參照下圖進(jìn)行配置即可。在文檔選項(xiàng)卡中,一定要有你的web網(wǎng)站的首頁(yè)名字,且最好使其置于第一位。圖2Internet信息服務(wù)配置3.2數(shù)據(jù)庫(kù)設(shè)計(jì)先規(guī)劃數(shù)據(jù)庫(kù)的結(jié)構(gòu)(即數(shù)據(jù)庫(kù)由哪些表組成,各個(gè)表之間有何聯(lián)系),再設(shè)計(jì)各個(gè)數(shù)據(jù)表結(jié)構(gòu)(即每個(gè)表由哪些字段組成,每個(gè)字段的數(shù)據(jù)類型);并要設(shè)置好ODBC的配置。本系統(tǒng)采用Access數(shù)據(jù)庫(kù)設(shè)計(jì),Access是Office系列軟件中的一個(gè)專門用來(lái)開發(fā)數(shù)據(jù)庫(kù)的軟件。其功能雖然不如SQLServer強(qiáng)大,但它能勝任本系統(tǒng)所要求的數(shù)據(jù)存取工作。另外,Access對(duì)環(huán)境配置的要求不高,再加上其界面友好、使用方便。因此,對(duì)數(shù)據(jù)訪問(wèn)量不太大的系統(tǒng),Access有它自身的優(yōu)勢(shì)。3.2.1數(shù)據(jù)庫(kù)的概念設(shè)計(jì)圖3數(shù)據(jù)庫(kù)的概念設(shè)計(jì)ER圖3.2.2數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)表1Teachers(老師表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明teacher_id否自動(dòng)編號(hào)長(zhǎng)整型唯一標(biāo)識(shí),數(shù)據(jù)內(nèi)部連接使用teacher_username否文本50教師的用戶名,用來(lái)登陸teacher_password否文本50教師的登陸密碼teacher_name否文本50教師的真實(shí)姓名teacher_intro是文本50教師的介紹teacher_regtime否日期/時(shí)間教師注冊(cè)時(shí)間teacher_phone否文本50教師電話teacher_email否文本50教師電子郵件地址teacher_office否文本50教師所在辦公室索引tecaher_id根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,系統(tǒng)的數(shù)據(jù)庫(kù)主要由以下幾張表構(gòu)成。系統(tǒng)的數(shù)據(jù)庫(kù)主要由老師信息表,學(xué)生信息表,管理員信息表,科目信息表,試題信息表,試題連接信息表,分?jǐn)?shù)信息表,試卷信息表。老師信息表:用來(lái)存儲(chǔ)老師的字段名稱,數(shù)據(jù)類型,字段大小等信息。教師用戶由于身份的特殊,所以不能自行申請(qǐng),因此將其注冊(cè)的權(quán)限交由管理員控制,教師登陸后主要的任務(wù)就是提交試題并且生成試卷,為了減輕其負(fù)擔(dān),在提交試題界面應(yīng)該盡量做到格式化、簡(jiǎn)單化,避免出錯(cuò)和重復(fù)勞動(dòng)。所以在數(shù)據(jù)庫(kù)的表設(shè)計(jì)中要盡量將字段分細(xì),而在頁(yè)面的設(shè)計(jì)上要分類清晰。表2Students(學(xué)生表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明stu_id否自動(dòng)編號(hào)長(zhǎng)整型唯一標(biāo)識(shí),數(shù)據(jù)內(nèi)部連接使用stu_username否文本50學(xué)生的用戶名,用來(lái)登陸stu_password否文本50學(xué)生的登陸密碼stu_name否文本50學(xué)生的真實(shí)姓名stu_phone否文本50學(xué)生的電話class_number否文本50學(xué)生所在班級(jí)stu_description是文本50學(xué)生介紹Stu_addtime否日期/時(shí)間學(xué)生注冊(cè)時(shí)間索引stu_id學(xué)生信息表:用來(lái)存儲(chǔ)學(xué)生的字段名稱,數(shù)據(jù)類型,字段大小等信息。對(duì)于學(xué)生類型的用戶,需要的只是注冊(cè)一個(gè)合法的身份進(jìn)行考試,然后查詢自己的分?jǐn)?shù),所以在其用戶界面上應(yīng)該突出這兩個(gè)功能。其他如留言板,評(píng)價(jià)系統(tǒng)可以在公用部分實(shí)現(xiàn)。表3manage(管理員表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明manage_id否自動(dòng)編號(hào)長(zhǎng)整型管理員IDusername否文本50管理員姓名password否文本50管理員密碼索引manage_id管理員信息表:用來(lái)存儲(chǔ)管理員的字段名稱,數(shù)據(jù)類型,字段大小等信息。管理員作為一個(gè)綜合信息的收集和發(fā)布者,只需要將所有的信息分門別類的顯示出來(lái),同時(shí)能將需要發(fā)布的信息便捷的發(fā)布到首頁(yè)即可。管理員可以查看和管理公告,查看評(píng)教信息,查看管理留言板信息。表4Exper_infor(科目信息表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明exper_id否自動(dòng)編號(hào)長(zhǎng)整型課程編號(hào)exper_name否文本50課程名稱exper_description是文本50課程簡(jiǎn)介索引exper_id科目信息表:用來(lái)存儲(chǔ)科目的字段名稱,數(shù)據(jù)類型,字段大小等信息。針對(duì)本學(xué)期所開設(shè)科目進(jìn)行設(shè)置,提供給學(xué)生選擇。學(xué)生登陸后,選擇某科目,進(jìn)入網(wǎng)上答題頁(yè)面開始答題。表5Que_infor(試題信息表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明que_id否自動(dòng)編號(hào)長(zhǎng)整型唯一標(biāo)識(shí),數(shù)據(jù)內(nèi)部連接使用que_score否數(shù)字長(zhǎng)整型試題分值exper_id否數(shù)字長(zhǎng)整型連接課程表que_addtime否日期/時(shí)間加入時(shí)間que_sub否文本250試題題干que_name否文本50試題名(唯一值)que_description是文本200試題描述que_flag否數(shù)字長(zhǎng)整型試題類型:1單選2多選3判斷索引que_id試題信息表:存儲(chǔ)了試題的字段名稱,數(shù)據(jù)類型,字段大小等信息。每個(gè)物理實(shí)驗(yàn)項(xiàng)目建立若干題目,題目分單選,多選和判斷,并有參考答案和答案說(shuō)明。老師可以添加,修改,刪除題目。表6Que_options(試題連接表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明option_id否自動(dòng)編號(hào)長(zhǎng)整型唯一編號(hào),數(shù)據(jù)內(nèi)部連接使用que_id否數(shù)字長(zhǎng)整形試題ID,連接que_infor表que_option否文本250試題的選項(xiàng)isresult否數(shù)字長(zhǎng)整形答案標(biāo)識(shí):1為正確2為錯(cuò)誤索引option_id試題連接表:用來(lái)存儲(chǔ)試題連接時(shí)試題ID,答案標(biāo)識(shí)等信息,供數(shù)據(jù)內(nèi)部連接時(shí)使用。表7Stu_score(分?jǐn)?shù)表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明score_id否自動(dòng)編號(hào)長(zhǎng)整型唯一編號(hào),數(shù)據(jù)內(nèi)部連接使用stu_id否數(shù)字長(zhǎng)整形學(xué)生ID,連接students表test_id否數(shù)字長(zhǎng)整形試卷ID,連接test-infor表stu_score否數(shù)字長(zhǎng)整形學(xué)生考試分?jǐn)?shù)對(duì)應(yīng)一份試卷exam_time否日期/時(shí)間考試時(shí)間索引score_id分?jǐn)?shù)信息表:用來(lái)存儲(chǔ)分?jǐn)?shù)的字段名稱,數(shù)據(jù)類型,字段大小等信息。表8Test_infor(試卷信息表)字段名稱是否可為空數(shù)據(jù)類型字段大小字段說(shuō)明test_id否自動(dòng)編號(hào)長(zhǎng)整型唯一編號(hào),數(shù)據(jù)內(nèi)部連接使用test_name否文本50試卷名(唯一標(biāo)識(shí))test_description是文本50試卷描述test_addtime否日期/時(shí)間試卷添加時(shí)間test_validtime否日期/時(shí)間試卷到期時(shí)間(此前有效)test_score否數(shù)字長(zhǎng)整形試卷總分索引test_id試卷信息表:用來(lái)存儲(chǔ)試卷的字段名稱,數(shù)據(jù)類型,字段大小等信息。3.2.3數(shù)據(jù)庫(kù)的物理設(shè)計(jì)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)是網(wǎng)上學(xué)習(xí)管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)的重要部分。首先打開ACCESS軟件,新建一個(gè)新庫(kù),設(shè)定路徑好并取名data.mdb,點(diǎn)確定生成一個(gè)新的mdb文件。本系統(tǒng)采用Access數(shù)據(jù)庫(kù)設(shè)計(jì),Access是Office系列軟件中的一個(gè)專門用來(lái)開發(fā)數(shù)據(jù)庫(kù)的軟件。其功能雖然不如SQLServer強(qiáng)大,但它能勝任本系統(tǒng)所要求的數(shù)據(jù)存取工作。另外,Access對(duì)環(huán)境配置的要求不高,再加上其界面友好、使用方便。因此,對(duì)數(shù)據(jù)訪問(wèn)量不太大的系統(tǒng),Access有它自身的優(yōu)勢(shì)。圖4新建新庫(kù)設(shè)定路徑圖5使用設(shè)計(jì)視圖來(lái)創(chuàng)建新表表8設(shè)定好數(shù)據(jù)類型,數(shù)據(jù)長(zhǎng)度圖6將所有表都建立完成并設(shè)置好3.3各功能模塊劃分圖7各功能模塊劃分3.4主要功能模塊設(shè)計(jì)主要功能模塊有學(xué)生信息模塊,教師信息管理模塊,管理員模塊,考試項(xiàng)目模塊,網(wǎng)上測(cè)驗(yàn)?zāi)K,網(wǎng)絡(luò)評(píng)價(jià)模塊,師生交流模塊;學(xué)生信息模塊的功能:學(xué)生的注冊(cè),登陸個(gè)人信息。教師信息模塊的功能:教師的注冊(cè),登陸個(gè)人信息,教師教學(xué)信息為此教師所任科目,一個(gè)教師可以擔(dān)任多門課程,一門課程可由多名教師擔(dān)任。管理員模塊:管理員可以查看和管理公告,查看評(píng)教信息,查看管理留言板信息??荚図?xiàng)目管理:針對(duì)本學(xué)期所開設(shè)科目進(jìn)行設(shè)置,提供給學(xué)生選擇。網(wǎng)上測(cè)驗(yàn)?zāi)K:A.題庫(kù)管理,每個(gè)物理實(shí)驗(yàn)項(xiàng)目建立若干題目,題目分單選,多選和判斷,并有參考答案和答案說(shuō)明。老師可以添加,修改,刪除題目。B.試卷生成模塊:由各實(shí)驗(yàn)教師生成本次試卷,亦可調(diào)用以前試卷。C.網(wǎng)上答題模塊:學(xué)生登陸后,選擇某科目,進(jìn)入網(wǎng)上答題頁(yè)面開始答題,學(xué)生提交答案后給出成績(jī),如果需要看答案說(shuō)明的話可以進(jìn)一步查看答案說(shuō)明;D.成績(jī)查詢:學(xué)生答題完畢后將學(xué)生的登陸帳號(hào),姓名,預(yù)習(xí)項(xiàng)目,預(yù)習(xí)成績(jī)自動(dòng)保存到數(shù)據(jù)庫(kù),可以供師生調(diào)用查看。網(wǎng)絡(luò)評(píng)教模塊:此模塊顯示每個(gè)測(cè)試項(xiàng)目,學(xué)生登陸后可以對(duì)此測(cè)試項(xiàng)目進(jìn)行打分,并且可以留言,發(fā)表對(duì)此教師的意見。分?jǐn)?shù)和留言內(nèi)容自動(dòng)保存到數(shù)據(jù)庫(kù)中,管理員可以查看學(xué)生打分的統(tǒng)計(jì)結(jié)果以及留言內(nèi)容。師生交流模塊:此模塊功能就是一個(gè)留言板,學(xué)生和老師都可以在此留言,管理員可以對(duì)這些留言進(jìn)行回復(fù)。3.5主要模塊代碼設(shè)計(jì)及實(shí)現(xiàn)3.5.1用戶注冊(cè)模塊學(xué)生和教師的注冊(cè)模塊實(shí)現(xiàn)方式一樣,只是寫的表不同,字段信息稍有區(qū)別,目前只將學(xué)生注冊(cè)頁(yè)面放在首頁(yè),這樣可以防止教師ID的惡意注冊(cè),要注冊(cè)教師界面必須通過(guò)管理員身份登陸才能注冊(cè)。用戶輸入想要注冊(cè)的用戶名、密碼,提交之后由系統(tǒng)判斷該用戶是否已經(jīng)存在,如果存在,就給出相應(yīng)信息,如果不存在,就把用戶輸入的用戶名和密碼寫到數(shù)據(jù)庫(kù)中,完成注冊(cè)。當(dāng)用戶注冊(cè)時(shí),搜索數(shù)據(jù)庫(kù)有沒有和用戶要注冊(cè)的帳號(hào)字一樣的。如果有,注冊(cè)失敗,提醒用戶重新選擇一個(gè)帳號(hào)注冊(cè);如果沒有,注冊(cè)成功,將用戶的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。圖8學(xué)生注冊(cè)頁(yè)面主要代碼如下:stu_username=trim(request.form("stu_username"))stu_password1=trim(request.form("stu_password1"))stu_name=trim(request.form("stu_name"))class_number=trim(request.form("class_number"))stu_email=trim(request.form("stu_email"))stu_phone=trim(request.form("stu_phone"))stu_description=trim(request.form("stu_description"))u=1iflen(stu_username)=0orlen(stu_password1)=0orlen(stu_name)=0thenResponse.redirect"stu_register.html"u=0endififlen(class_number)=0orlen(stu_email)=0orlen(stu_phone)=0thenResponse.redirect"stu_register.html"u=0endififlen(cell)=0thencell="None"endifresponse.write"<center>注冊(cè)成功</center>"endifendif3.5.2登陸驗(yàn)證模塊主要是提供登錄的地方。當(dāng)用戶提交用戶名和密碼后,讀取數(shù)據(jù)庫(kù)拿到密碼,再和用戶提交的密碼對(duì)比,判斷密碼正誤。如密碼正確,就通過(guò)把學(xué)生的id和用戶名寫入COOKIES,錯(cuò)誤則報(bào)錯(cuò)。用來(lái)在后面的頁(yè)面判斷是否登陸和相應(yīng)的權(quán)限,這樣避免了在每個(gè)頁(yè)面都提交數(shù)據(jù),讀取數(shù)據(jù)庫(kù),節(jié)省了網(wǎng)絡(luò)和系統(tǒng)的資源。登陸驗(yàn)證的代碼如下:shenfen=trim(request("shenfen"))isPostBack=trim(Request("IsPostBack")+"")'用來(lái)判斷用戶是否提交了信息msgErr=""'提交了的話,會(huì)同時(shí)傳回ISPOSTBACK數(shù)據(jù)ifisPostBack="PostBack"thenusername=trim(Request("username")+"")password=trim(Request("password")+"") ifshenfen="student"then'通過(guò)下拉框的值,來(lái)判定用戶類型,并以用戶提交的用戶名為條件查詢數(shù)據(jù)庫(kù)取得密碼strsql="selectstu_id,stu_username,iif(IsNull(stu_password),'',stu_password)aspass"strsql=strsql+"fromstudentswherestu_username='"+username+"'"Setrs=Server.CreateObject("ADODB.Recordset")rs.Openstrsql,connchecked=falseif(Notrs.EOF)thenifPassword=rs("pass")thenchecked=true endifendifif(checked)thenresponse.Cookies("studentid")=trim(rs("stu_id"))'寫入COOKIESresponse.Cookies("teacherid")="" '為以后的操作準(zhǔn)備response.Cookies("manageid")=""msgerr=trim(rs("stu_username"))&"登陸成功,可進(jìn)行其它操作"'Response.Redirect("manage.asp")endif考生和管理員必須給出有效的登錄賬號(hào)和密碼才能進(jìn)入該系統(tǒng),對(duì)考生來(lái)說(shuō)該模塊是確認(rèn)考生身份、授考科目和成績(jī)所屬的重要部分。對(duì)管理員來(lái)說(shuō),它是確定管理權(quán)限的重要部分。系統(tǒng)利用網(wǎng)頁(yè)設(shè)計(jì)工具完成用戶登錄主界面,將管理員、教師和考生的登錄集成在一個(gè)模塊中。根據(jù)登錄信息判斷其合法性,基于ASP/ADO的在線考試系統(tǒng)然后在數(shù)據(jù)庫(kù)中查找與之匹配的記錄,進(jìn)行身份判斷。若登錄信息正確,則根據(jù)用戶類型(管理員、老師、考生)定義用戶權(quán)限級(jí)別及初始Session環(huán)境變量,同時(shí)重定向用戶首頁(yè);若輸入錯(cuò)誤賬號(hào)、密碼和身份,系統(tǒng)調(diào)用錯(cuò)誤處理模塊則顯示出錯(cuò)信息圖9用戶登錄后的界面3.5.3權(quán)限的判定和退出代碼每個(gè)頁(yè)面都有相對(duì)應(yīng)的用戶類型,所以要進(jìn)行驗(yàn)證,同時(shí)為了防止用戶直接在瀏覽器地址欄直接輸入地址而進(jìn)入沒有權(quán)限訪問(wèn)的頁(yè)面,特采用只讀取相應(yīng)的COOKIES的來(lái)判定是否登陸。但少數(shù)頁(yè)面因安全原因要讀取數(shù)據(jù)庫(kù)來(lái)判斷(管理員)。為了維護(hù)方便,用函數(shù)寫出,每個(gè)頁(yè)面只要調(diào)用函數(shù)即可。同時(shí)當(dāng)用戶點(diǎn)擊退出時(shí),也起著清空用戶信息的作用。作為輔助功能的模塊如評(píng)價(jià)、留言、公告等模塊是針對(duì)所有用戶開放,只是根據(jù)每類用戶的權(quán)限不同顯示不同內(nèi)容而已,可以通過(guò)對(duì)數(shù)據(jù)庫(kù)的不同字段操作來(lái)實(shí)現(xiàn)。對(duì)于學(xué)生類型的用戶,需要的只是注冊(cè)一個(gè)合法的身份進(jìn)行考試,然后查詢自己的分?jǐn)?shù),所以在其用戶界面上應(yīng)該突出這兩個(gè)功能。其他如留言板,評(píng)價(jià)系統(tǒng)可以在公用部分實(shí)現(xiàn)。教師用戶由于身份的特殊,所以不能自行申請(qǐng),因此將其注冊(cè)的權(quán)限交由管理員控制,教師登陸后主要的任務(wù)就是提交試題并且生成試卷,為了減輕其負(fù)擔(dān),在提交試題界面應(yīng)該盡量做到格式化、簡(jiǎn)單化,避免出錯(cuò)和重復(fù)勞動(dòng)。所以在數(shù)據(jù)庫(kù)的表設(shè)計(jì)中要盡量將字段分細(xì),而在頁(yè)面的設(shè)計(jì)上要分類清晰。而對(duì)于組卷模塊則主要突出一個(gè)組合查詢的功能,使教師能迅速準(zhǔn)確的查找到相應(yīng)的試題,快速組卷。圖10無(wú)權(quán)限進(jìn)入后的報(bào)錯(cuò)頁(yè)面3.5.4考試頁(yè)面模塊因?yàn)楸鞠到y(tǒng)可以同時(shí)有多套試卷所以在進(jìn)入考試頁(yè)面前,先進(jìn)入一個(gè)試卷選擇的頁(yè)面選擇試卷,當(dāng)用戶選擇了試卷后,傳給考試頁(yè)面一個(gè)試卷ID,在顯示試題前,先讀取數(shù)據(jù)庫(kù)看這個(gè)用戶是否已經(jīng)考過(guò),如考過(guò)重定向到選擇試卷頁(yè)面,如沒有考過(guò),考試頁(yè)面用這個(gè)參數(shù)讀取和顯示這個(gè)試卷試題。每個(gè)物理實(shí)驗(yàn)項(xiàng)目建立若干題目,題目分單選,多選和判斷,并有參考答案和答案說(shuō)明。老師可以添加,修改,刪除題目。學(xué)生登陸后,選擇某科目,進(jìn)入網(wǎng)上答題頁(yè)面開始答題,學(xué)生提交答案后給出成績(jī),如果需要看答案說(shuō)明的話可以進(jìn)一步查看答案說(shuō)明。學(xué)生可以通過(guò)系統(tǒng)選擇所需測(cè)試的課程和題庫(kù)在考試頁(yè)面中進(jìn)行相應(yīng)的考試。學(xué)生通過(guò)在線考試頁(yè)面中的考試可以鞏固和加深所學(xué)知識(shí)的理解,考試過(guò)程實(shí)現(xiàn)了自動(dòng)化和無(wú)紙化,十分便捷。提高了學(xué)生的答卷效率,同時(shí)也擴(kuò)展了網(wǎng)上教學(xué)的多樣化,提高了教學(xué)質(zhì)量,豐富了教學(xué)形式。圖11學(xué)生進(jìn)入有效試卷界面圖12進(jìn)入空試卷時(shí)顯示界面studentislogincheck()'checkstudentislogined?studentid=trim(request("studentid"))'iflen(studentid)<1then'Response.Redirect("stu_Login.asp")'endiftestid=trim(Request("testid")) iflen(tesetid)<0thenresponse.Redirect("stu_index.asp")endif'checkistheuseralreadytest?Setrs=CreateObject("ADODB.Recordset")strsql="SELECT[stu_id],[test_id]FROMstu_scorewherestu_id="&studentid&"andtest_id="&testidrs.openstrsql,conifnot(rs.eoforrs.bof)then'重定向,并說(shuō)明已經(jīng)考過(guò)這套題了response.Redirect"stu_index.asp"&"?¤tpage="¤tpage&"&studentid="&studentidendif'ADOConstantsConstadOpenForwardOnly=0ConstadLockReadOnly=1ConstadCmdText=&H0001ConstadUseClient=3DimcurrentPageIfLen(Request.QueryString("currentPage"))=0ThencurrentPage=1ElsecurrentPage=CInt(Request.QueryString("currentPage"))EndIf'單選ifrs("que_flg")=1thenResponse.Writercount&")"&rs("que_sub")&"(單選題)"&"<br>"&vbcrlfsetopt_rs=createobject("adodb.recordset")strsql="select*fromque_optionswhereque_id="&queid&"ORDERBY[que_options].[option_id]"opt_rs.openstrsql,con,adOpenForwardOnly,adLockReadOnly,adCmdTextResponse.Write"<blockquote>"j=1dowhilenot(opt_rs.eof)%><inputtype="checkbox"name="<%="check"&rcount&j%>"value="1"<%'如果cookies里相應(yīng)的數(shù)據(jù)為1則選中ifSession("check"&studentid&testid&rcount&j)="1"then%>checked<%endif%><%Response.Writej&": "&opt_rs("que_option")%><%Response.Write"<br>"%><%j=j+1%><%opt_rs.movenextloopResponse.Write"</blockquote>"EndIfElseResponse.Write"<b>對(duì)不起,這套試卷為空試卷。</b>"&vbcrlf EndIf'releaseObjectscon.CloseSetcon=NothingSetrs=Nothing%></form></table></td></tr></body>3.5.5用戶考試信息的保存模塊為了節(jié)省系統(tǒng)資源,沒有用數(shù)據(jù)庫(kù)保存用戶答案。將單選,多選,判斷分類顯示,并且用隱藏域保存題目和選項(xiàng)的ID避免記錄用戶答案是進(jìn)行數(shù)據(jù)庫(kù)操作。為了能自動(dòng)算分,要把一套試卷的試題按順序進(jìn)行編碼(當(dāng)然每道試題的選項(xiàng)也進(jìn)行了編號(hào)),結(jié)合用戶的ID,試卷ID,把用戶對(duì)試題的選擇存入對(duì)應(yīng)的SESSION變量中。舉個(gè)例子:如整套試卷的第5個(gè)題的第3個(gè)選項(xiàng)(假定有第3個(gè)選項(xiàng)),那它的用戶答案就是存入SESSION(用戶的ID&試卷ID&5&3)中。同樣把que_id存入SESSION中。主要代碼如下:studentid=trim(request("studentid"))testid=trim(Request("testid"))currentpage=Request("currentpage")rcount=Request("rcount")currentquenumber=Request("currentquenumber")'currentquenumber表是當(dāng)前頁(yè)有多少個(gè)題。rcount是當(dāng)前頁(yè)的最高序號(hào)'計(jì)算當(dāng)前頁(yè)的起始序號(hào)startnumber=(rcount-15)+1'記錄每個(gè)選項(xiàng)是否被選中,被選中的相應(yīng)的Session就存入1forcout=startnumbertorcount'如第一頁(yè)第一個(gè)題的第一個(gè)選項(xiàng)就是存入session("check"&studentid&testid&1&1),第2頁(yè)第一個(gè)題的第一個(gè)選項(xiàng)就是存入session("check"&studentid&testid&16&1)forc=1to5'這樣一一對(duì)應(yīng)的存入以方便在calculator.asp中進(jìn)行答案的比較.iftrim(request("check"&cout&c))="1"thenSession("check"&studentid&testid&cout&c)=1elseSession("check"&studentid&testid&cout&c)=0endifnextnext'記錄每個(gè)選項(xiàng)的IDforcout=startnumbertorcountSession("queid"&studentid&testid&cout)=trim(request("queid"&cout))nextresponse.Redirect"test_answer.asp?testid="&testid&"¤tpage="¤tpage&"&studentid="&studentid3.5.6系統(tǒng)公告板作為一個(gè)完整網(wǎng)站系統(tǒng),系統(tǒng)公告板是不可缺少的一塊。系統(tǒng)公告板實(shí)現(xiàn)相對(duì)比較簡(jiǎn)單,在首頁(yè)做個(gè)循環(huán)讀記錄表就可以,而后臺(tái)則設(shè)定為管理員添加。圖13系統(tǒng)公告界面3.5.7教學(xué)交流模塊學(xué)生在學(xué)習(xí)過(guò)程中不可避免的會(huì)碰到一些問(wèn)題,同時(shí)對(duì)網(wǎng)上考試的方式也會(huì)有自己的看法,所以在本系統(tǒng)中設(shè)計(jì)了一個(gè)留言板以達(dá)到師生交流的目的。由于時(shí)間倉(cāng)促,對(duì)于數(shù)據(jù)庫(kù)的設(shè)計(jì)比較簡(jiǎn)單,只單純的使用了一張GUEST表記錄留言信息,而回復(fù)的內(nèi)容也只設(shè)置了一個(gè)REBACK字段,這樣就導(dǎo)致了回復(fù)只能是最近回復(fù)的一條,由于編程已到了尾聲,如果要新建一張新表已經(jīng)來(lái)不及,所以采用只允許管理人員回復(fù)留言的辦法來(lái)解決這個(gè)問(wèn)題。教師和學(xué)生只能提交留言而不能回復(fù)。4總結(jié)本次設(shè)計(jì)的課題是開發(fā)一種基于Web頁(yè)的遠(yuǎn)程考試系統(tǒng),主要實(shí)現(xiàn)了學(xué)生注冊(cè)、資料修改、資料搜索、等主要功能。采用現(xiàn)在比較流行的ASP(ActiveServerPage)技術(shù)。ASP是基于WindowsNT平臺(tái)和MicrosoftIIS上的開放式腳本開發(fā)環(huán)境,它很好地把HTTP和腳本開發(fā)融合在一起,既簡(jiǎn)單、高效性易擴(kuò)展于一身。由于腳本服務(wù)器端執(zhí)行,因此它幾乎可以支持任何一種瀏覽器。使用ASP和ADO組件可以更容易地在Internet或Intranet上力爭(zhēng)和新的Web數(shù)據(jù)庫(kù)應(yīng)用平臺(tái)。此次設(shè)計(jì)采用ASP語(yǔ)言編程,利用IIS建立的web網(wǎng)站,Access2000作為后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)信息的集中管理。通常的管理系統(tǒng)是通過(guò)單機(jī)程序來(lái)實(shí)現(xiàn)的,而本系統(tǒng)則借助ASP的強(qiáng)大功能和網(wǎng)絡(luò)的優(yōu)越性,從而實(shí)現(xiàn)跨地域進(jìn)行信息的管理。設(shè)計(jì)路線為:制定網(wǎng)站詳細(xì)構(gòu)建方案→建立數(shù)據(jù)庫(kù)表→網(wǎng)頁(yè)的建立→建立管理模塊→后臺(tái)管理的建立→模擬服務(wù)器測(cè)試和調(diào)試。制作網(wǎng)上學(xué)習(xí)管理系統(tǒng),主要面對(duì)學(xué)校教師和學(xué)生,作為學(xué)校校園網(wǎng)提供給學(xué)生的一個(gè)學(xué)習(xí)平臺(tái),并且通過(guò)學(xué)生對(duì)試卷的評(píng)價(jià)來(lái)促進(jìn)教師提高自身的教學(xué)水平。為教師和學(xué)生之間架起一個(gè)相互交流的平臺(tái)。這次設(shè)計(jì)的網(wǎng)站功能很多,整體上已經(jīng)達(dá)到了要求。但是由于設(shè)計(jì)時(shí)間短暫,思考不是很成熟,其中當(dāng)然避免不了欠缺的地方,比如:頁(yè)面不是很美觀,有些功能的實(shí)現(xiàn)比較煩瑣而且效果不如我所預(yù)期的,還有一些細(xì)節(jié)的功能實(shí)現(xiàn)方法由于自身對(duì)A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 推廣項(xiàng)目服務(wù)合同
- 采購(gòu)合同皮草的品牌推廣
- 消防設(shè)備維護(hù)保養(yǎng)合同
- 個(gè)人借款質(zhì)押合同范例
- 代駕服務(wù)合同問(wèn)答
- 軟件更新保養(yǎng)協(xié)議
- 2024年電子供應(yīng)鏈采購(gòu)合同
- 工作室舞者勞動(dòng)合同要點(diǎn)
- 機(jī)械設(shè)備采購(gòu)合同范本
- 食堂服務(wù)合作協(xié)議
- 分配利潤(rùn)合同范例
- 《中國(guó)喪葬禮儀》課件
- 華為ICT大賽(網(wǎng)絡(luò)賽道)高頻備考試題及答案
- 2024年1月福建高中學(xué)業(yè)水平合格考物理試卷真題(含答案解析)
- 昆明理工大學(xué)《自然語(yǔ)言處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 水利水電工程施工生涯發(fā)展展示
- 仲愷農(nóng)業(yè)工程學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年期末試卷
- 2024年護(hù)士資格考試專業(yè)實(shí)務(wù)試卷及解答參考
- GB/T 44815-2024激光器和激光相關(guān)設(shè)備激光束偏振特性測(cè)量方法
- 住建局條文解讀新規(guī)JGJT46-2024《施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論