版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
11.1網(wǎng)絡考試系統(tǒng)的需求分析和功能設計
隨著計算機網(wǎng)絡技術,特別是Internet技術的發(fā)展和普及,對高校的教學考試方式帶來了重大的影響。許多高校正在對考試方式進行改革,從傳統(tǒng)的考試方式逐漸過渡到網(wǎng)絡考試,或者兩種考試方式并存?;赪eb技術的網(wǎng)絡考試系統(tǒng)可以借助于遍布全球的Internet進行,因此,網(wǎng)絡考試既可以在本地進行,也可以在異地進行,考試形式更加靈活。網(wǎng)絡考試具體有以下優(yōu)點:①純B/S架構(gòu)考試系統(tǒng),只需要將系統(tǒng)安裝服務器上,考生就可以通過網(wǎng)頁地址訪問進行考試,甚至可以做到用手機瀏覽網(wǎng)頁進行考試,方便快捷。②管理員管理考生端非常強大,可以查看考生試卷,可以給主觀題進行人工批閱試卷,可以開放是否讓考生自我練習模擬考試,可以給考生、學員下達學習任務。下一頁返回11.1網(wǎng)絡考試系統(tǒng)的需求分析和功能設計
③考生考試有嚴格的身份驗證,也有各種防作弊工作。④管理員組卷十分簡單,甚至可以做到有重復試題警告,領先傳統(tǒng)考試一大截。⑤客觀題系統(tǒng)自動進行判別,考試結(jié)果可以設置立即顯示或是之后再進行顯示。⑥考試后,老師可對學生的成績進行綜合分析。在網(wǎng)絡考試中,涉及三種不同的用戶:學生、教師和管理員,他們的職能各不相同。學生進入網(wǎng)絡考試系統(tǒng),參加課程的考試,查看自己的成績;教師能夠在考試系統(tǒng)中添加試題、評閱學生答卷、提交成績;管理員能夠注冊學生信息、管理教師信息、安排課程的考試時間等。所有這些數(shù)據(jù)都存儲到服務器的數(shù)據(jù)庫中。上一頁下一頁返回11.1網(wǎng)絡考試系統(tǒng)的需求分析和功能設計
本章以PHP為編程腳本語言,MySQL為后臺數(shù)據(jù)庫,Apache為Web服務器,開發(fā)一個為老師提供手工命題,滿足上三種不同用戶要求的網(wǎng)絡考試系統(tǒng)。網(wǎng)絡考試系統(tǒng)的功能結(jié)構(gòu)如圖11-1所示,下面簡單介紹各個功能。1.管理員功能部分管理員負責對學生、教師身份及課程、班級、試題、考試時間等進行全面的管理。其功能包括:①課程管理。能夠完成添加、刪除和修改課程信息。②班級管理。能夠完成添加、刪除和修改班級信息。③學生管理。能夠添加、刪除和修改學生基本信息。為了在考試中能夠核對學生身份,還應提供學生照片的上傳和顯示功能。上一頁下一頁返回11.1網(wǎng)絡考試系統(tǒng)的需求分析和功能設計
④教師管理。能夠添加、刪除和修改教師登錄信息。⑤考試時間安排。安排課程在某天的某段時間進行考試,指定參加考試的班級。⑥修改密碼。管理員和教師都可以修改自己登錄的密碼。⑦退出系統(tǒng)。管理員、教師和學生使用完考試系統(tǒng)后,執(zhí)行退出功能,以清除相關數(shù)據(jù)。2.教師功能部分教師的主要工作是完成試卷的命題和評閱答卷。其功能包括:①設置試題題型:教師在給一門課程的試題輸入題目之前,首先要添加一份試題,設置好該試題所包含的題型。其中只自動添加三種客觀題型:單項選擇題、多項選擇題和判斷題。上一頁下一頁返回11.1網(wǎng)絡考試系統(tǒng)的需求分析和功能設計
②考試命題:教師根據(jù)所選擇的課程試題,給該份試題添加、修改和刪除各種題型的題目。③評閱試卷:教師根據(jù)所選擇的試卷和班級,對一個班的學生的答卷逐份進行評閱,生成學生的課程考試成績。④輸出成績表:教師根據(jù)所選擇的課程和班級,輸出一個班的課程成績表。3.學生功能部分學生功能部分包括:①進入考場:管理員安排好課程的考試時間后,學生在指定的時間前登錄,進入考試系統(tǒng),使用“進入考場”功能,準備開始某一門課程的考試。當?shù)竭_考試開始時間,自動地從服務器讀取試題,傳輸?shù)綄W生端的瀏覽器,學生即可答題。②查詢成績:學生可以查詢自己參加的各門課程的考試成績。上一頁返回11.2 數(shù)據(jù)庫設計在MySQL數(shù)據(jù)庫系統(tǒng)中建立一個名為exam_db的數(shù)據(jù)庫,存放考試系統(tǒng)中與課程、學生、教師、試題、答卷相關的數(shù)據(jù)。該數(shù)據(jù)庫包含以下數(shù)據(jù)表。1.course表course表存儲各門課程的基本信息。其表結(jié)構(gòu)見表11-1,主鍵為course_id。2.teachuser表teachuser表存儲教師登錄的信息,表結(jié)構(gòu)見表11-2,主鍵為t_id。3.class類class表存儲班級信息,表結(jié)構(gòu)見表11-3,主鍵為class_id。4.student_user表student_user表存儲學生的基本信息,表結(jié)構(gòu)見表11-4,主鍵是s_id。下一頁返回11.2 數(shù)據(jù)庫設計5.exam_type表exam_type表存儲各門課程的試卷題型,表結(jié)構(gòu)見表11-5,主鍵為id。6.exam_info表exam_info表存儲試卷基本信息,表結(jié)構(gòu)見表11-6。7.exam_score表exam_score表存儲學生各門課程的成績,表結(jié)構(gòu)見表11-7,主鍵是id。8.exam_test表exam_test表存儲每份試題的題目、標準答案和標準分值,表結(jié)構(gòu)見表11-8,主鍵是st_id。上一頁下一頁返回11.2 數(shù)據(jù)庫設計9.exam_time表exam_time表存儲各門課程的考試時間,表結(jié)構(gòu)見表11-9,主鍵是exam_id。10.stud_exam_ans表stud_exam_ans表存儲學生的答卷內(nèi)容,表結(jié)構(gòu)見表11-10,主鍵是id。上一頁返回11.3 全局變量和公共模塊網(wǎng)絡考試系統(tǒng)的工作流程如圖11-2所示。首先顯示主頁,然后進入登錄頁面,如圖11-3所示。在登錄頁面中,選擇用戶類別,輸入用戶名(或?qū)W號)和密碼,進行用戶身份的合法性驗證。如果用戶合法,則進入相應的頁面,如圖11-4~圖11-6所示。網(wǎng)站的目錄結(jié)構(gòu)是:admin子目錄存放教師和管理員執(zhí)行的所有程序,exam子目錄存放學生執(zhí)行的所有程序,js子目錄存放外部的CSS文件和JavaScript。下一頁返回11.3 全局變量和公共模塊11.3.1 全局變量為了在考試系統(tǒng)的所有程序中獲取當前用戶的信息,采用SESSION變量存儲用戶登錄的信息。這些SESSION變量為$_SESSION["xh"]、$_SESSION["name"]、$_SESSION["classname"],分別存放學生的學號、姓名、班級名稱;$_SESSION["t_userid"]、$_SESSION["name"]分別存放教師或管理員的用戶名和姓名。因此,在每一個PHP腳本程序的開頭,必須加入以下語句,以便引用SESSION變量。上一頁下一頁返回11.3 全局變量和公共模塊11.3.2 公共模塊1.連接MySQL服務器程序(conn.php)該程序建立與MySQL服務器的連接,打開exam_db數(shù)據(jù)。程序中的$host、$user、$passwd變量的值應根據(jù)所使用的MySQL服務器來更改。代碼如下:上一頁下一頁返回11.3 全局變量和公共模塊2.退出系統(tǒng)程序(logout.php)退出程序用來刪除SESSION變量,返回主頁面,以便其他用戶能夠登錄系統(tǒng)。代碼如下:上一頁返回11.4 管理員功能的程序根據(jù)設計的功能結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu),從本節(jié)起,介紹一些主要功能的實現(xiàn)過程和程序。11.4.1 課程管理課程管理程序(admin_course.php)實現(xiàn)增加、刪除和修改課程信息,將課程信息保存到course表。其頁面分為兩部分:上面部分是一個表單,用來增加課程;下面部分顯示當前已定義的課程。頁面運行效果如圖11-7所示。單擊“添加課程”按鈕,提交表單數(shù)據(jù),調(diào)用admin_course_insert.php程序,完成課程的插入?!熬庉嫛辈僮魍ㄟ^超鏈接,定位到admin_course_edit.php程序,由該程序完成課程的修改。“刪除”操作通過超鏈接,定位到admin_course_del.php程序,刪除指定的課程。這兩個程序的代碼比較簡單,在此略述。下一頁返回11.4 管理員功能的程序11.4.2 班級管理
班級管理程序(admin_class.php)實現(xiàn)增加、刪除和修改班級信息,將班級信息保存到class表。其頁面分為兩部分:上面部分是一個表單,用來增加班級;下面部分顯示當前已經(jīng)設置的班級。頁面運行效果如圖11-8所示。其代碼與課程管理程序類似,操作也與課程管理的相似。11.4.3 學生管理
學生管理程序?qū)崿F(xiàn)增加、刪除和修改學生個人信息,將學生個人信息保存到student_user表。其頁面分為兩部分:上面部分是一個增加學生的表單,下面部分顯示當前已經(jīng)注冊的學生。頁面運行效果如圖11-9所示。上一頁下一頁返回11.4 管理員功能的程序1.學生管理主程序(admin_student.php)針對這個表單,應該注意的是,需要將表單的enctype屬性值設置為“multipart/formdata”才能上傳圖片。為了讓管理員在選擇一個圖片文件后,能夠即時看到所選的圖片,在表單中插入一個<imgsrc=""name="myphoto">。同時,在文件域標記中設置onChange事件代碼,使<img>標記的圖形來自所選擇的圖形文件,如下:上一頁下一頁返回11.4 管理員功能的程序2.保存新增加的學生信息的程序在圖11-9中,單擊“添加學生”按鈕,提交表單的數(shù)據(jù)到Web服務器,由admin_student_insert.php程序接收表單的數(shù)據(jù),把學生信息作為一個記錄插入student_user表。程序中,利用fread()函數(shù)以二進制方式讀取上傳的圖形文件內(nèi)容,然后用bin2hex()將用二進制數(shù)表示的圖形轉(zhuǎn)換為十六進制數(shù),在INSTERT命令中使用十六進制數(shù)表示照片內(nèi)容。11.4.4 教師管理教師管理程序(admin_teacher.php)實現(xiàn)增加、刪除和修改教師信息,將教師信息保存到teacheruser表。程序內(nèi)容與學生管理的程序類似。其頁面運行效果如圖11-10所示。單擊“編輯”鏈接,則調(diào)用admin_teacher_edit.php程序,修改指定教師的信息。單擊“刪除”鏈接,刪除指定教師的信息。上一頁下一頁返回11.4 管理員功能的程序11.4.5 考試時間安排考試時間安排程序(admin_exam_time.php)用來設置每門課程的考試日期和時間。其運行界面如圖11-11所示。它是一個表單,為了在“試卷名稱”下拉列表中選擇一份試卷后,能夠在“考試課程”“試卷編號”“命題教師”這三個文本框中顯示與試卷相應的內(nèi)容,利用PHP和JavaScript結(jié)合編程,產(chǎn)生與這些表單元素對應的數(shù)組。這段程序從exam_info和course表中讀取每份試卷的名稱、編號及課程名、命題教師,動態(tài)生成JavaScript腳本的數(shù)組。JavaScript的select_exam()函數(shù)用來改變表單中顯示的考試課程、試卷編號、命題教師這三個文本框的值。上一頁下一頁返回11.4 管理員功能的程序為了在表單的“試卷名稱”下拉列表中選擇一份試卷后,能夠觸發(fā)select_exam()函數(shù),還需要給該下拉列表標記定義onChange事件代碼,如下:在圖11-11所示的表單中,輸入考試時間后,單擊“保存”按鈕,提交表單,調(diào)用admin_examtime_save.php程序,將考試時間信息保存到exam_time表中,并將參加考試的班級學生信息添加到exam_score表。上一頁返回11.5 教師功能的程序11.5.1 設置試題題型設置試題題型程序用來完成試題基本信息的添加、刪除和修改,并設置試題的題型。1.設置試題題型主程序(teach_exam_type_step1.php)此程序顯示當前已經(jīng)設置的試卷基本信息,如圖11-12所示。單擊“添加試卷”按鈕,顯示圖11-12所示的頁面。2.添加試卷程序(teach_exam_add.php)此程序顯示一個表單,如圖11-13所示,輸入試卷信息,單擊“添加試卷”按鈕,提交表單數(shù)據(jù),再次調(diào)用本程序,將試卷信息添加到exam_info表。3.編輯試卷程序(teach_exam_edit.php)在圖11-12所示的頁面中,單擊某一個“編輯”超鏈接,則調(diào)用teach_exam_edit.php程序,顯示某一試卷的基本信息,以供修改,如圖11-14所示。下一頁返回11.5 教師功能的程序4.設置試題的題型(teach_exam_type_step2.php)在圖11-12所示的頁面中,單擊某一個試卷名稱超鏈接,則調(diào)用teach_exam_type_step2.php程序,自動添加三種客觀題型,如圖11-15所示。5.修改題型程序(teach_exam_type_edit.php)在圖11-15所示的頁面中,單擊某一題型的“編輯”超鏈接,調(diào)用teach_exam_type_edit.php,顯示圖11-16所示的表單,修改題型的說明。11.5.2 考試命題考試命題的功能是給某一份試題輸入題目、修改題目和刪除題目,它包括以下幾個程序。上一頁下一頁返回11.5 教師功能的程序1.顯示試卷名稱的程序(teach_examtest_step1.php)這是考試命題的第一步,顯示出當前已經(jīng)定義的試卷名,如圖11-17所示。
2.顯示試題的程序(teach_examtest_step2.php)在圖11-17所示的頁面中,單擊某一個試題名稱,顯示該試題的內(nèi)容,如圖11-18所示,顯示當前已經(jīng)添加的試題題目,供修改、刪除和增加。3.增加單項選擇題目的程序(teach_examtest_add_singlechioice.php)該程序以所選試卷編號為參數(shù),顯示一個表單,輸入題目內(nèi)容、選項和答案。如果題目有插圖,可以選擇圖形文件。程序內(nèi)容如下:上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序運行程序,顯示的頁面如圖11-19所示,圖中輸入了一個單項選擇題。上一頁下一頁返回11.5 教師功能的程序4.增加多項選擇題目的程序(teach_examtest_add_multichoice.php)該程序以所選試卷編號為參數(shù),顯示一個表單,輸入多項選擇題目的內(nèi)容、選項和答案。如果題目有插圖,可以選擇圖形文件。該程序與增加單項選擇題程序相似,不同之處是將表單的單選擇按鈕改為復選框。5.保存試題題目的程序(teach_examtest_intert.php)該程序?qū)⑿略龅膯雾椷x擇題、多項選擇題和判斷題的題目內(nèi)容保存到exam_test表。11.5.3 評閱試卷
評閱試卷的功能是根據(jù)某一試卷的考生答卷,自動地計算每個學生各題的得分,然后匯總出該考生的課程考試成績,存儲到exam_score表。它包括以下幾個程序。上一頁下一頁返回11.5 教師功能的程序1.選擇試卷程序(teach_grade_step1.php)該程序顯示要評閱的試卷名,以供選擇。該程序的運行結(jié)果如圖11-20所示。2.選擇考試班級程序(teach_grade_step2.php)該程序從課程的考試班級中選擇一個班級,以便對該班考生進行評卷。運行的頁面如圖11-21所示。3.顯示一個班考生成績和操作程序(teach_grade_step3.php)該程序根據(jù)前面所選的試卷和班級,顯示一個班的課程成績或者評卷操作。如果考生沒有成績,則顯示“評卷”按鈕,如圖11-22所示。單擊“評卷”按鈕,則調(diào)用評卷程序teach_grade_step4.php,顯示該考生的客觀題得分情況。上一頁下一頁返回11.5 教師功能的程序4.評卷程序(teach_grade_step4.php)該程序根據(jù)所選擇的試卷編號、班級編號和考生學號,自動地計算該考生每題的得分,并顯示每題得分。程序如下:上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序上一頁下一頁返回11.5 教師功能的程序訪問該程序,顯示的頁面如圖11-23所示。上一頁返回11.6 學生考試功能的程序考生登錄進入網(wǎng)絡考試系統(tǒng),參加考試、查看成績。下面僅介紹參加考試功能的設計思想和程序?qū)崿F(xiàn)。進入考場功能是考生參加某一課程的考試。其設計思想是根據(jù)管理員設定的考試時間,在指定的時間內(nèi)進行答題。如果考試開始時間已到,由系統(tǒng)自動地將試題傳輸?shù)綄W生端的瀏覽器。當考試結(jié)束時間已到,或者考生單擊了“交卷”按鈕,則將考生的答題內(nèi)容上傳到服務器存儲起來。進入考場采用框架結(jié)構(gòu)來顯示,上框架顯示試題,供考生解答,框架名為examFrame;下框架顯示考試時間和剩余時間,框架名為timeFrame。1.進入考場框架頁面主程序(stud_exam_test.php)該程序首先檢查是否已到考試開始時間。如果未到考試開始時間,則不斷顯示當前時間和剩余時間。如果到達考試開始時間,則進入框架頁面,顯示試題和考試剩余時間。程序如下:下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序上一頁下一頁返回11.6 學生考試功能的程序訪問程序,顯示的頁面有圖11-24和圖11-25兩種。2.考試時間倒計時程序(time_to_0.php)該程序根據(jù)exam_time表中當天考試時間的安排,顯示當前考試時間和考試剩余時間。一旦考試時間結(jié)束,通過調(diào)用JavaScript腳本程序,自動提交上框架的考生答卷內(nèi)容,傳送到Web服務器。程序如下:上一頁下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學文化產(chǎn)業(yè)管理(文化產(chǎn)業(yè)研究)試題及答案
- 2025年中職電子電器應用與維修(應用維修技術)試題及答案
- 2026年綠色甲醇項目公司成立分析報告
- 多源健康信息整合與個體化決策
- 2025年中職云計算技術應用(云計算部署)試題及答案
- 多民族地區(qū)ICU終末期決策的文化適配策略
- 2026年口腔修復(義齒護理)試題及答案
- 2025年中職園藝技術(綠植養(yǎng)護)試題及答案
- 2025年高職(道路橋梁工程技術)橋梁設計綜合測試題及答案
- 2025年大學烹飪(食品營養(yǎng)學)試題及答案
- DB3402-T 57-2023 醫(yī)院物業(yè)服務規(guī)范
- 腰椎間盤突出患者術后護理課件
- 醫(yī)院護理培訓課件:《高壓氧臨床的適應癥》
- 校服采購投標方案
- 固定修復基礎理論-固位原理(口腔固定修復工藝課件)
- 合同能源管理培訓講義
- dd5e人物卡可填充格式角色卡夜版
- 剪映電腦版使用說明教程
- 腱鞘囊腫日間手術
- 標準化預制梁場驗收表
- JJG 30-2012通用卡尺
評論
0/150
提交評論