版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計(論文)基于C/S模式的在線考試系統(tǒng)的設(shè)計與實現(xiàn)學(xué)院(系): 信息工程學(xué)院 專業(yè)班級: 通信0906 目 錄摘 要IAbstractII1 緒論11.1 研究背景11.2 研究的目的與意義21.3 實現(xiàn)技術(shù)21.4 需求分析31.5 可行性分析31.6 論文框架及主要內(nèi)容42 系統(tǒng)總體設(shè)計52.1 系統(tǒng)結(jié)構(gòu)功能52.1.1 在線考試模塊52.1.2 后臺管理模塊52.2 系統(tǒng)用例62.2.1 管理員UML用例62.2.2 學(xué)生UML用例72.3 系統(tǒng)流程圖73 數(shù)據(jù)庫設(shè)計93.1 數(shù)據(jù)庫分析93.2 數(shù)據(jù)庫設(shè)計步驟93.3 數(shù)據(jù)庫概念設(shè)計103.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計124 客戶端在
2、線考試系統(tǒng)詳細(xì)設(shè)計15考生登錄界面154.2 在線考試系統(tǒng)主界面164.3 個人信息維護(hù)界面174.4 修改密碼界面184.5 考試協(xié)議界面204.6 在線考試界面214.7 成績查詢界面235 服務(wù)器端后臺管理系統(tǒng)詳細(xì)設(shè)計25 管理員登錄界面255.2 后臺管理系統(tǒng)主界面265.3 個人信息維護(hù)界面275.4 修改密碼界面295.5 試題維護(hù)界面295.6 考生信息維護(hù)界面315.7 成績查詢界面336 結(jié)論和展望35 結(jié)論35 展望35參考文獻(xiàn)37致 謝38摘 要在線考試系統(tǒng)旨在實現(xiàn)考試的無紙化管理,對一些科目的考試可以通過互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行,方便校方考務(wù)的管理,也方便了考生,尤其適合考生
3、分布廣,不易集中的遠(yuǎn)程教育。本系統(tǒng)采用ASP.NET和Microsoft Access 2003數(shù)據(jù)庫,編程采用C#語言,開發(fā)了基于C/S體系結(jié)構(gòu)的在線考試系統(tǒng)。系統(tǒng)分為兩大模塊:服務(wù)器端后臺管理模塊和客戶端在線考試模塊。其中服務(wù)器端后臺管理模塊是進(jìn)行題目的添加、修改和刪除,考生信息的維護(hù),以及考試成績查詢,是系統(tǒng)運(yùn)行的基礎(chǔ);客戶端在線考試模塊是考生通過自己的姓名和密碼登錄系統(tǒng),進(jìn)入考試界面后由系統(tǒng)按照管理員預(yù)先設(shè)置好的試卷結(jié)構(gòu)從題庫中隨機(jī)抽取適合的題目,生成試卷,考生開始答題,交卷后可以查詢考試歷史記錄及成績。本系統(tǒng)改進(jìn)了學(xué)生的考核手段,實現(xiàn)了由傳統(tǒng)考試方式向網(wǎng)絡(luò)無紙化考試方式的轉(zhuǎn)變。 關(guān)鍵
4、詞: ASP.NET;Access;在線考試系統(tǒng);C#語言AbstractOn-line examination system the aim is carry out examination of have no the paper turn a management, can carry on through Internet or bureau area net to some examinations of categories, convenient school square test the management of duty, also convenient the exam
5、inee is particularly suitable for examinee to distribute widely and not easily concentrated of long range education.The system uses ASP.NET and Microsoft Access 2003 database, and C# language, is developed based on C/S system structure examination system. The system is divided into two modules: Back
6、ground management module on the server and client on-line examination module. The background management module is to add, store and delete questions, student information maintenance and test scores query, is the basis of the system; The on-line examination module is a client module , students can en
7、ter the interface by their names and passwords, then the system will set papers in accordance with the administrator s set from the questions ,After students submit their exam paper, they can scan history records and test results.The system is to improve the courses teaching quality, improve student
8、s' assessment means, achieved by the traditional examination way to network paperless examination mode.Keywords:ASP.NET ; Access 2003 ; Online Exam System ; C# language1 緒論在現(xiàn)今的生活中相信每個人都經(jīng)歷過無數(shù)的考試,例如:在學(xué)校階段不僅需要完成各學(xué)科的考試,還要完成英語等級考試、計算機(jī)等級考試等。隨著社會的發(fā)展,考試也逐漸自動化、電子化。使用電子化的考試方式,可以實現(xiàn)自動閱卷,大大減輕了老師的負(fù)擔(dān)。在本文中,就來開發(fā)
9、一個學(xué)生在線考試、自動閱卷的系統(tǒng) 1。 研究背景近幾年來,隨著Internet的崛起,遠(yuǎn)程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢頭不亞于電子商務(wù)2。聯(lián)合國教科文組織1998年在其一項調(diào)查報告中指出:無論是發(fā)達(dá)國家還是發(fā)展中國家,都不同程度存在教育滯后于現(xiàn)實需要的問題,特別是第三世界國家3。而普及遠(yuǎn)程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要動力4。中國的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長,同時,網(wǎng)絡(luò)教育也為中國的教育事業(yè)開辟了新的天地。對于網(wǎng)絡(luò)考試系統(tǒng)的前身計算機(jī)輔助測驗系統(tǒng)的研究,國外很早就開始了,并且在題庫建設(shè)、統(tǒng)計測量等方面取得
10、很多顯著理論成果。由于互聯(lián)網(wǎng)技術(shù)最近幾年才發(fā)展起來,關(guān)于Internet環(huán)境下的網(wǎng)絡(luò)考試測評系統(tǒng)的研究目前還處于發(fā)展階段,在設(shè)計開發(fā)方面缺乏系統(tǒng)的理論指導(dǎo)5。關(guān)于網(wǎng)絡(luò)考試測評系統(tǒng)開發(fā)規(guī)范與標(biāo)準(zhǔn)的研究方面,我國教育部高教司于2000年5月推出了現(xiàn)代遠(yuǎn)程教育資源建設(shè)技術(shù)規(guī)范(試行本),其中對網(wǎng)絡(luò)題庫、考試系統(tǒng)的建設(shè)規(guī)范進(jìn)行了定義。目前這些標(biāo)準(zhǔn)還處于不斷檢驗、完善階段,符合這些標(biāo)準(zhǔn)的網(wǎng)絡(luò)考試系統(tǒng)還很少。我國的CELTS標(biāo)準(zhǔn)主要參考IEEE和IMS,目前完成了11項規(guī)范,處于試用階段。目前國內(nèi)的大多數(shù)產(chǎn)品,無論是商業(yè)公司或?qū)W校開發(fā)的網(wǎng)絡(luò)考試系統(tǒng)大都與這些規(guī)范有一定差距。實踐應(yīng)用計算機(jī)應(yīng)用于考試源于美國
11、,歷經(jīng)多年,已經(jīng)在國外得到了廣泛的應(yīng)用。國外有許多專門的考試機(jī)構(gòu)采用計算機(jī)輔助測試對參加考核的對象進(jìn)行評價。如在信息技術(shù)領(lǐng)域中全球領(lǐng)先的計算機(jī)公司的授證考試,還有專業(yè)人員的認(rèn)證考試,建筑師和股票經(jīng)紀(jì)人的考試、醫(yī)護(hù)人員的專業(yè)測試、美國飛機(jī)駕駛員(FAA)的考試等。世界上最大的考試機(jī)構(gòu)美國教育考試服務(wù)中心從1993年開始在GRE(研究生入學(xué)考試)采用自適應(yīng)考試模式,同時逐步減少紙卷筆試為基礎(chǔ)的考試。2000年開始,TOEFL考試在中國采用自適應(yīng)考試模式??偟目磥恚瑖獾目荚囂貏e是技術(shù)資格認(rèn)證的考試,都逐步采用了計算機(jī)輔助測試的方法,且自適應(yīng)考試的形式開始廣泛運(yùn)用。我國在這方面相對落后,目前主要是計
12、算機(jī)題庫的應(yīng)用,只有計算機(jī)類的考試部分采用了計算機(jī)輔助測試的方式,如大學(xué)計算機(jī)初級考試、高中信息技術(shù)會考。1.2 研究的目的與意義隨著網(wǎng)絡(luò)的迅速發(fā)展和廣泛普及,網(wǎng)絡(luò)化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個特征,并對教育的發(fā)展形成新的推動力。遠(yuǎn)程教育成為現(xiàn)代教育技術(shù)未來發(fā)展的重要方向之一,考試測試作為遠(yuǎn)程教育的一個子系統(tǒng)也成為一個重要的研究領(lǐng)域6。傳統(tǒng)的考試方式一般要經(jīng)過人工出卷、考生考試、人工閱卷等過程。對于一些課程來說,隨著考生數(shù)量的增加,教師出卷閱卷的工作量將會越來越大,并且其工作十分煩瑣且容易出錯。在線考試系統(tǒng)課題產(chǎn)生的背景是當(dāng)今教育信息化的趨勢及我國高校教育信息化系統(tǒng)
13、的建設(shè),目的是充分利用學(xué)?,F(xiàn)有的計算機(jī)軟、硬件和網(wǎng)絡(luò)資源實現(xiàn)無紙化考試以避免傳統(tǒng)手工考試的不足7。與傳統(tǒng)考試模式相比,網(wǎng)上考試滲入了更多的技術(shù)環(huán)節(jié),對實現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過計算機(jī)來實現(xiàn)網(wǎng)上考試,是現(xiàn)代教育技術(shù)的一個具體實現(xiàn),具有很重要的現(xiàn)實意義5??梢詫崿F(xiàn)考務(wù)工作的全自動化管理,可以有效利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大效力,更好的為學(xué)校的教學(xué)、科研、管理服務(wù),可以大規(guī)模的實行考試,實現(xiàn)考試的客觀性、公證性,自動化組卷、閱卷可以減輕教師的工作強(qiáng)度。在線考試系統(tǒng)是傳統(tǒng)考場的延伸,它可以利用網(wǎng)絡(luò)的廣闊空間 ,隨時隨地的對學(xué)生進(jìn)行考試,加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳
14、統(tǒng)考試的過程8。另外考慮到C/S模式的系統(tǒng)能充分發(fā)揮客戶端的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點就是客戶端響應(yīng)速度快。此次開發(fā)的網(wǎng)上考試系統(tǒng),旨在探索一種基于C/S模式的計算機(jī)考試模式。通過這種新的模式,創(chuàng)造一種新的考試環(huán)境,提高考試工作效率和標(biāo)準(zhǔn)化水平,使學(xué)校管理者、教師和學(xué)生可以在任何時候、任何地點通過計算機(jī)進(jìn)行考試。基于這些優(yōu)點,我們開始著手開發(fā)在線考試系統(tǒng)。 實現(xiàn)技術(shù)硬件平臺CPU:Intel(R) Core(TM) i3內(nèi)存:2G硬盤:250G軟件平臺操作系統(tǒng):Windows 7數(shù)據(jù)庫:Microsoft Office Access 2003/Microso
15、ft SQL Sever 2005開發(fā)工具:Microsoft Visual Studio 2010開發(fā)語言:C#語言1.4 需求分析傳統(tǒng)的學(xué)校教學(xué)中,進(jìn)行一場考試,要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷,這是一個繁雜的過程,需要大量人力、物力與時間的投入,已經(jīng)越來越不適應(yīng)學(xué)校信息化建設(shè)與現(xiàn)代教學(xué)的需要9。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中安排考試,給校方和學(xué)生帶來了眾多的不便。而在線考試系統(tǒng),正是信息化建設(shè)的產(chǎn)物,它是傳統(tǒng)考場的延伸。它可以利用互聯(lián)網(wǎng)絡(luò)和局域網(wǎng),隨時隨地的對學(xué)生進(jìn)行考試,加上數(shù)據(jù)庫技術(shù)的利用大大簡化了傳統(tǒng)考試的過程,因此在線
16、考試是電子化教學(xué)的不可缺少的輔助手段。在當(dāng)今信息時代,計算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)越來越廣地應(yīng)用于各個領(lǐng)域,改變著人們的學(xué)習(xí)、工作、生活乃至思維方式,也引起了教育領(lǐng)域的重大變革10。將計算機(jī)與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教育中,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段?,F(xiàn)在很多高校都配備了大量先進(jìn)的計算機(jī)設(shè)備,聯(lián)通了局域網(wǎng),具備了無紙化在線考試方式的基本條件,硬件上完全具備了計算機(jī)隨機(jī)抽題、臨時組卷、自動評分、回收成績的條件,我們著手設(shè)計開發(fā)一個基于CS模式的在線考試系統(tǒng)。本系統(tǒng)開發(fā)的具體目標(biāo)為:能將考生信息保存在數(shù)據(jù)庫中,并支持考生信息的增刪修改
17、。管理員事先所擬試題, 亦能保存在數(shù)據(jù)庫中,并支持試題的增刪修改??忌卿浐?,自動生成題目,組成試卷。學(xué)生自點擊開始答題按鈕,即進(jìn)入考試計時,學(xué)生在計算機(jī)上完成答題。自動控制考試時間。試后自動評分,計算考試成績。支持試后考生成績查詢。具有方便、簡單的界面,有較高的安全性和穩(wěn)定性。1.5 可行性分析可行性分析,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功11??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。(1)經(jīng)濟(jì)可行性:
18、主要是對項目的經(jīng)濟(jì)效益進(jìn)行評價,本系統(tǒng)作為一個畢業(yè)設(shè)計,無需開發(fā)經(jīng)費,所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。(2) 技術(shù)上的可行性:技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統(tǒng)采用了C/S模式進(jìn)行開發(fā),結(jié)合了Internet技術(shù)。數(shù)據(jù)庫服務(wù)器選用Access數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。(
19、3)時機(jī)可行性:目前,大學(xué)的校園網(wǎng)絡(luò)覆蓋了教學(xué)區(qū)和學(xué)生區(qū)的主要建筑物及部分家屬宿舍,學(xué)校良好的網(wǎng)絡(luò)設(shè)施為開發(fā)使用網(wǎng)絡(luò)考試系統(tǒng)提供了堅實的基礎(chǔ)。(4)管理上的可行性:主要是教務(wù)處管理人員進(jìn)行管理,現(xiàn)有的管理制度和方法科學(xué),規(guī)章制度齊全,為系統(tǒng)的建設(shè)提供了制度保障。 綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。1.6 論文框架及主要內(nèi)容第一章:緒論。主要包括研究背景、意義、目的,以及實現(xiàn)技術(shù)、需求分析、可行性分析。第二章:系統(tǒng)總體設(shè)計。包括系統(tǒng)功能結(jié)構(gòu)分析,用例和系統(tǒng)流程圖。第三章:數(shù)據(jù)庫設(shè)計。包括數(shù)據(jù)庫分析,數(shù)據(jù)庫概念設(shè)計和邏輯結(jié)構(gòu)設(shè)
20、計。第四章:客戶端在線考試系統(tǒng)詳細(xì)設(shè)計。包括考生登錄界面、客戶端主界面、個人信息維護(hù)界面、密碼修改界面、考試界面、成績查詢界面的窗體設(shè)計及代碼分析。第五章:服務(wù)器端后臺管理系統(tǒng)詳細(xì)設(shè)計。包括管理員登錄界面、后臺管理主界面、管理員信息維護(hù)界面、密碼修改界面、試題維護(hù)界面、考生信息維護(hù)界面、成績查詢界面的窗體設(shè)計及代碼分析。第六章:結(jié)論和展望。包括本次論文的完成結(jié)果分析及改進(jìn)方法。2 系統(tǒng)總體設(shè)計2.1 系統(tǒng)結(jié)構(gòu)功能本系統(tǒng)基于C/S模式,即Client/Sever模式,所以本系統(tǒng)主要分為兩大模塊:Client端考試模塊;Sever端后臺管理模塊。在線考試系統(tǒng)功能結(jié)構(gòu)如圖2.1所示。圖2.1 系統(tǒng)功
21、能結(jié)構(gòu)圖2.1.1 考試模塊在本模塊中,已登錄的學(xué)生可以先完善個人資料,再選擇在線考試。考試過程中系統(tǒng)自動倒計時,提交試卷答案后自動閱卷,同時把一些相關(guān)信息提交到服務(wù)器端,供以后其它模塊使用。學(xué)生提交答案之后,系統(tǒng)自動對照數(shù)據(jù)庫的正確答案算出分?jǐn)?shù),并將成績提交到數(shù)據(jù)庫。考生參加完考試以后,管理員能對所有成績進(jìn)行查詢,并可以刪除指定紀(jì)錄。學(xué)生只能登錄查看自己的考試記錄和成績。2.1.2 后臺管理模塊此模塊只對管理員用戶開放。在此模塊中,管理員用戶可以修改學(xué)生信息、創(chuàng)建試卷、對試卷進(jìn)行維護(hù)、查詢學(xué)生以往考試成績等功能。因考試系統(tǒng)功能所限,在試卷的維護(hù)過程中只允許錄入選擇、判斷型題目。錄入題目過程中
22、,要求教師同時給出每題正確答案,并可隨時對錄入的試題進(jìn)行修改。教師可以根據(jù)上課的進(jìn)度,隨時添加新一期的考試。添加完畢后,由系統(tǒng)自動從相應(yīng)的題庫中抽取設(shè)定的試題,生成試卷。2.2 系統(tǒng)UML用例用例圖主要用來描述“用戶、需求、系統(tǒng)功能單元”之間的關(guān)系。它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖。作用是幫助開發(fā)人員以一種可視化的方式理解系統(tǒng)的功能需求。用例圖包含的主要元素如下:1. 參與者(Actor)表示與應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶、組織或外部系統(tǒng)。用一個小人表示。2. 用例(Use Case)用例就是外部可見的系統(tǒng)功能,對系統(tǒng)提供的服務(wù)進(jìn)行描述。用橢圓表示。3.關(guān)系用
23、例圖中涉及的關(guān)系有:關(guān)聯(lián)、泛化、包含、擴(kuò)展。2.2.1 管理員UML用例管理員UML用例如圖2.2所示。圖2.2 管理員用例圖它包括參與者管理員,用小人表示;系統(tǒng)提供的服務(wù),即用例,用橢圓表示;以及參與者與用例之間的關(guān)系,用箭頭表示。該用例圖表明管理員可以參與的系統(tǒng)功能有:登錄,個人信息維護(hù),學(xué)生信息管理,試題管理,系統(tǒng)管理,考試成績管理。2.2.2 學(xué)生UML用例學(xué)生UML用例如圖2.3所示。圖2.3 學(xué)生用例圖它包括參與者學(xué)生,用小人表示;系統(tǒng)提供的服務(wù),即用例,用橢圓表示;以及參與者與用例之間的關(guān)系,用箭頭表示。該用例圖表明學(xué)生可以參與的系統(tǒng)功能有:系統(tǒng)登錄,個人信息維護(hù),獲取試題,完成
24、答題,查看成績。2.3 系統(tǒng)流程圖所示。用戶登錄,首先進(jìn)行身份識別,只有合法的用戶才能登錄,身份識別不合法則重新回到身份識別模塊。身份識別合法后接下來判斷身份,學(xué)生進(jìn)入考試系統(tǒng)主界面,管理員進(jìn)入后臺管理主界面??荚囅到y(tǒng)主界面包含三個模塊:個人信息維護(hù),在線考試,查看考試成績,在線考試又包含閱讀考試協(xié)議,開始考試,提交試卷三個模塊。后臺管理主界面包含四個模塊:個人信息維護(hù),考生信息管理,試題信息管理,考生成績管理。圖2.4 系統(tǒng)流程圖3 數(shù)據(jù)庫設(shè)計Access數(shù)據(jù)庫具有強(qiáng)大的數(shù)據(jù)管理與處理能力、具有較高的安全性能、支持遠(yuǎn)程存取等,同時可做到與ASP.NET前臺開發(fā)工具的無縫連接12,符合考試系統(tǒng)
25、的需求,因此選擇Access 2003作為服務(wù)器的后臺數(shù)據(jù)庫。3.1 數(shù)據(jù)庫分析ASP.NET本身無法存取數(shù)據(jù)庫,必須與ADO.NET配合起來才能存取數(shù)據(jù)庫記錄。ADO.NET對象可以快速簡單地存取各種數(shù)據(jù),其對象模型中有六個主要的組件,分別是OleDbConnection對象、OleDbCommand對象、OleDbDataAdapter對象、DataSet對象、DataTable對象以及OleDbDataReader對象13。這些組件中負(fù)責(zé)建立聯(lián)機(jī)和數(shù)據(jù)操作的部分稱為數(shù)據(jù)操作組件(Managed Providers),分別由OleDbConnection對象、OleDbCommand對象、
26、OleDbDataAdapter對象、DataTable對象以及OleDbDataReader對象所組成。數(shù)據(jù)操作組件最主要的作用是當(dāng)作DataSet對象以及數(shù)據(jù)源之間的橋梁,負(fù)責(zé)將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet對象中以及將數(shù)據(jù)存回數(shù)據(jù)源的工作。各組件主要運(yùn)作方式及功能如下:(1)OleDbConnection對象:建立程序和數(shù)據(jù)源之間的聯(lián)機(jī),以便存取數(shù)據(jù)源內(nèi)的數(shù)據(jù)。(2)OleDbCommand對象:通過OleDbConnection對象對數(shù)據(jù)源下達(dá)操作數(shù)據(jù)庫的命令。(3)OleDbDataAdapter對象:用于從數(shù)據(jù)源獲取數(shù)據(jù),填充DataSet中的表和約束,并將OleDbCom
27、mand對象通過OleDbConnection對象對數(shù)據(jù)源下指令與數(shù)據(jù)源進(jìn)行互動。(4)DataSet對象:必須結(jié)合OleDbDataAdapter對象使用,一次讀取所有的數(shù)據(jù),可對網(wǎng)頁中顯示的數(shù)據(jù)做編輯,也可以在數(shù)據(jù)中任意移動。(5)DataTable對象:用于從數(shù)據(jù)庫中讀取數(shù)據(jù)到緩存。(6)OleDbDataReader對象:必須結(jié)合OleDbCommand對象使用,一次讀取一個數(shù)據(jù),只讀且數(shù)據(jù)只能單向向前移動,一般用于單獨顯示數(shù)據(jù)。3.2 數(shù)據(jù)庫設(shè)計步驟一個運(yùn)行良好的系統(tǒng)必須建立在一個設(shè)計合理的數(shù)據(jù)庫基礎(chǔ)上,如果沒有一個設(shè)計合理的數(shù)據(jù)庫模型,將會增加客戶端和服務(wù)器端程序的編程和維護(hù)的難度
28、,并且會影響系統(tǒng)實際運(yùn)行的性能,使系統(tǒng)的功能不能完全的展現(xiàn)出來??紤]數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設(shè)計分為以下六個階段:(1)需求分析階段:進(jìn)行數(shù)據(jù)庫設(shè)計首先必須準(zhǔn)確了解與分析用戶需求,這是整個設(shè)計過程的基礎(chǔ)。(2)概念結(jié)構(gòu)設(shè)計階段:是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立與具體的DBMS的概念模型。(3)邏輯結(jié)構(gòu)設(shè)計階段:邏輯結(jié)構(gòu)設(shè)計是將概念結(jié)構(gòu)轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。(4)數(shù)據(jù)庫物理設(shè)計階段:數(shù)據(jù)庫物理設(shè)計是為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)。(5)數(shù)據(jù)庫實施階段:設(shè)計人員運(yùn)用DBMS提供的數(shù)據(jù)語言及其宿主語言,
29、根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。(6)數(shù)據(jù)庫運(yùn)行和維護(hù)階段:數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。3.3 數(shù)據(jù)庫概念設(shè)計本系統(tǒng)比較復(fù)雜,需要保存的信息很多,所以需要規(guī)劃多個實體。本系統(tǒng)中最基本的實體有管理員登錄信息實體、考生信息實體、考試信息詳細(xì)記錄實體、考試成績實體、試題信息實體等。(1)為了記錄管理員和每個學(xué)生的姓名,學(xué)號,密碼,成績等信息,需要創(chuàng)建管理員以及學(xué)生信息表。管理員及學(xué)生信息實體E-R圖如圖3.1,圖3.2所示。圖3.1 管理員信息實體E-R圖圖3.2 學(xué)生信息實體E-R圖(2)為了方便統(tǒng)計每個考生每道題的答題及得分
30、情況,需要創(chuàng)建考生成績詳細(xì)記錄表來保存考生每道題的答題及得分結(jié)果信息??忌煽冊敿?xì)記錄實體E-R圖如圖3.3所示: 考生成績詳細(xì)記錄實體E-R圖(3)每種類型的題目都在發(fā)生變化,管理員需要將失去意義的考題從題庫中刪除,并添加一些新題目。創(chuàng)建試題信息表,用來存儲試題內(nèi)容。試題信息實體E-R圖如圖3.4所示:圖3.4 試題信息實體E-R圖3.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計Access的對象包括表、查詢、窗體、報表、頁、宏和模塊,這些對象需自行定義14。根據(jù)系統(tǒng)的需要本次設(shè)計的數(shù)據(jù)庫數(shù)據(jù)表包括四個方面:1.題庫數(shù)據(jù):可以包括判斷題,選擇題,填空題3種類型題目,包括題目的題干,選項和答案。2.管理員和學(xué)生資料
31、信息數(shù)據(jù):包括姓名,密碼,性別,班級和學(xué)號等基本信息。3.成績資料表數(shù)據(jù):包括學(xué)生姓名,分?jǐn)?shù),考試日期等基本數(shù)據(jù)。4.考試答題記錄數(shù)據(jù):包括學(xué)生姓名,考試題目,學(xué)生作答結(jié)果,正確答案,是否正確等基本信息。通過對系統(tǒng)的分析,以及對所需數(shù)據(jù)的統(tǒng)計,設(shè)計的數(shù)據(jù)庫中包括的數(shù)據(jù)表和其相應(yīng)的功能如下:表3.1 系統(tǒng)數(shù)據(jù)表及其功能 數(shù)據(jù)表功能Admin(管理員信息表)存放管理員用戶的基本信息Student(學(xué)生信息表)存放考生用戶基本信息Question(試題信息表)存放試題基本信息ExamScore(成績信息表)存放學(xué)生考試成績基本信息HisScoreItem(考生成績詳細(xì)記錄表)存放考生答題記錄詳細(xì)信息
32、根據(jù)對考試系統(tǒng)中數(shù)據(jù)的分析,得出數(shù)據(jù)庫中的數(shù)據(jù)表的字段,類型等,具體設(shè)計由以下五張表組成。(1) 管理員信息表admin此表用于存放管理員的基本數(shù)據(jù)信息,包括登錄用戶名和密碼、真實姓名、身份證號、聯(lián)系方式、性別、地址。表3.2 管理員信息表字段名數(shù)據(jù)類型是否主鍵描述LoginIDvarchar(20)是管理員登錄用戶名Passwordvarchar(20)否管理員登錄密碼Admin_namevarchar(20)否管理員真實姓名Sexchar(2)否性別Addressvarchar(20)否地址Telephonevarchar(20)否管理員聯(lián)系方式IdentityNOvarchar(20)否
33、管理員身份證號(2) 學(xué)生信息表student此表用于存放學(xué)生的基本信息,包括登錄用戶名和密碼,學(xué)號、姓名、班級、性別、聯(lián)系方式、地址以及考試狀態(tài)等。表3.3 學(xué)生信息表字段名數(shù)據(jù)類型是否主鍵描述StudentIDint是學(xué)生編號LoginIDvarchar(20)否學(xué)生登錄用戶名Passwordvarchar(20)否學(xué)生登錄密碼StudentNamevarchar(20)否學(xué)生姓名Telephonevarchar(20)否聯(lián)系方式StudentNOvarchar(20)否學(xué)號Classvarchar(20)否班級Sexchar(2)否性別Telephonevarchar(20)否聯(lián)系方式A
34、ddressvarchar(20)否地址Stateint否考試狀態(tài)(3)試題信息表Question此表用于存放試題信息,包括試題編號、試題內(nèi)容、選項及答案。表3.4 試題信息表字段名數(shù)據(jù)類型是否主鍵描述QuestionIDint是試題編號Questionvarchar(20)否試題內(nèi)容OptionAvarchar(20)否選項A內(nèi)容OptionBvarchar(20)否選項B內(nèi)容OptionCvarchar(20)否選項C內(nèi)容OptionDvarchar(20)否選項D內(nèi)容Answervarchar(20)否答案(4) 考試成績信息表ExamScore此表用于存放考生考試成績的信息,包括學(xué)生編
35、號、考試記錄編號、學(xué)生成績、考試日期。表3.5 考試成績信息表字段名數(shù)據(jù)類型是否主鍵描述StudentIDint是學(xué)生編號HisIDint否考試記錄編號Scorefloat否考試成績Datesmalldatetime否考試日期(4)考生成績詳細(xì)記錄表HisScoreItem此表用于存放考生考試詳細(xì)記錄,包括考試記錄編號、題號、正確答案、是否答對。表3.6 考試成績詳細(xì)記錄表字段名數(shù)據(jù)類型是否主鍵描述HisIDint是考試記錄編號QuestionIDint否題號Answervarchar(20)否正確答案isRightvarchar(20)否是否答對4 客戶端在線考試系統(tǒng)詳細(xì)設(shè)計界面考生登錄界面
36、用于驗證考生用戶登錄系統(tǒng)時輸入的用戶名、密碼是否正確,只有合法的用戶才可以進(jìn)入系統(tǒng),考生登錄界面如Error! Reference source not found.所示。圖4.1 考生登錄界面核心代碼:private void btnOK_Click(object sender, EventArgs e) try string username = txtUserName.Text.Trim(); string pwd = txtPwd.Text.Trim(); if (username="") MsgBox.InfoShow("請輸入用戶名!");
37、txtUserName.Focus(); return; if (pwd="") MsgBox.InfoShow("請輸入密碼!"); txtPwd.Focus(); return; if (new Student().Login(username, pwd) new frmMain().Show(); this.Hide(); else MsgBox.InfoShow("您輸入的用戶名或密碼不正確!"); txtUserName.SelectAll(); return; 代碼分析:此段代碼是單擊“登錄”按鈕后的觸發(fā)事件,功能是:若輸
38、入的用戶名為空,則彈出“請輸入用戶名!”對話框;若輸入的密碼為空,則彈出“請輸入密碼!”對話框;若用戶名和密碼均輸入,則調(diào)用自定義的Student類中的Login()方法,該方法的作用是建立數(shù)據(jù)庫連接,將輸入的用戶名和密碼與數(shù)據(jù)庫學(xué)生表中對應(yīng)的用戶名、密碼比較,若一致則返回true,打開考試系統(tǒng)主界面;不一致則返回false,彈出“用戶名或密碼不正確!”對話框。4.2 在線考試系統(tǒng)主界面考生輸入的用戶名、密碼正確后,即可登錄客戶端在線考試系統(tǒng)主界面,如圖4.2所示。在該界面有兩個菜單項“系統(tǒng)管理->個人信息維護(hù),修改密碼,退出”和“考試管理->在線考試,成績查詢”,考生進(jìn)入主界面后
39、,可以對自己的信息進(jìn)行完善和修改,也可以為了信息安全,修改個人密碼。然后在開始考試,若已經(jīng)考試過的學(xué)生,可以查看考試記錄。圖4.2 在線考試系統(tǒng)主界面4.3 個人信息維護(hù)界面考生選擇菜單項“系統(tǒng)管理->個人信息維護(hù)”后單擊,即可進(jìn)入個人信息維護(hù)界面,如圖4.3所示。若考生資料不完整,則可以完善個人資料;若資料已經(jīng)完整,考生可根據(jù)錯誤的信息做相應(yīng)的更改。完成后單擊“保存”按鈕,彈出提示“修改成功!”則表明考生個人信息已更新至數(shù)據(jù)庫,最后單擊“關(guān)閉”按鈕。圖4.3 學(xué)生個人信息維護(hù)界面核心代碼:private void btnOK_Click(object sender, EventArgs
40、 e) try string studentNO = txtNo.Text.Trim(); string studentName = txtName.Text.Trim(); string phone = txtPhone.Text.Trim(); string studentidno = txtCNO.Text.Trim(); string address = txtAddress.Text.Trim(); string email = txtEmail.Text.Trim(); string sex = rbMan.Checked ? "男" : "女&quo
41、t; if (studentNO = "") MsgBox.InfoShow("學(xué)號不能為空!"); txtNo.Focus(); return; if (studentName = "") MsgBox.InfoShow("姓名不能為空!"); txtName.Focus(); return; student.SaveStudentInfo(Global.loginid,studentno,studentName,phone, studentidno, address, email, sex); MsgBox.I
42、nfoShow("修改成功!"); 代碼分析:本段代碼是“保存”按鈕單擊觸發(fā)事件,功能是:學(xué)號和姓名為必填項,若為空則彈出“請輸入姓名!”“請輸入學(xué)號!”對話框;調(diào)用自定義Student類的SaveStudentInfo()方法,將所填信息保存進(jìn)數(shù)據(jù)庫中的學(xué)生表中。該方法的作用是建立數(shù)據(jù)庫連接,更新Stuent表中l(wèi)oginid所在行的信息。4.4 修改密碼界面考生選擇菜單項“系統(tǒng)管理->修改密碼”后單擊,即可進(jìn)入修改密碼界面,如圖4.4所示,修改好后點擊“保存”按鈕。注意:考生只能修改自己的登錄密碼,登錄用戶名不可更改,只能由管理員事先設(shè)置好。若考試忘記密碼,可以及
43、時聯(lián)系管理員,對密碼進(jìn)行重置。圖4.4 修改密碼界面核心代碼:private void btnOK_Click(object sender, EventArgs e) try string opwd = txtOldpwd.Text.Trim(); string pwd = txtPwd.Text.Trim(); string pwd2 = txtPwd2.Text.Trim(); if ("" = opwd) MsgBox.InfoShow("請輸入舊密碼! "); txtOldpwd.Focus(); return; if (""
44、 = pwd) MsgBox.InfoShow("請輸入新密碼!"); txtPwd.Focus(); return; if ("" = pwd2) MsgBox.InfoShow("請確認(rèn)新密碼! "); txtPwd2.Focus(); return; if (pwd != pwd2) MsgBox.InfoShow("兩次輸入的新密碼不一致!"); txtPwd.Focus(); return; if (opwd != Global.loginpwd) MsgBox.InfoShow("您輸入的舊密
45、碼不正確!"); txtPwd.Focus(); return; new Student().UptPwd(pwd); Global.loginpwd = pwd; MsgBox.InfoShow("修改成功!"); this.Close(); 代碼分析:本段代碼是“確定”按鈕單擊事件,功能是:確認(rèn)舊密碼,新密碼,確認(rèn)密碼三欄都不能為空;驗證舊密碼正確;驗證新密碼和確認(rèn)密碼相同;在滿足的條件下,調(diào)用自定義類Student類的UptPwd()方法,建立數(shù)據(jù)庫連接,用新輸入的密碼更新數(shù)據(jù)庫Student表中的相應(yīng)的pwd值。4.5 考試協(xié)議界面考生選擇菜單項“考試管理
46、->在線考試”后單擊,即會出現(xiàn)考試協(xié)議界面,如圖4.5所示。請考試務(wù)必仔細(xì)閱讀考試協(xié)議的內(nèi)容,在閱讀完畢并且接受考試協(xié)議的前提下,再單擊界面右下方“開始考試”按鈕,進(jìn)入在線考試界面,開始考試。圖4.5 考生須知界面核心代碼:private void btnStart_Click(object sender, EventArgs e) frmOnline frmonline = new frmOnline(); /定義考試主窗體 frmonline.ShowDialog(); /顯示考試主窗體 this.Close(); /關(guān)閉窗體 代碼分析:本段代碼是“開始考試”按鈕單擊事件,功能是打開
47、考試窗體,關(guān)閉當(dāng)前窗體。4.6 在線考試界面考生閱讀完畢考試協(xié)議后,單擊“開始考試”按鈕即可進(jìn)入在線考試界面。如圖4.6所示,該界面主要分為4個欄:操作導(dǎo)航欄、考試信息欄、試題信息欄、當(dāng)前答案欄。單擊操作導(dǎo)航欄中的“開始考試”按鈕,試題區(qū)即生成試卷,計時器開始計時,此時考生開始答題,同時“開始考試”按鈕隱藏,答題完畢單擊“交卷”按鈕,可立即顯示考試成績。在考試信息欄中,管理員可以設(shè)置考試題目的類型分值等說明。試題信息欄顯示當(dāng)前題目的內(nèi)容及選項。當(dāng)前答案欄顯示考生題目作答情況,如未作答則顯示“未作答”,已作答的題目會顯示考生給出的答案。圖4.6 在線考試界面核心代碼:private void b
48、tnStart_Click_1(object sender, EventArgs e) pnBody.Visible = true; btnSubmit.Visible = true; lblTime.Visible = true; btnStart.Visible = false; lblTime.Text = "" label1.ForeColor = Color.Gray; /獲取題目加載 dt = new Question().GetQuestion("20"); LoadQuestion(0); currQ = 1; timer1.Enable
49、d = true; timer1.Interval = 1000; timer1.Start(); string strSql = "update student set state= 1 where loginid = '" + Global.loginid + "'" DBHelper.ExecuteNoeQuery(strSql);private void LoadQuestion(int num) lblQuestion.Text = "第" + (num + 1) + "題: " + dt
50、.Rowsnum"question".ToString(); lblOption_A.Text = "A." + dt.Rowsnum"OptionA".ToString(); lblOption_B.Text = "B." + dt.Rowsnum"OptionB".ToString(); lblOption_C.Text = "C." + dt.Rowsnum"OptionC".ToString(); lblOption_D.Text = "
51、D." + dt.Rowsnum"OptionD".ToString(); lblQuestion.ForeColor = Color.Green; if (num % 2 = 0) lblQuestion.ForeColor = Color.Black; 代碼分析:本段代碼是“開始考試”按鈕單擊事件。功能是:調(diào)用自定義類Question類的GetQuestion()方法,該方法的作用是建立數(shù)據(jù)庫連接,將數(shù)據(jù)庫Question表中的內(nèi)容放在DataTable對象dt中,供自定義方法LoadQuestion()使用;加載第一題到窗體中顯示;開始倒計時;調(diào)用自定義類D
52、BHelper類中的ExecuteNoeQuery()方法,建立數(shù)據(jù)庫連接,將Student表中的State更新為“1”,表示此考生狀態(tài)為正在考試。4.7 成績查詢界面考生選擇菜單項“考試管理->成績查詢”后單擊,即可進(jìn)入成績查詢界面,如圖4.7所示。成績查詢界面分為兩塊,左側(cè)為考生考試記錄,包括記錄編號、考生姓名、成績、考試日期;右側(cè)為考試情況詳細(xì)記錄,包括試題內(nèi)容、每道題的選擇情況、是否正確等??荚噯螕糇髠?cè)的一條考試記錄,則右側(cè)會顯示對應(yīng)的詳細(xì)記錄,如圖4.8所示。圖4.7 成績查詢界面核心代碼:private void frmScoreSearch_Load(object sender, EventArgs e) DataT
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年鐵力市第二中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024收入證明補(bǔ)充協(xié)議及員工薪酬結(jié)構(gòu)優(yōu)化合同3篇
- 昭通云南昭通綏江縣中醫(yī)醫(yī)院招聘編外人員歷年參考題庫(頻考版)含答案解析
- 2024更新:GATT1994關(guān)稅合同中文條款詳解一
- 揚(yáng)州江蘇揚(yáng)州寶應(yīng)縣公安局招聘警務(wù)輔助人員10人歷年參考題庫(頻考版)含答案解析
- 2024版:跨媒體廣告發(fā)布與代理合同
- 2024年適用租賃購買合同樣本
- 棗科護(hù)理解剖學(xué)基礎(chǔ)
- 錦州醫(yī)科大學(xué)《宏觀經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 衛(wèi)星通信電力改造施工服務(wù)合同
- 2024中國電子科技集團(tuán)限公司在招企業(yè)校招+社招公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 電子行業(yè)認(rèn)證行業(yè)深度研究報告
- 2022年10月自考00318公共政策試題及答案含解析
- 人力資源管理程序(含流程圖)
- JBT 6697-2023 農(nóng)林拖拉機(jī)和機(jī)械 電氣設(shè)備 基本技術(shù)規(guī)范 (正式版)
- 介紹機(jī)器人工程專業(yè)
- 中職班主任培訓(xùn)課件
- 清洗劑msds清洗劑MSDS完整版
- 血透患者高磷血癥護(hù)理查房課件
- 《經(jīng)濟(jì)學(xué)方法論》課件
評論
0/150
提交評論