




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄 1 緒 論.1 1.1 選題背景.1 1.2 研究意義及主要內容.2 1.3 論文的組織結構.3 2 相關技術介紹.3 2.1 c# 概述.3 2.1.1 vs2005 開發(fā)環(huán)境的功能和特點.4 2.1.2 c#的優(yōu)越性.4 2.2 sql server2000 簡介.4 2.3 使用 gridview控件和 objectdatasource控件顯示、更新數(shù)據.5 3 系統(tǒng)分析與設計.7 3.1 系統(tǒng)分析.7 3.1.1 需求分析.7 3.1.2 可行性分析.7 3.2 系統(tǒng)功能設計.8 3.2.1 管理員模塊.9 3.2.2 考生模塊.9 3.2.3 教師模塊.10 3.3 系統(tǒng)采用
2、三層應用程序結構.10 3.4 系統(tǒng)數(shù)據庫設計.10 3.4.1 數(shù)據庫表的設計.10 3.4.2 使用 ado.net 鏈接數(shù)據庫.14 4 管理員模塊的設計.15 4.1 登錄模塊的設計.15 4.2 系部管理模塊的設計.16 4.3 用戶信息模塊設計.17 4.4 用戶試卷管理模塊的設計.19 5 考生模塊的設計.23 6 教師模塊的設計.25 6.1 科目管理模塊的設計.25 6.2 試卷制定與維護模塊的設計.25 6.3 試題類別管理模塊的設計.27 7 結束語.29 參考文獻.30 致 謝.31 1 緒 論 1.1 選題背景 在二十一世紀的新時代,隨著計算機技術的發(fā)展及計算機的日益
3、普及,基于 web 在 線考試與無紙化辦公一樣已成為大勢所趨。基于 web 在線考試也越來越成為學校的好幫 手,它的優(yōu)勢不但體現(xiàn)在人力上也體現(xiàn)在物力上,基于 web 的在線考試系統(tǒng)的自動評閱、 計分、成績存檔功能將有效地避免資源的浪費,有利于環(huán)保,減少人員,提高效率。 相比傳統(tǒng)的考試方式,基于 web 的在線考試系統(tǒng)的主要好處是一方面可以動態(tài)地管 理各種考試信息,只要準備好足夠大的題庫,就可以按照要求自動生成各種試卷;另外 在線考試的最大特點是閱卷快,系統(tǒng)可以在考試結束后立刻給出客觀題考試成績,計算 機閱卷給了考生最大的公平感。 本系統(tǒng)講述了一個基于 web 的在線考試系統(tǒng)的大體實現(xiàn)過程,該系
4、統(tǒng)基本上可以滿 足學校及現(xiàn)代信息化企業(yè)的內部考試要求,可以實現(xiàn)學校或企業(yè)的低成本投入,高效率 辦公的宗旨。例如:一個學?;蚬救绻褂昧吮鞠到y(tǒng),教師或領導即使在外地出差也 可以通過訪問 internet 輕松設置審批考試,考試結束后也不要傳統(tǒng)的繁瑣的閱卷過程, 極大地提高了辦公效率??荚嚨念}型可以都是標準化客觀題目,但本系統(tǒng)加上了主觀題, 對于其他類型的題目只要在本文的基礎上稍加修改即可。 利用 c#技術開發(fā)的基于 web 的在線考試系統(tǒng)。它具有用戶在線考試、動態(tài)隨機出題、 考試時間控制、自動判卷、題庫維護、用戶管理、分數(shù)管理等功能。本系統(tǒng)主要由管理 員模塊、考生模塊、教師模塊組成。自動組卷及
5、自動評分的實現(xiàn)是本系統(tǒng)的關鍵。 隨著 web 技術的發(fā)展和電子商務時代的到來,人們不再滿足于建立各種靜態(tài)地發(fā)布 信息的網站,更多的時候需要能與用戶進行交互,并能提供后臺數(shù)據庫的管理和控制等 服務的動態(tài)網站。c#可以用于管理動態(tài)內容、支持數(shù)據庫、處理會話跟蹤,甚至構建整 個電子商務站點。它支持許多流行的數(shù)據庫,包括 mysql、postgresql、oracle、sybase、informix 和 microsoft sq lserver。其語法大部 分與 c、java、perl 等語言相似,并形成了自己的獨有風格,利用該語言 web 程序員可以 快速地開發(fā)出動態(tài)網頁。c#在大多數(shù) unix 平
6、臺、gun/linux 和微軟 windows 平臺上均可 以運行。 1.2 研究意義及主要內容 21 世紀是信息化的社會,數(shù)據信息應用已進入大規(guī)模的服務階段??荚囎鳛樽钪苯?的體現(xiàn)信息化社會中人們的知識水平的一種方式,是目前使用最為廣泛的形式之一,傳 統(tǒng)的考試從出題、組卷、印刷,到試卷的分發(fā)、答題、收卷、再到判卷、公布成績,整 個過程都需要人工參與,周期長,工作量大,容易出錯,還要有適當?shù)谋C芄ぷ鳎沟?整個考試的成本較大。所以,實現(xiàn)無紙化、網絡化、自動化的在線考試系統(tǒng),具有深遠 的現(xiàn)實意義和使用價值。 本系統(tǒng)采用 b/s 模式,采用現(xiàn)在使用廣泛的 asp.net(c#)語言和對數(shù)據文件安全
7、保 護性極好的 sql server2000 設計開發(fā)出一個基于 web 的考試管理系統(tǒng),也就是在線考試 系統(tǒng)。該系統(tǒng)具備網上數(shù)據傳遞的功能,主要由管理員模塊、考生模塊、教師模塊組成, 管理員模塊實現(xiàn)用戶信息的管理,系部信息管理和考生試卷管理;考生模塊實現(xiàn)考生在 線考試、成績查詢功能;教師模塊實現(xiàn)考試科目管理,試卷制定維護,考生試卷管理和 試題庫管理。系統(tǒng)采用三層結構,統(tǒng)一的管理題庫,自動組卷,自動判卷,極大的節(jié)省 了人力、物力,提高了效率。 1.3 論文的組織結構 第一部分:緒論。介紹了論文的選題背景、主要內容和研究意義。 第二部分:相關技術介紹。 第三部分:系統(tǒng)分析與設計。 第四部分:管理
8、員模塊的設計。 第五部分:學生模塊的設計。 第六部分:教師模塊的設計。 第七部分:結束語。 2 相關技術介紹 2.1 c# 概述 c#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各種基于 microsoft .net 平臺的應用程序,microsoft .net 提供了一系列的工具和服務來最大程度 地開發(fā)利用計算與通訊領域。這種框架使 c#組件可以方便地轉化為 xml 網絡服務,從而 使任何平臺的應用程序都可以通過 internet 調用它。 c#增強了開發(fā)者的效率,同時也致力于消除編程中可能導致嚴重結果的錯誤。c#使 c/c+程序員可以快速進行網絡開發(fā),同時也保持了開發(fā)者所需
9、要的強大性和靈活性。 2.1.1 vs2005 開發(fā)環(huán)境的功能和特點 microsoft 公司推出的 visual studio 2005 提供了一個全新的開發(fā)環(huán)境,在此環(huán)境下, 可以用多種語言開發(fā) windows 窗體應用程序、asp.net 網站、移動設備應用程序、組件 與控件、數(shù)據報表和 xml web 服務等多種復雜的系統(tǒng)。 vs2005 分為 team system 版本、professional 版本、standard 版本和 express 版本,分 別適用于大型軟件開發(fā)團體、中小型軟件開發(fā)公司以及業(yè)余開發(fā)者,是一種全面的、先 進的、完全適應當前網絡發(fā)展的高級軟件開發(fā)平臺。 2.
10、1.2 c#的優(yōu)越性 相比 c/c+而言,c#的優(yōu)越性體現(xiàn)在以下幾點: (1) 效率與安全性 (2) 支持現(xiàn)有的網絡編程新標準 (3) 消除大量程序錯誤 (4) 對版本的更新提供內在的支持,降低了開發(fā)成本 (5) 商業(yè)過程和軟件實現(xiàn)的更好對應 (6) 擴展交互性 2.2 sql server2000 簡介 微軟的 sql server 2000 界面友好,易學易用且功能強大,與 windows 2000 操作系 統(tǒng)完美結合,可以構造網絡環(huán)境數(shù)據庫甚至分布式數(shù)據庫,可以滿足企業(yè)及 internet 等大 型數(shù)據庫應用。 以下簡單介紹它的功能特性 (1) 實現(xiàn)了客戶機/服務器模式 客戶機/服務器(
11、c/s)模式數(shù)據庫計算是一種分布式的數(shù)據存儲、訪問和處理技術, 它已成為大多數(shù)企業(yè)計算的標準。microsoft sql server 是客戶/服務器系統(tǒng)應用的完美的 例子。 (2) 與 internet 集成 sql server 2000 數(shù)據庫引擎提供完整的 xml 支持。具備構造大型 web 站點的數(shù)據存 儲組件所需的可伸縮性、可用性和安全性。 (3) 具備很強的可伸縮性和可用性 sql server 2000 包含企業(yè)版、標準版、開發(fā)版和個人版等 4 個版本,使同一個數(shù)據 庫引擎可以在不同的操作系統(tǒng)平臺上使用,從運行 windows 9x 的便攜式電腦,到運行 windows2000
12、 data center server 的大型多處理器的服務器。增強的圖形用戶界面管理工 具,使管理更加方便。 (4) 具備企業(yè)級數(shù)據庫功能 sql server 2000 關系型數(shù)據庫引擎支持當今苛刻的數(shù)據處理環(huán)境所需的功能,可同 時管理上千個并發(fā)數(shù)據庫用戶,其分布式查詢使用戶可以引用來自不同數(shù)據源的數(shù)據, 同時具備分布式事務處理系統(tǒng),保障分布式數(shù)據更新的完整性。 (5) 易于安裝、部署和使用 sql server2000 的安裝向導可幫助用戶方便地實現(xiàn)各種方式的安裝,如網絡遠程安 裝、多實例安裝、升級安裝和無人職守安裝等。sql server 2000 還提供了一些管理開發(fā) 工具,使用戶可
13、以快速開發(fā)應用程序。 (6) 數(shù)據倉庫功能 企業(yè)在正常的業(yè)務運作過程中需要收集各種數(shù)據,包含企業(yè)的動態(tài)歷史記錄,數(shù)據 倉庫的目的是合并和組織這些數(shù)據,以便可對其進行分析并用來支持業(yè)務決策。數(shù)據倉 庫是一種高級、復雜的技術。microsoft sql server 2000 提供的強大工具,可幫助您完成 創(chuàng)建、使用和維護數(shù)據倉庫的任務。 2.3 使用 gridview 控件和 objectdatasource 控件顯示、更新數(shù)據 為了更直觀地顯示教師、學生、課程等信息,為給操作者提供方便,本系統(tǒng)采用 gridview 數(shù)據綁定控件和 objectdatasource 數(shù)據源控件。 gridvie
14、w 使用起來非常方便。要將 gridview 綁定到數(shù)據源控件,只需將 gridview 的 datasourceld 屬性設置為數(shù)據源控件的 id 即可。當使用 datasourceld 屬性綁定到數(shù)據 源時,gridview 控件支持雙向數(shù)據綁定。 objectdatasource 控件可以用來從對象類型的數(shù)據源中檢索數(shù)據,并且可以綁定到各 種數(shù)據綁定控件以實現(xiàn)對數(shù)據執(zhí)行選擇、插入、更新、刪除等操作。 3 系統(tǒng)分析與設計 3.1 系統(tǒng)分析 3.1.1 需求分析 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,系統(tǒng)應該滿足以下的性 能需求: (1)系統(tǒng)處理的準確性和及時性:系統(tǒng)處理的準確
15、性和及時性是系統(tǒng)的必要性能。在 系統(tǒng)設計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理 能力和響應時間能夠滿足學校對學生信息處理的需求。 (2)系統(tǒng)的開放性和系統(tǒng)的可擴充性:系統(tǒng)在開發(fā)過程中,應該充分考慮以后的可擴 充性。例如數(shù)據表中用戶選擇字段方式的改變,用戶查詢的需求也會不斷的更新和完善。 所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調整和擴充。而要實現(xiàn)這一點,應通 過系統(tǒng)的開放性來完成,既系統(tǒng)應是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的 加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更 新?lián)Q代。 (3)系統(tǒng)的易用性和易維護性:要實現(xiàn)這
16、一點,就要求系統(tǒng)應該盡量使用用戶熟悉的 術語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短 用戶對系統(tǒng)熟悉的過程。 (4)系統(tǒng)的數(shù)據要求:數(shù)據錄入和處理的準確性和實時性;數(shù)據的一致性與完整性; 數(shù)據的共享與獨立性。 (5)系統(tǒng)的運行要求在 windows 2000 系統(tǒng)下運行:本軟件是 win2000+c#+sql sever2000 的環(huán)境下進行的、根據軟件工程的原理,結合面向對象方法開發(fā)完成。 3.1.2 可行性分析 經濟性 主要從對項目的經濟上進行分析評價,一方面是支出的費用,另一個是取得的收益。 這是個小型的系統(tǒng),從投入的人力,財力與物力來講是非常小的,只要一
17、臺電腦,這個 系統(tǒng)就可以做起來。從節(jié)省人力方面,可以考慮讓教師從繁忙的出卷,閱卷中解脫出來, 做更多的工作,提高工作效率。 技術性 網絡化的考試,使考試更加規(guī)范,實現(xiàn)了通過網絡對試題的管理以及對試卷的批閱, 系統(tǒng)中設置的自動組卷及自動批改部分試題的模塊,為教師提供了一個更為方便的管理 平臺,大大提高了教師的工作效率。 根據以上分析可設計出系統(tǒng)的數(shù)據流程圖如圖 31 所示: 試題錄入 試題庫 題庫維護 在線考試 維護 抽取試題 原始 試題庫 考生成績庫 成績查詢 閱卷輸入成績保存答卷 維護 統(tǒng)計分析 圖 31 系統(tǒng)數(shù)據流程圖 3.2 系統(tǒng)功能設計 整個系統(tǒng)分為三個模塊,分別為管理員模塊,考生模塊
18、和教師模塊,各模塊中又包 含幾個子模塊,根據系統(tǒng)需要和系統(tǒng)流程圖,設計出系統(tǒng)整體框架圖,如圖 32 所示: 用戶登錄 考生模塊 在 線 考 試 成 績 查 詢 考 試 科 目 管 理 試 卷 制 定 維 護 考 生 試 卷 管 理 試 題 類 別 管 理 系 部 信 息 管 理 用 戶 信 息 管 理 考 生 試 卷 管 理 教師模塊管理員模塊 在線考試系統(tǒng) 圖 32 系統(tǒng)整體框架圖 3.2.1 管理員模塊 此模塊負責用戶 (教師、學生)、系部和考生試卷的管理。 (1)用戶管理。系統(tǒng)通過用戶的權限級別,限制其訪問數(shù)據的范圍:考生:其操作 權限僅為參加考試和查詢考試成績,不允許兩臺或兩臺以上計算
19、機用同一賬號同時登陸; 教師:該角色具有考生所沒有的權限,即具有考試科目管理、考試題庫管理以及試卷 信息管理等操作權限;系統(tǒng)管理員:為系統(tǒng)的唯一超級用戶,具有最高的權限,負責 整個系統(tǒng)的管理和維護。 (2)系部管理。管理員可對系部信息進行修改,添加和刪除工作。 (3)考生試卷管理??梢圆榭纯忌嚲硇畔⒓翱忌煽?,對于一些已經考試過的試卷 和成績可以進行刪除和清理工作。 3.2.2 考生模塊 只有通過驗證的考生,方可進入考試界面。 考生登錄后,選擇考試科目,進行在線答題;如果未到考試時間,則沒有試卷不 能進行考試;如果已經考試過,則不能重復再考,并可查看該科成績。 系統(tǒng)自動計時。進入考試頁面開始
20、答題后,自動計時器開始工作。當考試時間到, 自動結束考試并保存考卷。 考生答題完畢,提交試卷后,對于單選題、多選題、判斷題這些客觀題,在考生 答卷結束后計算機會自動給出分數(shù),并保存在成績表中;而對于簡答題等主觀題,在考 生答卷結束后其結果將存入考生答案表里,以便為教師對主觀題的評分做好準備。 3.2.3 教師模塊 教師模塊包括考試科目管理,題庫管理、考生試卷管理、組卷和閱卷等功能。教師 首先建立試題庫,并輸人大量試題。同時,還需進行試題維護如試題修改、添加、刪除、 發(fā)布等工作。在考試前,根據考試的科目、數(shù)量、分值等特點設計組卷策略,并根據組 卷策略隨機從試題庫中抽取試題組成試卷。教師在考試結束
21、后對主觀題進行在線閱卷并 評分。對于一些歷史上的考生試卷和成績可以進行刪除和清理等工作。 3.3 系統(tǒng)采用三層應用程序結構 本系統(tǒng)采用三層應用程序結構,即表示層、業(yè)務層和數(shù)據層。表示層用于用戶接口 的展示,負責直接跟用戶進行交互,用于數(shù)據錄入、數(shù)據顯示等。業(yè)務層用于訪問數(shù)據 層,從數(shù)據層取數(shù)據、修改數(shù)據以及刪除數(shù)據,并將結果返回給表示層。該層被劃分成 2 個子層:業(yè)務邏輯層(bll)和數(shù)據訪問層(dal),bll 在 dal 之上, dal 訪問 數(shù)據并將 其轉給 bll。數(shù)據層是數(shù)據庫或者數(shù)據源。在.net 中,通常它是一個 sql server 或 access 數(shù)據庫。 三層架構優(yōu)點是顯
22、而易見的:不必為了業(yè)務邏輯上微小變化而致使整個程序修改; 增強了代碼可重用性;適合群體開發(fā);便于不同層次開發(fā)人員之間合作。另外,使用時 不用本地安裝、登錄方便、交互便捷;客戶端只能通過邏輯層來訪問數(shù)據層,減少了入 口點,把很多危險的系統(tǒng)功能都屏蔽了。 3.4 系統(tǒng)數(shù)據庫設計 3.4.1 數(shù)據庫表的設計 本系統(tǒng)數(shù)據庫采用 sql server2000 數(shù)據庫,數(shù)據庫名稱為 onlineexam,一共包含 14 張表,這里簡要介紹幾個表。 表 31 用戶表 users 列名數(shù)據類型長度說明 useridvarchar 50 用戶賬號 usernamevarchar 50 用戶名字 userpwdv
23、archar 64 密碼 departmentidint 4 系部代碼 roleidint 3 角色號 表 32 考試科目表 course 列名數(shù)據類型長度說明 courseidint 4 科目代碼 coursenamevarchar 200 科目名稱 表 33 試卷詳細信息表 paperdetail 列名數(shù)據類型長度說明 idint 4 編號 paperidint 4 試卷號 typevarchar 10 試題類型 titleidint 4 題號 markint 4 分值 表 34 界面樹形圖表 treemenu 列名數(shù)據類型長度說明 nodeidint 4 節(jié)點號 parentidint
24、4 父節(jié)點 textvarchar 50 文字內容 urlvarchar 50 鏈接頁面 dutyvarchar 50 頁面名 表 35 用戶角色表 role 列名 數(shù)據類 型 長 度 說明 roleidint 4 角色號 rolenamevarchar 50 角色名 hasduty_departmentmanag e int 4 系部管理權限 hasduty_usermanageint 4 用戶管理權限 hasduty_rolemanageint 4 角色管理權限 hasduty_roleint 4 角色添加權限 hasduty_userscoreint 4 考生成績管理權 限 hasdut
25、y_coursemanageint 4 科目管理權限 hasduty_papersetupint 4 試卷制定權限 hasduty_paperlistsint 4 試卷管理權限 hasduty_userpaperlistint 4 考生試卷管理權 限 hasduty_singleselectmana ge int 4 單選題管理權限 hasduty_multiselectmanag e int 4 多選題管理權限 hasduty_fillblankmanageint 4 填空題管理權限 hasduty_judgemanageint 4 判斷題管理權限 hasduty_questionmanag
26、eint 4 問答題管理權限 表 36 試卷表 paper 列名數(shù)據類型長度說明 paperidint 4 試卷號 courseidint 4 科目代碼 papernamevarchar 200 試卷名 paperstatebit 1 試卷狀態(tài) 表 37 單選題信息表 singleproblem 列名數(shù)據類型長度說明 idint 4 編號 courseidint 4 科目代碼 titlevarchar 1000 題目 answeravarchar 500 選項一 answerbvarchar 500 選項二 answercvarchar 500 選項三 answerdvarchar 500 選
27、項四 answervarchar 2 答案 表 38 考生成績表 score 列名數(shù)據類型長度說明 idint 4 編號 useridvarchar 50 考生賬號 paperidint 4 試卷號 scoreint 4 成績 examtimedatetime 8 考試時間 judgetimedatetime 8 批改時間 表 39 考生答題信息表 useranswer 列名數(shù)據類型長度說明 idint 4 編號 useridvarchar 50 用戶賬號 paperidint 4 試卷號 typevarchar 50 試題類型 titleidint 4 題目編號 markint 4 分值 u
28、seranswervarchar 1000 考生答案 3.4.2 使用 ado.net 鏈接數(shù)據庫 adonet 是新推出的net 框架中的用于數(shù)據訪問的組件,是獨立于開發(fā)工具和 開發(fā)語言的數(shù)據訪問接口,它提供了程序開發(fā)人員、應用程序實時存取各類數(shù)據庫的能 力,可以輕松地完成對各類數(shù)據庫的查詢,存取等操作。ado 又被稱為通用數(shù)據訪問 (uda),其數(shù)據源包括數(shù)據庫,電子郵件,文件,文本,圖形等。使用 ado 不僅可以讀 取 access 和 sql server 數(shù)據庫,也可以讀取其他與 odbc 兼容的數(shù)據庫。ado 對數(shù)據 庫的操作步驟為: 創(chuàng)建數(shù)據源名 (dsn) 創(chuàng)建數(shù)據庫連接(co
29、nnection) 創(chuàng)建數(shù)據 庫對象 操作數(shù)據庫關閉數(shù)據庫對象和連接。 adonet 的主要特點是具有斷開式數(shù)據結構 ,能夠與 xml 緊密集成 ,使網絡 上的不同系統(tǒng)都可以相互運作。在 adonet 中通過 dataset 和net data providers 來 實現(xiàn)對數(shù)據源的連接和對數(shù)據的操作。通過 sqlconnection 對象的 connectionstring 屬性指 定連接參數(shù),建立同數(shù)據源的連接;對數(shù)據的更新、檢索、插入、刪除等由 sqlcommand 對象設置相應的 sql 令來完成。 為了實現(xiàn)與數(shù)據庫的連接,需要在 web.coniig 文件中配置鏈接字符串,并在配置節(jié)
30、 下的子配置節(jié)添加鏈接字符串,具體鏈接字符串的配置 如下 : 其中 data source 指定服務器的名稱,initial catalog 屬性指定數(shù)據庫的名稱,integrated security 表示以當前 windows 系統(tǒng)用戶身份去登錄 sql server 服務器。 4 管理員模塊的設計 4.1 登錄模塊的設計 用網頁設計的基本技術設計完成系統(tǒng)登錄主頁面,將教師、管理員和學生的登錄集 成在一個模塊。對于教師、管理員和學生而言,數(shù)據庫中存在的合法用戶在登錄頁面輸 入正確賬號、密碼和驗證碼通過驗證后即可進入系統(tǒng) (用戶名與密碼等登錄信息都不能 為空)。若輸入錯誤賬號、密碼和身份,則
31、會顯示出錯信息。其中,涉及到得一些程序代 碼如下: 判斷驗證碼是否正確,若錯誤,顯示出錯信息 if (string.compare(request.cookiesyzmcode.value, validator.text, true) != 0) lblmessage.text = 驗證碼錯誤!; 如果驗證碼正確,再檢查用戶密碼是否正確,在這里用到一個參數(shù)cookie, cookie 是一個網站在你硬盤上放置的信息,以便你下次訪問時,它記住某些東西。典型地, cookie能夠記住你在某個網站的參數(shù)選擇。使用超文本傳輸協(xié)議(http) ,網頁的每個請 求與其它請求是獨立的,由于這種原因,網頁服務
32、器不知道它先前發(fā)送給用戶的是什么 網頁,或者說是不知道你之前訪問的是什么。cookie基質則允許服務器將它自己的信息 儲存在用戶的電腦上。 if (user.checkpassword(txtuserid.text.trim() if (user.userpwd = pwd) /輸入密碼與用戶密碼相同 if (object.equals(request.cookiesuserid, null) createcookie(); else createcookie(); sessionuserid = txtuserid.text.trim();/存儲用戶編號 response.redirect(
33、default.aspx);/轉向管理員操作界面 else /密碼錯誤,給出提示 lblmessage.text = 您輸入的密碼錯誤!; 系統(tǒng)登錄頁面運行的結果如下: 圖 41 考試系統(tǒng)登錄界面 4.2 系部管理模塊的設計 管理員進入系統(tǒng)后,可對系部信息進行查詢,修改,添加和刪除等管理工作,涉及 的程序代碼如下: 運用 querydepartment 方法查詢所有系部信息,利用 gridview 控件指明數(shù)據源并綁 定數(shù)據 dataset ds = department.querydepartment(); gridview1.datasource = ds; /為gridview控件指名數(shù)
34、據源 gridview1.databind(); /gridview控件綁定數(shù)據 要對系部信息進行刪除,修改或添加時,需要先取出系部表的主鍵 string departmentid = gridview1.datakeys e.rowindex.values0.tostring(); department department = new department(); 然后,調出相應的存儲過程。刪除系部為例, if (department.deletebyproc(departmentid) response.write(alert (刪除成功!); else response.write(al
35、ert(刪除失敗!); gridview1.editindex = -1; gridviewbind();/重新綁定數(shù)據 系部管理頁面運行結果如下所示: 圖 42 系部管理 4.3 用戶信息模塊設計 該模塊包括三項內容,用戶的基本信息,權限設置和角色管理。 其中,用戶基本信息中包括用戶賬號,姓名,密碼,系別等內容,管理員可以添加, 刪除,修改用戶的信息。在進行這些操作前,首先用 queryusers 方法查詢所有用戶, datagridview 控件綁定數(shù)據源。下面以修改用戶信息為例,介紹一下涉及的程序代碼。 string userid = gridview1.datakeyse.rowind
36、ex.values0.tostring(); users user = new users(); user.username = (textbox)gridview1.rows e.rowindex.findcontrol(tbxname).text; user.roleid = convert.toint32(dropdownlist)gridview1. rowse.rowindex.findcontrol(ddlrole).selectedvalue); user.departmentid = convert.toint32(dropdownlist)gridview1.rowse.ro
37、windex.findcontrol(ddldepartment) .selectedvalue); if (user.updatebyproc(userid)/ updatebyproc方法修改用戶信息 gridviewbind(); response.write(alert(修改成功!); else response.write(alert(修改成功!); gridview1.editindex = -1; gridviewbind(); 權限設置部分,可以授予各類用戶一定得權限,使其具有訪問某些頁面的權力。以 授權用戶考試科目管理的權限為例,使用的代碼為 if (onlineexam.d
38、ataaccesshelper.getsafedata. validatedatarow_n(dt.rowsi, hasduty_departmentmanage) = 1) (checkbox)gv.rowsi.findcontrol(chkdepartmentmanage).checked = true; ht.add(hasduty_coursemanage, (checkbox)row.findcontrol(chkcoursemanage).checked = true ? 1 : 0); 在角色管理中,管理員可以添加,編輯和刪除角色。 運行結果如下圖所示: 圖 43 用戶管理 圖
39、44 用戶權限管理 圖 45 角色管理 4.4 用戶試卷管理模塊的設計 該模塊的功能可以查詢考生試卷,了解試卷是否批改,并可對以批改過的試卷進行 刪除;對于批改過的試卷可以查看考生的成績,也可對歷史成績進行刪除。為了方便, 還可以將考生的成績表以 excel 的形式導出或保存,便于查看。 涉及的程序代碼如下: 對已批改過的考生的試卷進行刪除 if (paper.deletebyproc(userid, paperid) response.write(alert(成功刪除!); else response.write(alert(刪除失??!); initdata(); 查詢考生成績,生成 exc
40、el 文件 scores score = new scores(); dataset ds = score.queryscore(); datatable dt = ds.tables0; string newfilename=datetime.now. tostring(yyyymmddhhmmss)+ .xls; newfilename = server.mappath(temp/ + newfilename); file.copy(server.mappath(./module01.xls), newfilename,true); string strconn = provider=mi
41、crosoft.jet.oledb.4.0;data source= + newfilename + ;extended properties=excel 8.0; oledbconnection conn = new oledbconnection(strconn); conn.open(); oledbcommand cmd = new oledbcommand(, conn); foreach (datarow dr in dt.rows) string xsqlstring = insert into sheet1$; xsqlstring += (用戶姓名,試卷,成績,考試時間) v
42、alues(; xsqlstring += + drusername + ,; xsqlstring += + drpapername + ,; xsqlstring += + drscore + ,; xsqlstring += + drexamtime + ); cmd.commandtext = xsqlstring; cmd.executenonquery(); conn.close(); system.io.filestream reader = system.io.file.openread(newfilename); long length = reader.length; re
43、sponse.buffer = false; response.addheader(connection, keep-alive); response.contenttype = application/octet-stream; response.addheader(content-disposition, attachment; filename= + server.urlencode(學生成績.xls); response.addheader(content-length, length.tostring(); byte buffer = new byte10000;/存放欲發(fā)送數(shù)據的緩
44、沖區(qū) int bytetoread;/每次實際讀取的字節(jié)數(shù) while (length 0) if (response.isclientconnected) bytetoread = reader.read(buffer, 0, 10000); response.outputstream.write(buffer,0,bytetoread); response.flush(); length -= bytetoread; else length = -1; reader.close(); file.delete(newfilename); 考生試卷管理界面如下圖所示: 圖 46 考生試卷管理
45、考生成績管理頁面的運行結果如下: 圖 47 考生成績管理 5 考生模塊的設計 由于受權限管理的限制,考生登錄進入系統(tǒng)后,可以對密碼進行修改,如果未到考 試時間,會給出提示“沒有試卷!” ;在規(guī)定的考試時間可以進行在線考試,答題完畢后 可以提交試卷。如果某一門科目考生已經考過,當?shù)卿浵到y(tǒng)再次選擇該科進行考試時, 系統(tǒng)會給出提示“您已經考試過了,不能再考試!” ??荚嚱Y束后,對于客觀題,計算機 將會自動批改并給出成績,主觀題則由教師進行批改,如果試卷已經批改過,考生登錄 系統(tǒng)后即可看到成績。 該模塊涉及到的程序代碼如下: protected void scoreinitdata()/初始化成績 s
46、cores score = new scores(); /創(chuàng)建scores對象 dataset ds = score.queryuserscore(sessionuserid.tostring(); if (ds.tables0.rows.count 0) gridview1.datasource = ds; gridview1.databind(); /綁定數(shù)據 else lblscore.text=沒有成績!; protected void gridview1_pageindexchanging(object sender, gridviewpageeventargs e) gridvie
47、w1.pageindex = e.newpageindex; scoreinitdata(); protected void button1_click(object sender, eventargs e) users user = new users(); if(user.istest(sessionuserid.tostring().trim(),convert.toint32(ddlpaper.selectedvalue) lblmessage.text = 您已經考試過了,不能再考試!; else sessionpaperid = ddlpaper.selectedvalue; se
48、ssionpapername = ddlpaper.selecteditem.text; response.redirect(usertest.aspx); /轉向考試界面 考生登錄界面如下圖所示: 圖 51 考生進入系統(tǒng)界面 如果考生已經考試過所選擇的科目,當考生再次選擇時,會出現(xiàn)提示,界面如下圖: 圖 52 考生重復考試界面 6 教師模塊的設計 教師登錄進入系統(tǒng)后,可以進行修改密碼,進行考試科目的管理,試卷制定與維護, 用戶試卷管理,試題類別管理等工作。其中,用戶試卷管理的工作同管理員的相同,這 里重點介紹一下試卷制定與維護,試題類別管理兩個模塊。 6.1 科目管理模塊的設計 對于考試科目
49、可以進行查詢,添加,修改和刪除。 if (course.insertbyproc() lblmessage.text = 成功添加該考試科目!; txtname.text = ; server.transfer(coursemanage.aspx); else lblmessage.text = 添加該考試科目失??!; else lblmessage.text = 數(shù)據庫中存在具有該名稱的科目,請重新輸入!; 運行結果如圖所示: 圖 61 考試科目管理 6.2 試卷制定與維護模塊的設計 該模塊不僅是教師模塊中的一個重要部分,也是整個系統(tǒng)中的重要部分。教師首先 建立試題庫,并輸入一定數(shù)量的考題。
50、在考試前,根據題目的類型,數(shù)量,分值,自動 生成試卷。試卷基本信息主要包括課程代碼、試卷代號、考試科目、題型、題量、分值、 試卷狀態(tài)、考試時間等,試卷生成后,可以查看試卷的具體詳細內容,并可設置試卷的 狀態(tài)(可用或不可用) ,對于考試過的試卷或不合適的試卷可以進行刪除。 考試前教師可以設置試卷的各種題型的數(shù)量和分值,然后計算機從題庫中選擇相應 的試題自動生成試卷。以單選題為例,需要編寫的程序代碼為: string gridview1str = select top + int.parse(txtsinglenum.text.trim() + * from singleproblem where
51、 courseid= + courseid + order by newid(); 試卷生成后,需要將其保存到數(shù)據庫中,涉及到得程序語句如下(仍然只給出單選 題的代碼): database db = new database(); string insertpaper = insert into paper(courseid,papername,paperstate) values( + int.parse(ddlcourse.selectedvalue) + , + txtpapername.text + ,1) select identity as id; int afterid = ge
52、tidinsert(insertpaper); /保存試卷并返回自動生成的試卷編號 if (afterid 0) foreach (gridviewrow dr in gridview1.rows)/保存試卷單選題信息 string single = insert into paperdetail(paperid,type,titleid,mark) values( + afterid + ,單選題, + int.parse(label)dr.findcontrol(label3).text) + , + int.parse(txtsinglefen.text) + ); db.insert(
53、single); 試卷制定界面如下圖所示: 圖 62 試卷制定界面 圖63 試卷維護界面 6.3 試題類別管理模塊的設計 試題的類型大體分為五種:單選題、多選題、判斷題、填空題和問答題。教師不僅 要制定維護試卷,還要對題庫中的各種類型的試題進行維護,可以查看、添加、修改或 刪除試題,不斷更新試題庫。在這一部分利用 web 表單控件來顯示并操作數(shù)據庫,例如, 利用 gridview 控件綁定數(shù)據。 以單選題為例,首先初始化考試科目: course course = new course(); /創(chuàng)建考試科目對象 dataset ds = course.querycourse(); /查詢考試科目
54、信息 ddlcourse.datasource = ds; /指名考試科目列表框數(shù)據源 ddlcourse.datatextfield = coursename; ddlcourse.datavaluefield = courseid; ddlcourse.databind(); /綁定數(shù)據 gridviewbind();/為 gridview 綁定數(shù)據 然后,利用 gridview 控件綁定數(shù)據事件,使其顯示所選科目的全部單選題信息: singleproblem singleproblem = new singleproblem(); /創(chuàng)建單選題對象 dataset ds = single
55、problem.querysingleproblem (int.parse(ddlcourse.selectedvalue);/根據考試科目查詢單選題信息 gridview1.datasource = ds.tables0.defaultview; /為gridview控件指名數(shù)據源 gridview1.databind(); 單選題的顯示界面如下: 圖 64 單選題管理界面 添加判斷題的運行界面如下: 圖 65 判斷題的添加 7 結束語 本系統(tǒng)采用 c#技術,基于 b/s 體系結構開發(fā),整個系統(tǒng)由三個模塊組成:管理員模 塊、學生模塊和教師模塊。實現(xiàn)了試題輸入、組卷、發(fā)布試卷和考后進行成績及試卷、 試題和用戶的管理全過程。設計了簡明直觀的系統(tǒng)用戶界面,設計和實現(xiàn)了網上考試系 統(tǒng)后臺數(shù)據庫并為系統(tǒng)自身提供了必要的安全保證。由于采用了 b/s 結構,系統(tǒng)具有良 好的可維護性和可擴充性,不僅適合計算機系課程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中式餐飲行業(yè)趨勢及市場前景分析
- 2025年度網絡安全數(shù)據分析師合作協(xié)議
- 戶外廣告居間合作協(xié)議
- Module 10 Unit 1 Happy New Year(教學設計)-2024-2025學年外研版(一起)英語二年級上冊
- 2025年改性丙烯酸樹脂涂飾劑項目發(fā)展計劃
- 2025年度土地承包經營權流轉與農業(yè)社會化服務合作合同協(xié)議書
- 感光材料快遞郵寄協(xié)議
- 動物產科學練習題(含答案)
- 第3課 古代西亞、非洲文化 教學設計-2023-2024學年高中歷史統(tǒng)編版(2019)選擇性必修三
- 12在天晴了的時候教學設計-2023-2024學年四年級下冊語文統(tǒng)編版
- 英語-廣東省上進聯(lián)考領航高中聯(lián)盟2025屆高三下學期開學考試題和答案
- 安全主任在2025年春季開學典禮上的講話稿
- 2024-2025年中國專網通信行業(yè)市場前景預測及投資戰(zhàn)略研究報告
- 2025年春季新北師大版生物七年級下冊全冊教學課件
- 二零二五年度能源行業(yè)員工勞動合同標準范本3篇
- 培訓課件:律師客戶溝通技巧
- 2025年春新外研版(三起)英語三年級下冊課件 Unit5第1課時Startup
- 2025年春新外研版(三起)英語三年級下冊課件 Unit1第2課時Speedup
- 2024年石柱土家族自治縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 西藏事業(yè)單位c類歷年真題
- 生物新教材培訓的心得體會
評論
0/150
提交評論