河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第1頁
河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第2頁
河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第3頁
河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第4頁
河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河北大學(xué)2009屆本科生畢業(yè)論文(設(shè)計)PAGEPAGE1河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)摘要隨著計算機的普及,網(wǎng)絡(luò)時代的到來,我們學(xué)校教學(xué)和管理的信息化發(fā)展也有長足的進(jìn)步,這就要求各個環(huán)節(jié)都均衡發(fā)展,從軟硬件雙方面把河北學(xué)校建設(shè)成一流的信息管理、教育教學(xué)的平臺。本文設(shè)計開發(fā)的網(wǎng)上考試系統(tǒng)也是其中重要的一個方面。該系統(tǒng)有著操作簡單、管理方便,同時減輕我們老師的工作負(fù)擔(dān)、提高工作效率、優(yōu)化學(xué)生考試的流程,增強參加考試學(xué)生的身份識別等特點,比傳統(tǒng)的考試模式更節(jié)省人力財力和時間。通過網(wǎng)絡(luò)考試,為考試創(chuàng)造一種新的考試環(huán)境,提高考試工作效率和標(biāo)準(zhǔn)化水平,使考務(wù)管理突破時空限制,使考生可以隨時隨地的通過網(wǎng)絡(luò)完成考試。關(guān)鍵詞:網(wǎng)絡(luò)考試系統(tǒng),ASPSQLServer

ABSTRACTWiththepopularityofcomputerandnetworkera,ourschoolteachingandmanagementofinformationtechnologydevelopmenthasmadesignificantprogress,whichrequiresabalanceddevelopmentofallaspects,fromhardwareandsoftwareinschoolsbothsidesoftheHebeiinformationintoafirst-classmanagement,educationteachingplatform.Inthispaper,designanddevelopmentofonlineexaminationsystemisoneimportantaspect.Thesystemhasasimple,easymanagement,whilereducingtheworkloadofourteachers,andimprovingworkefficiency,andoptimizetheprocessofexamination,andenhancethecapacityofstudentstoparticipateintheexaminationtoidentifythecharacteristicsofthetestthanthetraditionalmodelofamorehumanandfinancialresourcesandtimesavings.Examinationthroughthenetworkforthetesttocreateanewtestenvironment,toimprovetheefficiencyandstandardizationoftheexaminationlevelmanagementbreakthroughtestoftimeandspaceconstraints,sothatcandidatescanbecompletedthroughthenetworkatanytimeoftheexamination.

Keywords:NetworkTestSystemASP,SQLServer目錄一引言 11.1課題開發(fā)背景: 11.2課題研究意義 1二需求分析 22.1功能需求分析 22.2數(shù)據(jù)需求分析 42.3界面需求分析 6三總體設(shè)計 83.1功能總體設(shè)計 83.2數(shù)據(jù)總體設(shè)計 10四詳細(xì)設(shè)計及實現(xiàn) 134.1技術(shù)背景 134.1.1編程語言 134.1.2數(shù)據(jù)庫及其連接技術(shù)的選擇 154.1.3系統(tǒng)構(gòu)架 154.2功能詳細(xì)設(shè)計 16五結(jié)論 23謝辭 24參考文獻(xiàn) 25PAGE26一引言1.1課題開發(fā)背景:考試是教育中一個重要的環(huán)節(jié)。進(jìn)行考試一是為了考察學(xué)生的知識掌握情況,二是為教師提供教學(xué)分析的依據(jù)。傳統(tǒng)的考試由于涉及到組織命題、試卷印刷、考場安排、組織閱卷等諸多環(huán)節(jié),考試占用很長時間、效率很低;同時人工閱卷等主觀因素也影響到考試的公正性。隨著網(wǎng)絡(luò)技術(shù)在教育領(lǐng)域應(yīng)用的普及,應(yīng)用B/S構(gòu)架的網(wǎng)絡(luò)考試系統(tǒng)展現(xiàn)出了越來越多的優(yōu)越性。網(wǎng)絡(luò)考試系統(tǒng)為考試創(chuàng)造一種新的考試環(huán)境,提高考試工作效率和標(biāo)準(zhǔn)化水平,是考務(wù)管理突破時空限制,使考生可以隨時隨地的通過網(wǎng)絡(luò)完成考試。網(wǎng)絡(luò)考試系統(tǒng)從根本上解決了傳統(tǒng)考試過程中工作量大、效率低、反饋周期長、資源浪費等缺陷,成為教育技術(shù)發(fā)展與研究的方向。1.2課題研究意義在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向。基于網(wǎng)絡(luò)的考試系統(tǒng)是傳統(tǒng)考場的延伸,加上數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程。因此網(wǎng)絡(luò)考試系統(tǒng)是電子化教學(xué)不可缺少的一個重要環(huán)節(jié)。網(wǎng)絡(luò)考試優(yōu)勢明顯,考生通過姓名、準(zhǔn)考證號碼或口令進(jìn)行登錄,試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前的壓題;而且可以采用大量標(biāo)準(zhǔn)化試題,從而使用計算機判卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計、排序等操作。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢。二需求分析2.1功能需求分析1、前臺主要功能前臺主要功能包括:在線考試、選擇套題、準(zhǔn)備考試、開始考試、交卷后成績單、成績查詢、退出系統(tǒng)。具體功能需求如下:(1)在線考試該模塊主要包括在線考試、成績查詢、退出系統(tǒng)和進(jìn)入選題。(2)選擇套題主要包括在線考試、成績查詢、退出系統(tǒng)、選擇課程、選擇套題和返回在線考試。(3)準(zhǔn)備考試主要包括在線考試、成績查詢、退出系統(tǒng)和開始考試。(4)開始考試該模塊是顯示所考的題目。(5)交卷后成績單主要包括直接計算出考試成績。(6)成績查詢主要包括顯示學(xué)生考試的成績信息。(7)退出系統(tǒng)可以直接關(guān)閉網(wǎng)頁。2、后臺主要功能主要包括管理員、管理注冊學(xué)生、管理專業(yè)信息、管理課程信息、管理套題信息、管理考生成績、管理考試題目、添加試題、退出系統(tǒng)。(1)管理員包括管理員查詢、修改、添加、刪除信息。(2)管理注冊學(xué)生包括對注冊學(xué)生的查詢、刪除。(3)管理專業(yè)信息包括對專業(yè)信息的查詢、添加、修改和刪除。(4)管理課程信息包括對課程信息的查詢、添加、修改和刪除。(5)管理套題信息包括對套題信息的查詢、添加、修改和刪除。(6)管理考生成績包括對考生成績的查詢和刪除。(7)管理考試題目包括對考試題目的查詢、添加、修改和刪除。(8)添加試題包括選擇考試專業(yè)、考試課程、套題名稱、添加考試題目、選擇考試類型、各選項內(nèi)容、正確答案和注釋。(9)退出系統(tǒng)退出至登陸窗口。3、學(xué)生注冊主要功能向數(shù)據(jù)庫中添加更多學(xué)生資料。4、密碼找回主要功能完成因密碼遺忘或密碼丟失造成的損失。系統(tǒng)功能結(jié)構(gòu)圖:河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)前臺學(xué)生登錄學(xué)生注冊找回密碼后臺管理登陸圖2-1系統(tǒng)功能結(jié)構(gòu)圖前臺學(xué)生登陸前臺學(xué)生登陸考試規(guī)則課程選擇準(zhǔn)備開始開始考試考試結(jié)束成績查詢圖2-2前臺學(xué)生登陸結(jié)構(gòu)圖后臺管理登陸后臺管理登陸管理員管理學(xué)生管理專業(yè)管理課程管理題目管理成績管理套題添加試題退出系統(tǒng)圖2-3后臺管理登錄結(jié)構(gòu)圖2.2數(shù)據(jù)需求分析1、通過對系統(tǒng)進(jìn)行數(shù)據(jù)需求分析,系統(tǒng)的實體主要包括管理員、課程、專業(yè)、考試問題、學(xué)生信息、學(xué)生成績、套題信息。2、屬性表2-1管理員信息屬性列表:管理員信息屬性管理員信息屬性管理員信息屬性管理員編號管理員名稱管理員密碼加入時間表2-2課程信息屬性列表:課程信息屬性課程信息屬性課程信息屬性課程編號課程名稱所屬專業(yè)編號加入時間表2-3專業(yè)信息屬性列表:專業(yè)信息屬性專業(yè)信息屬性專業(yè)信息屬性專業(yè)編號專業(yè)名稱加入時間表2-4考試問題屬性列表:考試問題屬性考試問題屬性考試問題屬性試題編號試題主題試題類型試題加入時間所屬專業(yè)號所屬課程號所屬套題編號選項A選項B選項C選項D試題答案注釋表2-5學(xué)生信息屬性列表:學(xué)生信息屬性學(xué)生信息屬性學(xué)生信息屬性學(xué)生證號學(xué)生姓名學(xué)生密碼性別加入時間密碼問題密碼答案所選專業(yè)號表2-6學(xué)生成績信息屬性列表:學(xué)生成績信息屬性學(xué)生成績信息屬性學(xué)生成績信息屬性試題結(jié)果編號所屬學(xué)生編號所屬課程編號所屬套題編號所屬套題名稱單選成績多選成績總成績成績提交時間表2-7套題信息屬性列表:套題信息屬性套題信息屬性套題信息屬性套題編號套題名稱所屬課程編號加入時間3、實體關(guān)系E-R圖圖2-4實體關(guān)系E-R圖2.3界面需求分析河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)的界面以藍(lán)色為主要基調(diào)。力求做到風(fēng)格統(tǒng)一,簡潔、美觀。首頁為登陸界面,規(guī)格為800px×530px,頂部顯示網(wǎng)站的標(biāo)題,左為網(wǎng)站圖標(biāo),右為登陸信息顯示,底部顯示網(wǎng)站的Copyright,如圖2-5:頂左右底圖2-5登陸界面管理員后臺管理頁面也規(guī)格為800px×530px,上為網(wǎng)頁標(biāo)題,左為功能按鈕,右為顯示內(nèi)容區(qū)域,如圖2-6:頂左右圖2-6管理員后臺管理頁面三總體設(shè)計3.1功能總體設(shè)計在功能的設(shè)計中,使用面向?qū)ο蟮乃枷耄哂腥缦碌膬?yōu)點:1、易維護(hù)采用面向?qū)ο笏枷朐O(shè)計的結(jié)構(gòu),可讀性高,維護(hù)在局部模塊就可以進(jìn)行。2、效率高可重用現(xiàn)有的,已經(jīng)開發(fā)好的類,提高了開發(fā)效率。3、易擴展由于繼承、封裝、多態(tài)的特性,自然設(shè)計出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴展,而且成本較低。系統(tǒng)首頁是一個登錄頁面,登錄頁面中用戶輸入的選項包括用戶名、密碼、驗證碼、和是否管理員,系統(tǒng)根據(jù)是管理員還是學(xué)生進(jìn)而來選擇要跳轉(zhuǎn)的具體頁面,有學(xué)生頁面和管理員頁面,登陸頁面還有注冊和找回密碼選項。首頁設(shè)計如圖3-1:學(xué)生證號密碼學(xué)生證號密碼驗證碼登陸注冊忘密2931管理員登陸網(wǎng)站名稱圖片圖3-1系統(tǒng)登錄頁面學(xué)生注冊頁面包括學(xué)生證號、學(xué)生姓名、密碼、重復(fù)密碼、密碼問題、問題答案、問題答案、性別、所學(xué)專業(yè)。如圖3-2:考生注冊信息考生注冊信息學(xué)生證號學(xué)生證號學(xué)生姓名密碼重復(fù)密碼密碼問題問題答案性別所學(xué)專業(yè)關(guān)閉重置注冊關(guān)閉重置注冊圖3-2考生注冊頁面后臺管理員管理頁面包括管理員、管理注冊學(xué)生、管理專業(yè)信息、管理課程信息、乖戾套題信息、管理考生成績、管理考試題目、添加試題、退出系統(tǒng),如圖3-3:標(biāo)題標(biāo)題管理員管理員管理注冊學(xué)生管理專業(yè)信息管理課程信息管理套題信息管理考生成績管理考試題目添加試題退出系統(tǒng)具體信息顯示具體信息顯示圖3-3后臺管理員管理頁面學(xué)生登陸前臺頁面包括在線考試、成績查詢、退出系統(tǒng),如圖3-4:在線考試成績查詢退出系統(tǒng)標(biāo)題具體信息顯示在線考試成績查詢退出系統(tǒng)標(biāo)題具體信息顯示圖3-4學(xué)生登錄頁面3.2數(shù)據(jù)總體設(shè)計本系統(tǒng)數(shù)據(jù)庫采用SQLServer2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_Examination。關(guān)鍵的數(shù)據(jù)庫表格如下:管理員信息表(tb_Adminisitrator)用于保存管理員登陸河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)的用戶名和密碼,該表的結(jié)構(gòu)如表3-1:表3-1管理員信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否系統(tǒng)管理員編號IDbigint8是管理員名稱Namevarchar50否管理員密碼PWDvarchar50否加入時間JoinTimedatatime8否2、課程信息表(tb_Lesson)用于保存課程信息,該表的結(jié)構(gòu)如表3-2:表3-2課程信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否課程編號IDbigint8是課程名稱Namevarchar60否所屬專業(yè)編號ofrofessionbigint8否加入時間JoinTimedatatime8否3專業(yè)信息表(tb_Profession)用于保存專業(yè)信息,該表的結(jié)構(gòu)如表3-3:表3-3專業(yè)信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否專業(yè)編號IDbigint8是專業(yè)名稱Namevarchar200否加入時間JoinTimedatatime8否4、考試問題信息表(tb_Questions)用于保存試題信息,該表的結(jié)構(gòu)如表3-4:表3-4考生問題信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否試題編號Idbigint8是試題主題que_subjectvarchar50否試題類型que_typechar10否試題加入時間que_joindatadatetime8否所屬課程號que_lessonidint4否所屬專業(yè)號que_professionidint4否所屬套題編號que_taotiidbigint8否選項AoptionAvarchar50否選項BoptionBvarchar50否選項CoptionCvarchar50否選項DoptionDvarchar50否試題答案que_answerchar10否注釋notevarchar50否5、注冊學(xué)生信息表(tb_Student)用于保存學(xué)生注冊信息,該表的結(jié)構(gòu)如表3-5:表3-5注冊學(xué)生信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否學(xué)生證號IDvarchar50是學(xué)生姓名Namevarchar20否學(xué)生密碼PWDvarchar20否性別Sexvarchar2否加入時間JoinTimedatetime8否密碼問題questionvarchar50否密碼答案answervarchar50否所選專業(yè)號professionbigint8否IP地址IPAddresschar30否6、學(xué)生成績信息表(tb_StuResult)用于保存學(xué)生考試成績,該表的結(jié)構(gòu)如表3-6:表3-6學(xué)生成績信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否試題結(jié)果編號res_idbigint8是所屬學(xué)生編號stu_idvarchar50否所屬課程名稱which_lessonvarchar50否所屬套題編號taotiidbigint8否所屬套題名稱taotinamevarchar50否單選成績res_singleint4否多選成績res_moreint4否總成績res_totalint4否成績提交時間res_subdatedatetime8否7、套題信息表(tb_TaoTi)用于保存套題信息,該表的結(jié)構(gòu)如表3-7:表3-7套題信息表字段含義字段名數(shù)據(jù)類型數(shù)據(jù)長度主鍵否套題編號IDbigint8是套題名稱Namevarchar50否所屬課程編號LessonIDbigint8否加入時間JoinTimedatetime8否四詳細(xì)設(shè)計及實現(xiàn)4.1技術(shù)背景4.1.1編程語言這里選擇的是C#語言,這與C#的優(yōu)點有關(guān),具體如下:1、簡潔的語法在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。與此相關(guān)的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經(jīng)不再出現(xiàn)。C#只支持一個“.”,對于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。C#用真正的關(guān)鍵字換掉了那些把活動模板庫(ActiveTemplateLibrary,ALT)和COM搞得亂糟糟的偽關(guān)鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。語法中的冗余是C++中的常見的問題,比如"const"和"#define"、各種各樣的字符類型等等。C#對此進(jìn)行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)構(gòu)中被清除了出去。2、精心地面向?qū)ο笤O(shè)計也許你會說,從Smalltalk開始,面向?qū)ο蟮脑掝}就始終纏繞著任何一種現(xiàn)代程序設(shè)計語言。的確,C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計,從高級商業(yè)對象到系統(tǒng)級應(yīng)用,C#建造廣泛組件的絕對選擇。在C#的類型系統(tǒng)中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節(jié)中將進(jìn)行更為詳細(xì)的介紹。C#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學(xué)習(xí)中你很快會發(fā)現(xiàn),C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。整個C#的類模型是建立在.NET虛擬對象系統(tǒng)(VisualObjectSystem,VOS)的基礎(chǔ)之上,其對象模型是.NET基礎(chǔ)架構(gòu)的一部分,而不再是其本身的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。借助于從VB中得來的豐富的RAD經(jīng)驗,C#具備了良好的開發(fā)環(huán)境。結(jié)合自身強大的面向?qū)ο蠊δ?,C#使得開發(fā)人員的生產(chǎn)效率得到極大的提高。對于公司而言,軟件開發(fā)周期的縮短將能使它們更好應(yīng)付網(wǎng)絡(luò)經(jīng)濟的競爭。在功能與效率的杠桿上人們終于找到了支點。3、與Web的緊密結(jié)合.NET中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web標(biāo)準(zhǔn)相統(tǒng)一,例如超文本標(biāo)記語言(HypertextMarkupLanguage,HTML)和XML。由于歷史的原因,現(xiàn)存的一些開發(fā)工具不能與Web緊密地結(jié)合。SOAP的使用使得C#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。由于有了Web服務(wù)框架的幫助,對程序員來說,網(wǎng)絡(luò)服務(wù)看起來就象是C#的本地對象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā)Web服務(wù)。僅需要使用簡單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉個例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。4、完整的安全性與錯誤處理語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內(nèi)存空間進(jìn)行修改,。這些錯誤常常產(chǎn)生難以預(yù)見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進(jìn)設(shè)計思想可以消除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯誤,C#會幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。.NET運行庫提供了代碼訪問安全特性,它允許管理員和用戶根據(jù)代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網(wǎng)絡(luò)上的共享目錄中運行的程序,如果它要訪問本地的一些資源,那么異常將被觸發(fā),它將會無情地被異常扔出去,若拷貝到本地硬盤上運行則一切正常。內(nèi)存管理中的垃圾收集機制減輕了開發(fā)人員對內(nèi)存管理的負(fù)擔(dān)。.NET平臺提供的垃圾收集器(GarbageCollection,GC)將負(fù)責(zé)資源的釋放與對象撤銷時的內(nèi)存清理工作。變量是類型安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負(fù)責(zé)將其置為零,當(dāng)局部變量未經(jīng)初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數(shù)指向引用類型,例如對象,當(dāng)進(jìn)行下行指向時,C#將自動驗證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。5、版本處理技術(shù)C#提供內(nèi)置的版本支持來減少開發(fā)費用,使用C#將會使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。升級軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯誤的工作。在代碼修改過程中可能對現(xiàn)存的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,C#在語言中內(nèi)置了版本控制功能。例如:函數(shù)重載必須被顯式聲明,而不會象在C++或java中經(jīng)常發(fā)生的那樣不經(jīng)意地被進(jìn)行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關(guān)的特性是接口和接口繼承的支持。這些特性可以保證復(fù)雜的軟件可以被方便地開發(fā)和升級。6、靈活性和兼容性在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅(qū)動程序,在默認(rèn)的狀態(tài)下沒有指針等等,但是,在學(xué)習(xí)過程中你將發(fā)現(xiàn),它仍然是那樣的靈巧。如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組,并且調(diào)用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。正是鑒于C#的上述優(yōu)點,本系統(tǒng)采用C#作為編程語言。4.1.2數(shù)據(jù)庫及其連接技術(shù)的選擇SQLServer2000數(shù)據(jù)庫系統(tǒng)采用多層客戶/服務(wù)器結(jié)構(gòu)的好處在于:1、數(shù)據(jù)集中存儲:數(shù)據(jù)集中存儲在服務(wù)器上而不是分開存儲在各客戶機上,使所有用戶都可以訪問到相同的數(shù)據(jù);2、業(yè)務(wù)邏輯和安全規(guī)則可以在服務(wù)器上定義一次,而后被所有的客戶使用;3、關(guān)系數(shù)據(jù)庫服務(wù)器僅返回應(yīng)用程序所需要的數(shù)據(jù),這樣可以減少網(wǎng)絡(luò)流量,節(jié)省硬件開銷。基于SQLServer2000數(shù)據(jù)庫系統(tǒng)的以上優(yōu)點,將其采用為本系統(tǒng)的數(shù)據(jù)庫平臺。4.1.3系統(tǒng)構(gòu)架.NET框架是微軟公司全新的開發(fā)工具,Web應(yīng)用程序和傳統(tǒng)應(yīng)用程序的開發(fā)者都能用它更高效、更靈活地開發(fā)應(yīng)用程序。.NET框架創(chuàng)造了一個完全可操控的、安全的和特性豐富的應(yīng)用執(zhí)行環(huán)境,這不但使得應(yīng)用程序的開發(fā)與發(fā)布更簡單,并且成就了眾多語言間的無縫集成。ASP.NET是使用.NET框架提供的編程類庫構(gòu)建而成的,它將應(yīng)用程序定義為所有文件、頁、處理程序、模塊和可執(zhí)行代碼的總和,該應(yīng)用程序可在Web應(yīng)用程序服務(wù)器上的給定虛擬目錄(及其子目錄)的范圍內(nèi)調(diào)用或運行。由于ASP.NET由以上優(yōu)點,把ASP.NET作為本系統(tǒng)的主要開發(fā)技術(shù)。4.2功能詳細(xì)設(shè)計在系統(tǒng)設(shè)計過程中,某些模塊的實現(xiàn)過程及所用到的方法是相同的,這里只選有代表性的進(jìn)行分析:1、河北大學(xué)網(wǎng)絡(luò)考試系統(tǒng)的登錄頁面,操作者可以從此頁面登錄前臺學(xué)生考試頁面、學(xué)生注冊頁面、密碼找回頁面或后臺管理員頁面。登錄前臺考試頁面及后臺管理員頁面必須要驗證用戶名、密碼和驗證碼正確與否,只有合法的用戶才可以進(jìn)入系統(tǒng)。當(dāng)用戶沒有輸入用戶名或密碼以及驗證碼為空時,系統(tǒng)會自動彈出“不允許為空”的消息提示框。“登錄”按鈕左側(cè)的復(fù)選框功能為是否選擇管理員登錄,選中則登錄后臺管理員頁面,反之登錄為前臺學(xué)生考試頁面,登錄頁面效果如圖4-1。圖4-1用戶登錄頁面相關(guān)核心代碼如下://==============================找回密碼=========================protectedvoidButton3_Click(objectsender,EventArgse){Page.Response.Redirect("InfoPwd.aspx");}//==============================新學(xué)生注冊=========================protectedvoidButton2_Click(objectsender,EventArgse){Page.Response.Redirect("zhuce.aspx");}//==============================登錄按鈕=========================protectedvoidButton1_Click(objectsender,EventArgse){if(txtValidate.Text!=labValidate.Text){Response.Write("<scriptlanuage=javascript>alert('驗證碼錯誤');location='javascript:history.go(-1)'</script>");}else{if(cblAdminLog.Items[0].Selected==true){this.getcom(1);}else{this.getcom(2);}}}驗證碼編寫:為防止用戶利用機器人自動注冊、登陸,采用驗證碼技術(shù)。驗證碼技術(shù)通過隨機生成數(shù)字組成4位數(shù)驗證碼。詳細(xì)代碼如下:/****************Defau.aspx.as*************************/Random.rnd=newRandom();This.labValidate.Text=rnd.Next(1000,9999).ToString();2、登錄該系統(tǒng)成功后,用戶就可以根據(jù)導(dǎo)航欄進(jìn)行具體的操作。管理員頁面主要包括:管理注冊學(xué)生、管理專業(yè)信息、管理課程信息、管理套題信息、管理考生成績、管理考試題目、添加試題。學(xué)生頁面主要包括:在線考試、選擇套題、準(zhǔn)備考試、開始考試、交卷后成績單、成績查詢、退出系統(tǒng)。關(guān)鍵技術(shù)中管理員管理模塊如圖4-2。圖4-2管理員頁面管理員列表通過ASP.NET2.0提供的GridView控件把管理員的基本信息顯示出來。在每條信息后設(shè)置執(zhí)行修改及刪除功能的超鏈接按鈕。每次登錄此頁面時程序都會自動執(zhí)行后臺Page_Load頁面加載時間中的SQL語句,講檢索到的數(shù)據(jù)通過GridView控件顯示在頁面中。編寫此代碼前,首先在命名控件區(qū)域中引用usingSystem.Date.SqlClient命名空間,然后在Page_Load頁面加載事件中定義執(zhí)行需要顯示在GridView控件中信息的SQL語句,通過調(diào)用公共類執(zhí)行該語句完成數(shù)據(jù)顯示操作,后臺主要實現(xiàn)數(shù)據(jù)顯示功能的代碼如下所示:Datacondataconn=newDatacon();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){dataconn.ecadabindinfostring(gvAdminInfo,"select*fromtb_AdministratorORDERBYIDDESC","ID");}}protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){gvAdminInfo.PageIndex=e.NewPageIndex;dataconn.ecadabind(gvAdminInfo,"Select*Fromtb_AdministratorWhere"+ddlAdminName.SelectedValue+"Like'%"+txtSelect.Text+"%'");}protectedvoidButton1_Click(objectsender,EventArgse){if(txtSelect.Text==""){dataconn.ecadabindinfostring(gvAdminInfo,"select*fromtb_AdministratorORDERBYIDDESC","ID");}else{dataconn.ecadabind(gvAdminInfo,"Select*Fromtb_AdministratorWhere"+ddlAdminName.SelectedValue+"Like'%"+txtSelect.Text+"%'");}}protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){dataconn.eccom("deletefromtb_AdministratorwhereID='"+gvAdminInfo.DataKeys[e.RowIndex].Value+"'");Page.Response.Redirect("admin.aspx");}protectedvoidLinkButton10_Click(objectsender,EventArgse){Page.Response.Redirect("AdminInsert.aspx");}protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[2].Text=Convert.ToString(Convert.ToDateTime(e.Row.Cells[2].Text).ToShortDateString());}}3、學(xué)生注冊是為了保存學(xué)生的基本信息,包括學(xué)生證號、學(xué)生姓名、密碼、密碼問題、問題答案、性別和所學(xué)專業(yè)等。所學(xué)專業(yè)通過DropDowmList控件列出,供學(xué)生選擇。學(xué)生注冊頁面的設(shè)計如圖4-3:圖4-3學(xué)生注冊頁面核心代碼如下:Datacondataconn=newDatacon();protectedvoidButton1_Click(objectsender,EventArgse){dataconn.eccom("insertintotb_Student"+"(ID,Name,PWD,question,answer,Sex,profession)"+"values('"+this.txtStuID.Text+"','"+this.txtStuName.Text+"','"+this.txtStuPwd.Text+"','"+this.txtQuePwd.Text+"','"+this.txtAnsPwd.Text+"','"+this.ddlSex.Text+"','"+Request["DropDownList2"]+"')");}查詢成績頁面用于按查詢條件對指定的關(guān)鍵字進(jìn)行模糊搜索。該頁面主要包括兩部分:一部分是查詢條件選擇輸入,另一部分是查詢成績顯示區(qū)。效果如圖4-4:圖4-4學(xué)生查詢成績頁面學(xué)生可以通過查詢條件和輸入的查詢關(guān)鍵字來查看自己的成績信息,其具體實現(xiàn)代碼如下:Datacondataconn=newDatacon();protectedvoidBtnSelect_Click(objectsender,EventArgse){if(txtSelect.Text==""){dataconn.ecadabind(gvExamResu,"select*fromchengji_chaxun_viewORDERBYIDDESC");}else{dataconn.ecadabind(gvExamResu,"Select*Fromchengji_chaxun_viewWhere"+ddlStuID.SelectedValue+"Like'%"+txtSelect.Text+"%'");}}在線考試頁面用于學(xué)生正確登陸后進(jìn)行在線限時考試,其效果如圖4-5:圖4-5在線考試頁面相關(guān)代碼如下://============頁面加載事件,從數(shù)據(jù)庫中提取題目================protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){this.getCom(1);this.getCom(2);}五結(jié)論系統(tǒng)按照軟件工程的原理進(jìn)行設(shè)計與開發(fā),具備了一定的信息管理方面的規(guī)范,很好的控制了系統(tǒng)開發(fā)的流程,系統(tǒng)優(yōu)點是能給學(xué)校和老師帶來方便快捷的服務(wù),不足之處是系統(tǒng)的代碼重用性不高,有待進(jìn)一步改進(jìn)。通過這個系統(tǒng)我學(xué)到了很多新技術(shù),鍛煉了自己的編程能力,這些經(jīng)歷對以后從事軟件開發(fā)行業(yè)的工作有很大幫助。謝辭經(jīng)過這次畢業(yè)設(shè)計,我的各方面素質(zhì)都得到了很大地提高,比如分析問題的能力、程序設(shè)計能力、合作精神、嚴(yán)謹(jǐn)?shù)膽B(tài)度等方面。畢業(yè)設(shè)計期間,我得到老師、同學(xué)的諸多幫助,沒有他們的幫助,我將無法順利完成這次設(shè)計。畢業(yè)設(shè)計期間的這個項目讓我對軟件開發(fā)有了更深的認(rèn)識,包括軟件開發(fā)的規(guī)范、流程等,同時也提高了自己的編程能力,為今后的工作打下了很好的基礎(chǔ)。在此,我要感謝管印超老師一直以來的悉心教導(dǎo)和幫助,他的細(xì)心教導(dǎo)使我少走了很多彎路,也學(xué)到了很多東西,他對工作的認(rèn)真態(tài)度,使我受益匪淺,在這里獻(xiàn)上由衷的感謝!參考文獻(xiàn)[1]張海藩.軟件工程

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論