c語言教學網站及網上考試系統的設計與實現——畢業(yè)論文_第1頁
已閱讀1頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢業(yè)設計(論文)說明書</p><p>  題 目: C語言教學網站及網上考試系統的 </p><p>  設計與實現 </p><p>  畢業(yè)設計(論文)中文摘要</p><p>  畢業(yè)設計(論文)外文摘要</p><p><b>  目

2、 錄</b></p><p><b>  1. 引言2</b></p><p>  1.1 課題研究背景與意義2</p><p>  1.1.1 網上教學系統2</p><p>  1.1.2 網上考試系統2</p><p>  1.2 問題定義內容簡介2</

3、p><p>  1.2.1 問題定義2</p><p>  1.2.2 內容簡介2</p><p>  1.3 課題調研與可行性分析2</p><p>  1.3.1課題調研2</p><p>  1.3.2 可行性分析2</p><p>  1.4 論文各章內容介紹2</p>

4、;<p>  2. 系統的需求分析2</p><p>  2.1系統功能需求2</p><p>  2.2 業(yè)務流和數據流圖2</p><p>  2.2.1業(yè)務流2</p><p>  2.2.2數據流圖2</p><p>  2.3 數據字典2</p><p>  

5、2.3.1 數據流分量2</p><p>  2.3.2 數據流2</p><p>  2.3.3 數據存儲2</p><p>  2.3.4 數據處理2</p><p><b>  3. 系統設計2</b></p><p>  3.1系統總體系結構設計2</p><

6、;p>  3.2 系統數據模型設計2</p><p>  3.2.1 數據概念結構設計——E-R圖2</p><p>  3.2.2 數據庫邏輯結構設計(關系模型)2</p><p>  3.2.3 數據表2</p><p>  3.3 系統開發(fā)與運行環(huán)境確定2</p><p>  3.3.1 開發(fā)工具

7、的確定2</p><p>  3.3.2 運行環(huán)境2</p><p>  3.3.3系統實現的若干關鍵技術2</p><p>  4. 用戶管理模塊設計2</p><p>  4.1用戶管理模塊的體系結構設計2</p><p>  4.1.1 用戶管理模塊功能簡介2</p><p>

8、  4.1.2 用戶管理模塊功能圖2</p><p>  4.2 用戶管理模塊的詳細設計2</p><p>  4.2.1 用戶登錄和注冊界面設計2</p><p>  4.2.2 用戶登錄2</p><p>  4.2.3 用戶注冊2</p><p>  4.2.4 用戶及其權限管理2</p>

9、<p>  5. 試題管理模塊設計2</p><p>  5.1 試題管理模塊體系結構設計2</p><p>  5.1.1 試題管理模塊功能簡介2</p><p>  5.1.2 試題管理模塊功能圖2</p><p>  5.2 試題管理模塊的詳細設計2</p><p>  5.2.1 添加試

10、題2</p><p>  5.2.2 修改試題2</p><p>  5.2.3 刪除試題2</p><p>  6. 試卷管理模塊設計2</p><p>  6.1試卷管理模塊的體系結構設計2</p><p>  6.1.1 試卷管理模塊功能簡介2</p><p>  6.1.2

11、試卷管理模塊功能圖2</p><p>  6.2 試卷管理模塊詳細設計2</p><p>  6.2.1 添加試卷管理2</p><p>  6.2.2 刪除試卷管理2</p><p>  6.3 遇到的主要問題及解決方案2</p><p>  7. 在線答題模塊設計2</p><p&g

12、t;  7.1 在線答題模塊體系結構設計2</p><p>  7.1.1 在線答題模塊功能簡介2</p><p>  7.1.2 在線答題功能模塊圖2</p><p>  7.2 在線答題模塊詳細設計2</p><p>  7.2.1 界面設計2</p><p>  7.2.2 在線答題2</p&g

13、t;<p>  8. C語言教學模塊設計2</p><p>  8.1 C語言教學模塊體系結構設計2</p><p>  8.2 C語言教學模塊功能簡介2</p><p>  8.2.1 功能分配2</p><p>  8.2.2 接口設計2</p><p>  8.3 系統模塊設計與開發(fā)2

14、</p><p>  8.3.1 數據庫訪問類DataAccessor.cs2</p><p>  8.3.2 文檔分類模塊2</p><p>  8.3.3 文檔查詢模塊2</p><p>  8.4 遇到主要問題及解決方案2</p><p>  9. 在線交流模塊設計2</p><p&

15、gt;  9.1在線交流模塊功能結構設計2</p><p>  9.2 在線交流模塊詳細設計2</p><p>  10. 用戶使用手冊2</p><p>  10.1系統功能簡介如下:2</p><p>  10.1.1 C語言教學模塊:2</p><p>  10.1.2 網上考試模塊:2</p&

16、gt;<p>  10.1.3 在線交流模塊2</p><p>  10.2 運行環(huán)境簡介2</p><p>  10.3 系統運行與操作指南2</p><p>  11. 系統評價2</p><p>  11.1 系統特色/優(yōu)點介紹2</p><p>  11.2 系統存在不足與改進方案2&

17、lt;/p><p>  11.2.1 系統存在的不足2</p><p>  11.2.2 改進方案2</p><p><b>  結 論2</b></p><p><b>  致 謝2</b></p><p><b>  參 考 文 獻2</b>

18、;</p><p><b>  1. 引言</b></p><p>  以計算機和現代網絡技術為特征的信息技術極大的促進了社會經濟的發(fā)展,也引發(fā)了一場知識和信息的革命?,F行的教育方式、方法和考試制度面臨著前所未有的挑戰(zhàn)。計算機遠程教育及網上考試作為一種新的重要的教學形式具有重要的意義,并呈現出廣闊的發(fā)展前景。</p><p>  1.1 課題

19、研究背景與意義</p><p>  自Internet在全球廣泛應用以來,基于Internet的計算機遠程教學及考試系統在世界范圍內得到了迅速的發(fā)展。國內的一些大學已經進行了計算機遠程教育的研究和實驗,并已有不少簡體中文遠程教育實驗網站出現。這些網站無論從數量還是質量上來看,都呈現出網上教學作為現代教學的一種重要形式,具有強勁的發(fā)展態(tài)勢。</p><p>  與此同時,為了更好的迎接信息社

20、會的挑戰(zhàn),教育部制定并經國務院批準的《面向二十一世紀教育振興行動計劃》中明確提出:現代遠程教育是隨著現代信息技術的發(fā)展而產生的一種新型教育方式,是構筑知識經濟時代人們終身學習體系的主要手段。因此,研究基于Internet的各類遠程教學系統及網上考試系統,已是刻不容緩的問題。</p><p>  1.1.1 網上教學系統</p><p>  網上教學系統與傳統的教學模式相比,具有相當明顯的

21、優(yōu)勢,主要表現在:網上教學以Internet為載體進行傳播,可以跨越時空的距離,有巨大的影響范圍,Web技術是一個跨平臺、多媒體的信息發(fā)布和瀏覽技術,并可以實現動態(tài)交互,使開展形象生動、內容豐富的多媒體教學成為可能;由于學生的學習進度和學習方式可以自行掌握,學生統計信息容易獲得以及由于Web技術的交互手段使網上教學更容易實現向以學生為中心的教學模式的轉移。</p><p>  1.1.2 網上考試系統 <

22、/p><p>  現階段,學校與社會上的各種考試大都采用傳統的考試方式,在此方式下,組織一次考試至少要經過五個步驟,即人工出卷、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統的考試方式已經不能適應現代考試的需要。隨著計算機應用的迅猛發(fā)展,網絡應用不斷擴大,如遠程教育和虛擬大學的出現等等,且這

23、些應用正逐步深入到千家萬戶。人們迫切要求利用這些技術來進行在線考試,以減輕教師的工作負擔及提高工作效率,與次同時也提高了考試的質量,從而使考試更趨于公證、客觀,更加激發(fā)學生的學習興趣。例如目前許多國際著名的計算機公司所舉辦的各種認證考試絕大部分采用這種方式。</p><p>  1.2 問題定義內容簡介</p><p>  1.2.1 問題定義</p><p>  

24、“C語言教學網站及網上考試系統”以Internet為載體,用戶可以自己根據自己的學習進度學習及考試,給教師的教學帶來極大的方便,這也是教育改革的一個發(fā)展方向。</p><p>  1.2.2 內容簡介</p><p>  本系統共有三大模塊:C語言教學模塊、網上考試模塊和在線交流模塊。</p><p>  系統主要面向兩種人員使用:管理員(教師),學生。在教學模塊里

25、管理員可以對文庫進行管理,可以添加新的文檔,而普通用戶(學生)只能瀏覽上面的信息,查詢所需文檔。在考試模塊里,管理員可以對試卷,試題和答案,用戶的角色進行管理,學生登陸后選擇要考哪一期,完成答題后提交,學生可以登錄查詢自己的分數,而管理員可以查看所有考生的所有期的考試成績;在線交流模塊中,用戶可以登錄后發(fā)表一些有關C語言相關知識的觀點。</p><p>  1.3 課題調研與可行性分析</p>&l

26、t;p><b>  1.3.1課題調研</b></p><p>  網上教學中既是教師的“教件”同時也是學生的“學件”,教和學都是圍繞著這個主干進行的; 課程本身的概念。由于課程本身不僅僅是教和學,還要有交互、輔導、學習質量控制和考試,網上教學應該體現所有這些功能,這就是課程本身。主干的概念僅僅將教和學納入其中,但實際上這只是解決了課堂的問題,課下預習、復習,教學輔導、課程作業(yè)、擴展學

27、習、學習質量監(jiān)控等都沒有涉及到,而這些是可以納入到網上課堂當中的。應該說這是個技術上的問題,不是個理論上的問題。我們姑且稱之為擴大化的課程主干概念吧。因為按照這樣的思路設計網上教學,網上教學的規(guī)劃才有整體感,網上教學就不是被動地接受,而是主動地策劃,教師的教學思想才能夠真正地得到發(fā)揚。</p><p>  現行考試組織方式是先由教師向打字室提供試卷初稿,再由打字室統一排版打印,最后分發(fā)給學生考試。教師在試題的篩選

28、、更新、對稿,試卷評定和試卷的分析上需要花費大量的時間。因此建立網絡考試系統來實現試題庫的管理與分析,試卷的評分,能把老師從繁重的工作中解脫出來,將提高教師的工作效率。</p><p>  本系統C語言教學網站及網上考試系統為廣大的C語言愛好者提供的一個學習C語言的模擬課堂,它包括對C,C++,Java等編程語言的講解,還有數據庫,軟件工程等許多知識。還有對學習質量的檢測,即網上考試系統。</p>

29、<p>  1.3.2 可行性分析</p><p> ?。?)經濟可行性分析 </p><p>  從該網站的開發(fā)和效益關系上講,該系統的開發(fā)不需要花費太多的經費。因為設備費用可在普通PC的基礎上建成,軟件方面我們是利用Dreamwever mx可以找到免費的軟件,關于網站的效益,因為是C語言教學網站主要是與C語言愛好者進行交流和學習,讓大家都學好C語言是本網站的主要效益,關于網

30、頁發(fā)布的資金我們也可以不考慮,通過以上的經濟可行性分析,因此網站的經濟方面是可行的。</p><p> ?。?)技術可行性分析</p><p>  技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統采用了B/S模式進行開發(fā)。結合了Internet/Intranet技術。數據庫服務器選用微軟公司的SQL Server數據庫,它能夠處理大量數據,

31、同時保持數據的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,系統的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統的需要。</p><p>  1.4 論文各章內容介紹</p><p>  第一章是緒論部分。緒論主要敘述課題提出背景、問題的調研、

32、內容簡介、可行性分析。</p><p>  第二章是系統的需求分析。主要是對系統功能、業(yè)務流、數據流分析:數據字典和系統業(yè)務流重組與改進。</p><p>  第三章是系統設計。主要內容是系統總體系結構設計;系統數據模型設計(E-R圖、關系模型、數據表);系統開發(fā)與運行環(huán)境確定。</p><p>  第四章-第八章各主要模塊設計。主要內容是各子模塊功能、接口、界面設

33、計、詳細設計;遇到主要問題及解決方案。</p><p>  第九章是用戶使用手冊。系統功能簡介、運行環(huán)境簡介;系統安裝手冊;系統運行與操作指南(手冊)。</p><p>  第十章是系統評價。主要內容:系統主要功能、特色介紹;系統存在不足與改進方案;畢業(yè)設計心得與收獲。</p><p>  論文的最后是總結、致謝和參考文獻。</p><p>

34、  2. 系統的需求分析</p><p><b>  2.1系統功能需求</b></p><p>  傳統的教學模式基本上以教師教、學生學的以教師為中心的教學模式;作為向成人或未能進入大學校門的學生進行的教學也是沿用這種教學模式,知識為了他們的方便,采用晚間上課或半日制等形式;到了60年代以后,廣播電視大學的教學方式便使教師的講課可以多次重復播放,而學生也不一定要到教

35、師去聽講,大大地提高了教學的效率,但這種教學方式仍然使單向的以教師為主的教學模式。</p><p>  這種教學模式有利于教師主導作用的發(fā)揮,便于教師組織、監(jiān)控整個教學活動進程。便于師生之間的情感交流,因而有利于系統的科學知識的傳授。</p><p>  其嚴重的弊端就是:完全由教師主宰課堂,忽視學生的認識主體作用,不能快速、有效地進行信息的反饋。這種模式培養(yǎng)出的絕大部分是知識型人材,不利

36、于培養(yǎng)既有創(chuàng)新思維和創(chuàng)新能力的創(chuàng)造型人材,而創(chuàng)新型人材正式適應21世紀激烈的國際競爭所需要的人材。</p><p>  兩種主要的傳統的教學方式有:</p><p><b> ?。?)面授、輔導</b></p><p>  學習者主要通過教師的課堂教學來實現學習目的。這種方式的優(yōu)點是教師和學生之間的直接接觸,有利于師生之間的情感交流,縮短了教學

37、效果反饋的時間。同時,教師還可以根據學生的差異性進行個別引導和指導。</p><p><b> ?。?)函授學習</b></p><p>  學習者利用信件、電話等通訊工具與教師進行交流,從而實現教學過程。在貧困地區(qū),這種學習方式還發(fā)揮著極其重要的作用。</p><p>  現代教學模式以學生為中心,隨著多媒體和網絡技術的日益普及,才逐漸發(fā)展起

38、來的,多媒體和網絡技術由于能提供界面友好、形象直觀的交互式學習環(huán)境。有利于激發(fā)學生的學習興趣和進行協商會話、協作學習,能提供圖文聲像并茂的多種感官綜合刺激,有利于情境創(chuàng)設和大量知識的獲取與保持,還能按超文本、超鏈接方式組織管理學科知識和各種教學信息。目前在Internet上按這種方式組織建構的知識庫、信息庫浩如煙海,并以學生的學習方式變得更為靈活、多樣。</p><p>  網上教學主要是通過計算機技術、多媒體技

39、術、網絡技術、可視電話、視頻會議、虛擬技術等現代信息技術獲取信息的一種學習方式,其優(yōu)點是形象、直觀、生動、活潑,打破了時空限制,學習者在一個很廣闊的領域進行學習。重要的是學習者可以進行交互式學習,它是指學習者利用媒體與教師、同學進行網上交流或收集信息。這種方式可增加教師、學生之間的了解與幫助,體現相互協作的精神。所以網上教學考試系統便成為現代教育的一種重要形式。</p><p>  2.2 業(yè)務流和數據流圖<

40、;/p><p><b>  2.2.1業(yè)務流</b></p><p>  詳細調查的重點是對管理業(yè)務的流程進行描述,通過采用系統流程圖中部分圖形工具來描述管理活動,進行規(guī)范化說明。業(yè)務流程圖的符號說明如圖2.2.1所示:</p><p>  1、 2、 3、 4、 5、 </

41、p><p>  系統中人員 實體或單據 實物或信息流 處理 數據存儲</p><p>  圖2.2.1 業(yè)務流程圖圖例</p><p>  詳細調查之后,為開發(fā)本系統而繪制出的無紙化網絡教學考試的管理業(yè)務流程圖如圖2.2.2所示。</p><p>  圖 2.2.2 基于web的網上教學考試系統業(yè)務流程圖<

42、/p><p><b>  2.2.2數據流圖</b></p><p>  數據流圖是組織中信息運動的抽象。是在調研的基礎上,從系統的科學性、管理的合理性、實際運動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯系自頂向下,逐層分解,從邏輯上精確地描述系統應具有的數據加工功能、數據輸入、數據輸出、數據存儲及數據來源和去向(外部實體)等項目。數據流程分析主要包括對信息的流動、傳

43、遞、處理、存儲等的分析。數據流程分析的目的就是要發(fā)現和解決數據流通中的問題。現有的數據流程分析多是通過分層的數據流程圖(data flow diagram,簡稱DFD)來實現的。其具體的做法是:按業(yè)務流程圖理出的業(yè)務流程順序,將相應調查過程中所掌握的數據處理過程,繪制成一套完整的數據流程圖。</p><p>  網上考試系統的數據流圖如圖2.2.3所示:</p><p>  圖2.2.3

44、網上考試系統數據流圖</p><p>  教學網站的數據流圖如圖2.2.4所示:</p><p>  圖2.2.4 教學網站數據流圖</p><p><b>  2.3 數據字典</b></p><p>  數據字典是關于數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集</p><p>

45、;  合。數據流圖和數據字典共同構成系統的邏輯模型,沒有數據字典數據流圖就不嚴格,然</p><p>  而沒有數據流數據字典也難于發(fā)揮作用。只有數據流圖和對數據流圖中每個元素的精確定</p><p>  義放在一起,才能共同構成系統的規(guī)則說明。</p><p>  C語言教學網站及網上考試系統的數據字典:</p><p>  2.3.1 數

46、據流分量</p><p><b>  1.名字:用戶信息</b></p><p><b>  別名:無</b></p><p>  描述:所有管理員用戶、普通用戶必須先登錄本系統,然后進入專區(qū)造作系統提供的各項功能,這樣就大大提高了系統的安全性。</p><p>  定義:用戶信息=用戶ID+用戶名

47、稱+密碼+Email+角色ID</p><p>  位置:用來驗證用戶身份,分配用戶權限</p><p><b>  2.名字:用戶名稱</b></p><p><b>  別名:無</b></p><p>  描述:唯一地標識某個畢業(yè)生的關鍵域。</p><p>  定義:

48、用戶名稱={字符}</p><p><b>  位置:用戶信息表</b></p><p><b>  3.名字:密碼</b></p><p><b>  別名:無</b></p><p>  描述:密碼可用來驗證用戶的身份和權限</p><p>  定義

49、:密碼={字符}</p><p><b>  位置:用戶信息表</b></p><p>  4.名字:添加試題表</p><p><b>  別名:無</b></p><p>  描述:管理員可以添加試題</p><p>  定義:試題=試題ID+試題標題+試題主體+類型ID

50、 +難度系數+分值</p><p>  位置:供管理員添加試題時使用 </p><p>  5.名字:技術文檔表</p><p><b>  別名:無</b></p><p>  描述:管理員可以按章節(jié)添加技術文檔 </p><p>  定義:技術文檔表=文檔ID+文檔主題+文檔的關鍵字+文檔

51、來源+文檔內容+位置ID</p><p>  位置:供管理員添加文檔時使用</p><p><b>  6.名字:試卷表</b></p><p><b>  別名:無</b></p><p>  描述:管理員制訂試卷生成規(guī)則</p><p>  定義:試卷表=試卷ID+試卷總

52、分+最低難度系數+最高難度系數+用戶ID+角色ID</p><p>  位置:供管理員添加試卷時使用</p><p>  7.名字:角色分配表</p><p><b>  別名:無</b></p><p>  描述:管理員可以對用戶進行權限的分配</p><p>  定義:角色分配表=角色ID+角

53、色名稱</p><p>  位置:管理員在用戶管理模塊中分配用戶的權限</p><p><b>  8.名稱:留言板表</b></p><p><b>  別名:無</b></p><p>  描述:所有注冊用戶登錄后留言</p><p>  定義:留言板表=信息ID+用戶名

54、稱+用戶ID+主題+內容+留言者編號+留言日期</p><p>  位置:所有用戶在在線交流模塊中留言</p><p><b>  9.名稱:成績表</b></p><p><b>  別名:無</b></p><p>  描述:記錄所有考生考試的成績</p><p>  定

55、義:成績表=試卷編號+用戶名稱+分數</p><p>  位置:考生考完試卷后自動存入數據庫</p><p><b>  2.3.2 數據流</b></p><p>  數據流的編號: DS03-01</p><p>  數據流的名稱: 試題信息、用戶、技術文檔等各種信息</p><p>  簡述

56、: 對信息做需要的錄入后而得到的數據庫表</p><p>  數據流的來源: 錄入</p><p>  數據流的去向: 數據庫</p><p>  數據流的組成: 各類信息</p><p>  數據流的流量: 20個/月</p><p>  高峰期流量: 2000個/月</p><p>  2.

57、3.3 數據存儲</p><p>  數據存儲的編號: F03-01</p><p>  數據存儲的名稱: 數據庫信息</p><p>  簡述: 存放的試題信息、試卷信息、用戶信息等等</p><p>  數據存儲的組成: 各類信息</p><p><b>  關鍵字: 編號</b></p

58、><p>  相關聯的處理: P1(對信息表進行錄入)</p><p>  P2(對信息表進行查詢)</p><p>  P3(對信息表進行修改刪除)</p><p>  P4(對信息表進行統計)</p><p>  2.3.4 數據處理</p><p>  (1) 處理邏輯編號: P04-01&l

59、t;/p><p>  處理邏輯名稱: 信息錄入</p><p>  簡述: 對各種信息進行錄入.</p><p>  輸入的數據流: 系統管理員</p><p>  處理過程: 進行分類錄入</p><p>  輸出的數據流: 各類數據表</p><p>  處理頻率:1000個/月</p&g

60、t;<p>  (2) 處理邏輯編號: P04-02</p><p>  處理邏輯名稱: 查詢各類信息</p><p>  簡述: 根據條件查詢所需的信息.</p><p>  輸入的數據流:信息來源于數據庫</p><p>  處理過程: 輸入查詢條件查詢,得到符合條件的信息</p><p>  輸出的

61、數據流: 查詢得到的信息</p><p>  處理頻率:10個/分鐘</p><p>  (3) 處理邏輯編號: P04-03</p><p>  處理邏輯名稱: 修改、刪除信息</p><p>  簡述: 對信息做需要的修改后存入數據庫中.</p><p>  輸入的數據流:數據庫信息</p><

62、p>  處理過程: 對需要修改的信息做修改</p><p>  輸出的數據流: 修改或刪除后得到的信息</p><p>  處理頻率: 10個/分鐘</p><p>  (4) 處理邏輯編號: P04-04</p><p>  處理邏輯名稱: 統計信息</p><p>  簡述: 對信息做需要的統計后存入數據庫中

63、.</p><p>  輸入的數據流:數據庫信息</p><p>  處理過程: 對需要統計的信息(就業(yè)率和就業(yè)反饋信息)做統計</p><p>  輸出的數據流: 統計后得到的信息</p><p>  處理頻率: 10個/分鐘</p><p><b>  3. 系統設計</b></p>

64、;<p>  3.1系統總體系結構設計</p><p>  通過對教學網站及考試系統的需求分析并結合實際情況分析,本系統是由用戶管理、</p><p>  試卷管理、試題管理、C語言教學模塊、在線答題及在線交流這六個主模塊構成。本系統</p><p>  的功能結構圖如圖3.1.1所示:</p><p>  圖3.1.1系統功能

65、結構圖</p><p><b>  系統功能簡介如下:</b></p><p>  C語言教學模塊:根據不同用戶的登錄有著不同的權限。管理員登錄后,不但可以瀏覽文檔信息,根據查詢還可以進行添加,還可以修改現有文檔;根據文檔的標題、關鍵字和全文查詢。對文檔分類和添加、刪除文檔分類;普通用戶登錄后只能瀏覽和查詢文檔。</p><p>  網上考試系

66、統分為四個模塊:</p><p> ?。?)用戶管理:主要是用戶的注冊。其中也包括角色管理,用戶注冊后,管理員可以給不同的角色賦予不同的權限,管理員可以添加、修改、刪除用戶。</p><p>  (2)試卷管理:管理員按照規(guī)則添加、修改、刪除試卷。本系統只設置了選擇題、判斷題,管理員可以設定試卷的題目組成、分值、難度等項,然后存入數據庫。</p><p> ?。?)

67、試題管理:管理員添加、修改、刪除試題及試題的答案。</p><p>  (4)在線答題:考生進入系統后選擇要考的試卷的期號,考生答題完畢后提交試卷,系統評分后存入數據庫,考生再次登錄可以查詢成績。</p><p>  3.2 系統數據模型設計</p><p>  3.2.1 數據概念結構設計——E-R圖</p><p>  現有的數據庫系統均

68、是基于某種數據模型的。數據庫概念結構設計就是建立一種數據模型。其中用的比較多是概念模型(也稱作信息模型),它是按照用戶的觀點來對數據和信息建模,主要用于數據庫設計。</p><p>  概念模型的表示方法很多,其中最為著名的是實體—聯系方法(Entity—Relationship Approach)。該方法用E-R圖描述現實世界中的概念模型,E-R方法又稱為E-R模型。E-R圖提供了表示實體型、屬性和聯系的方法:

69、1.實體型:用矩形表示,矩形框內寫明實體名。2.屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來3.聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊上標上聯系的類型(1:1,1:n或m:n)</p><p>  利用ER方法進行數據庫的概念設計,可分成三步進行:首先設計局部ER模式,然后把各局部ER模式綜合成一個全局模式,最后對全局ER模式進行優(yōu)化,得到最終的模式,即概念

70、模式。</p><p> ?。?) 設計局部ER模式</p><p><b>  實體和屬性的定義:</b></p><p>  用戶(用戶編號,名稱,密碼,權限)</p><p>  角色(角色名稱,權限編號)</p><p>  題庫信息(試題編號,試題標題,試題主體,類型ID,圖片

71、ID,難度系數,分值)</p><p>  試卷信息(試卷編號,試卷總分,最低難度系數,最高難度系數,用戶ID,角色ID)</p><p>  文檔信息(文檔ID,文檔主題,文檔的關鍵字,文檔來源,文檔內容,位置ID)</p><p>  留言信息(信息編號,發(fā)表者,主題,內容,提交日期)</p><p>  因此,各個實體具體的描述E-R圖

72、如下:</p><p>  1.用戶E-R圖如圖3.2.1所示:</p><p>  圖3.2.1 用戶E-R圖</p><p>  2.題庫信息E-R圖如圖3.2.2所示:</p><p>  圖3.2.2 題庫信息E-R圖</p><p>  3.試卷信息E-R圖如圖3.2.3所示:</p><

73、p>  圖3.2.3 試卷信息的E-R圖</p><p>  4.文檔信息的E-R圖如圖3.2.4所示:</p><p>  圖3.2.4 文檔信息E-R圖</p><p>  5.留言板信息E-R圖如圖3.2.5所示:</p><p>  圖3.2.5 留言信息E-R圖</p><p><b> ?。?/p>

74、2)全局ER模式</b></p><p><b>  各實體間的關系如下</b></p><p>  3.2.2 數據庫邏輯結構設計(關系模型)</p><p>  關系數據庫系統是支持關系模型的數據庫系統。關系模型由關系數據結構、關系操作結合和關系完整性約束三部分組成。</p><p>  在關系模塊中,現

75、實世界的實體以及實體間的各種聯系均可以用關系來表示。在用戶看來,關系模型中數據的邏輯結構是一張二維表。</p><p>  關系模型中常用的關系操作包括:選擇(Select)、投影(Project)、連接(Join)、并(Union)、除(Divide)等查詢和增加、刪除、修改操作兩大部分。</p><p>  關系完整性允許定義三類完整性約束:實體完整性、參照完整性、和用戶定義的完整性。

76、其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,應該有關系系統自動支持。數據庫的邏輯結構設計就是把ER圖轉化為關系模式的過程。關系模型是目前最重要的一種數據模型。關系數據庫系統采用關系模型作為數據的組織方式。</p><p>  (1) 導出初始關系模式</p><p>  用戶(用戶編號,名稱,密碼,權限)</p><p>  題庫信息(試題編號,試

77、題標題,試題主體,類型ID,難度系數,分值)</p><p>  試卷信息(試卷編號,試卷總分,最低難度系數,最高難度系數,用戶ID,角色ID)</p><p>  文檔信息(文檔ID,文檔主題,文檔的關鍵字,文檔來源,文檔內容,位置ID)</p><p>  留言信息(信息編號,發(fā)表者,主題,內容,提交日期)</p><p><b&g

78、t;  (2) 產生子模式</b></p><p>  子模式是由初始模式導出的,體現了初始模式之間的聯系。</p><p>  角色(角色名稱,權限編號)</p><p><b>  3.2.3 數據表</b></p><p>  C語言教學網站及考試系統的數據表中各個表格的設計結果如下面表格所示,每個表格

79、表示在數據庫中的一個表。</p><p>  表3-1:Roles表的字段說明</p><p>  表3-2:Users表的字段說明</p><p>  表3-3:Examineees表的字段說明</p><p>  表3-4:QuestionKinds表的字段說明</p><p>  表3-5:Questions表的

80、字段說明</p><p>  表3-6:Answers表的字段說明</p><p>  表3-7:Papers表的字段說明</p><p>  表3-8:message表的字段說明</p><p>  表3-9:Menu表的字段說明</p><p>  表3-10:Article表的字段說明</p>&l

81、t;p>  3.3 系統開發(fā)與運行環(huán)境確定</p><p>  3.3.1 開發(fā)工具的確定</p><p>  本系統將采用Microsoft Visual Studio.NET 2003為前臺開發(fā)工具,主要原因如下:</p><p>  Microsoft的.NET平臺是一個強調多語言間交互的通用運行環(huán)境。.NET的設計者設想以.NET平臺作為絕大多數Win

82、dows應用的首選運行環(huán)境,但.NET更吸引了Web開發(fā)者的目光。 2001年,ECMA通過了Microsoft提交的C#語言和CLI標準,這兩個技術標準構成了.NET平臺的基石,他們也于2003年成為了ISO的國際標準?!   ?lt;/p><p>  2002年,Microsoft正式發(fā)布.NET Framework和Visual Studio .NET開發(fā)環(huán)境。早在.NET發(fā)布之前,就已經有許多Windows平

83、臺的Web開發(fā)者迫不及待地利用Beta版本開發(fā)Web應用了。這是因為,.NET平臺及相關的開發(fā)環(huán)境不但為Web服務端應用提供了一個支持多種語言的、通用的運行平臺,而且還引入了ASP.NET這樣一種全新的Web開發(fā)技術。ASP.NET超越了ASP的局限,可以使用 VB.NET、C#等編譯型語言,支持Web Form、.NET ServerControl、ADO.NET等高級特性。 客觀地講,.NET平臺,尤其是.NET平臺中的ASP.NE

84、T的確不失為Web開發(fā)技術在Windows平臺上的一個集大成者。</p><p>  為解決今天最具挑戰(zhàn)性的軟件開發(fā)需要而構建的 Visual Studio .NET 2003 增強并進一步完善了其前代產品的功能,并與前代產品高度兼容。Visual Studio .NET 2003 包括來自 Modeler 的全套功能,可幫助構建最復雜的企業(yè)級應用程序和在最小的設備上部署應用程序。通過全世界各種規(guī)模的公司的使用,

85、Visual Studio .NET 和 Microsoft Windows .NET Framework 提供了一個強大而完善的端到端工具,用以設計、開發(fā)、調試和部署用于 Microsoft Windows® 和 Web 的安全的應用程序—這些應用程序強健而且易于使用。</p><p>  Visual Studio .NET 2003 包含 Windows .NET Framework 的一個增強版

86、Windows .NET Framework 1.1 版在前一版本的基礎上增添了新的能力、功能增強和文檔改進。通對 .NET Compact Framework 的集成支持,Visual Studio .NET 2003 將移動和嵌入式設備,如 Pocket PC 和其他采用 Microsoft Windows CE .NET 操作系統的設備,帶入 .NET。如今,開發(fā)人員能夠使用同樣的編程模型、開發(fā)工具及編程技能,來構建應用范圍廣泛-

87、-從小設備到最大的數據中心--的應用程序。</p><p>  開發(fā)人員可以使用 Visual Studio .NET 來:</p><p>  Visual Studio .NET 是唯一的從頭至尾都是基于通過 XML Web service 進行集成這一思想而構建的環(huán)境。通過允許應用程序通過 Internet 共享數據,XML Web services 使開發(fā)人員能夠利用新的和現有的代

88、碼構建應用程序,而不用考慮平臺、編程語言或對象模型。</p><p>  3.3.2 運行環(huán)境</p><p>  硬件:CPU:AMD2500+</p><p><b>  內存:512</b></p><p><b>  硬盤:80G</b></p><p>  軟件:

89、Windows XP SP2 </p><p><b>  IIS 5.1 </b></p><p>  .NET Framework 1.1 </p><p>  SQL Server 2000</p><p>  3.3.3系統實現的若干關鍵技術</p><p>  最重要的就是數據庫的設計

90、。本系統所涉及的數據庫設計分五個步驟:數據庫需求分析、概念設計、邏輯設計、物理設計與加載測試。</p><p> ?。?)數據庫需求分析的任務是將業(yè)務管理流化為數據流,劃分主題之間的邊界,繪制出DFD圖,并完成相應的數據字典。</p><p> ?。?)概念設計的任務是從DFD出發(fā),繪制出本主題的實體-關系圖,并列出各個實體與關系的綱要表。</p><p> ?。?

91、)邏輯設計的任務是從E-R圖與對應的綱要表出發(fā),確定各個實體及關系的表名屬性。</p><p> ?。?)物理設計的任務是確定所有屬性的類型、寬度與取值范圍,設計出基本表的主鍵,將所有的表名與字段名英文化(現在很多軟件能支持中文字段,如 SQL Server),實現物理建庫,完成數據庫物理設計字典。</p><p>  (5)加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處

92、理工作均可視為對數據庫的加載測試工作。</p><p>  4. 用戶管理模塊設計</p><p>  4.1用戶管理模塊的體系結構設計</p><p>  4.1.1 用戶管理模塊功能簡介</p><p>  用戶管理模塊對使用本系統的用戶進行用戶名、密碼、用戶身份的驗證,確保了系統</p><p>  的安全性。本

93、模塊具有五項功能:一、實現用戶注冊和登錄。若是已注冊的用戶,系統根據用戶身份讓用戶進入不同的界面進行具有權限的用戶操作,若是新用戶則登錄本系統之前要先注冊;二、用戶注銷,退出用戶界面返回主頁面;三、所有用戶可以修改自己的注冊信息,如密碼、電子郵箱等基本資料。四、系統管理員可以進入管理員界面賦予用戶權限。五、系統管理員還可以在管理員界面刪除用戶,對于某些非法用戶,管理員可以將其從用戶表中刪除,剝奪他們的用戶權限。</p>&

94、lt;p>  4.1.2 用戶管理模塊功能圖</p><p>  4.2 用戶管理模塊的詳細設計</p><p>  4.2.1 用戶登錄和注冊界面設計</p><p>  用戶登錄由Default.aspx頁面實現,它的代碼隱藏文件為Default.aspx.cs文件。用戶登錄是應用程序的主入口,用戶只有通過該入口才能進入系統,它的設計界面如下圖所示:<

95、;/p><p>  圖4.2.1 用戶登錄界面</p><p>  因為用戶所屬角色不同,如考生和管理員,所以在設計登錄界面時,需要提供一個角色選擇框讓用戶選擇自己所屬的角色。</p><p>  用戶登錄界面使用的兩個TextBox控件為用戶輸入用戶名稱和用戶密碼,用戶單擊“確定”按鈕可以登錄到系統,單擊“取消”按鈕可以取消此次登錄操作。單擊注冊則跳轉到注冊界面。&l

96、t;/p><p>  關于用戶登錄界面有下面3點需要說明:</p><p>  (1)用戶的角色是從Roles表獲取的,但是不顯示超級管理員角色。</p><p>  (2)用戶登錄界面使用兩個非空驗證控件,他們分別為RFVUseName和RFVPassword。RFVUseName非空驗證控件對用戶名稱進行非空驗證,RDVPassworf非空驗證控件對用戶密碼進行非空

97、驗證。</p><p>  (3)這兩個非空驗證控件僅僅對“確定”按鈕有效,對“取消”按鈕是無效的,具體方法就是把“取消”按鈕的屬性CausesValidation的值設為false</p><p>  4.2.2 用戶登錄</p><p>  用戶登錄流程圖如下圖所示:</p><p>  用戶單擊“確定”按鈕觸發(fā)時間SureBtn_Cli

98、ck(),該事件實現用戶登錄的驗證過程。時間SureBtn_click()調用數據訪問層的函數GetUserLogin()驗證用戶的輸入,如果用戶輸入是正確的,用戶可以登錄到系統中,否則頁面彈出密碼錯誤對話框或用戶角色所屬錯誤對話框。</p><p>  函數GetUserLogin()從數據庫獲取合法用戶的ID數據,返回的結果為對象SqlDataReader.</p><p>  用戶登

99、錄是應用程序的唯一入口,為了提高登錄驗證過程的安全性,函數GetUserLogin()調用存儲過程Pr_GetUserLogin訪問數據庫。存儲過程Pr_GetUserLogin的代碼如下:</p><p>  ALTER PROCEDURE Pr_GetUserLogin</p><p><b>  (</b></p><p>  @User

100、Name varchar(32),</p><p>  @Password varchar(100)</p><p><b>  )</b></p><p><b>  AS</b></p><p>  SELECT UserID FROM Users WHERE UserName = @UserN

101、ame AND Password = @Password</p><p>  為了提高整個系統的安全性,在用戶表Users中存儲的用戶密碼Password字段不是用戶密碼的真實值,而是加密后的密碼字符串。加密函數Encrtpt()被定義為UserDB類的靜態(tài)函數。調用加密函數時,首先那加密字符串進行編碼成Uncode,然后使用系統的不對稱加密算法MD5加密用戶密碼串。用戶登錄時只需要驗證加密后的密碼串和數據庫存儲

102、的密碼串是否一致即可。該函數的代碼如下:</p><p>  /// <summary></p><p>  /// 用戶加密函數</p><p>  /// </summary></p><p>  public static String Encrypt(string password) </p>&

103、lt;p><b>  {</b></p><p>  Byte[] clearBytes = new UnicodeEncoding().GetBytes(password);</p><p>  Byte[] hashedBytes = ((HashAlgorithm) CryptoConfig.CreateFromName("MD5"))

104、.ComputeHash(clearBytes);</p><p>  return BitConverter.ToString(hashedBytes);</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2.3 用戶注冊</p>

105、;<p>  添加新用戶有兩種方式,一種方式是從后臺的用戶管理中添加用戶,另一種方式是用戶注冊。用戶注冊方式只能添加考生,而不能添加角色為管理員的用戶,因為具有管理員角色的用戶可以直接進入到系統的后臺管理界面,所以在前臺注冊這種角色的用戶是非常不安全的,系統的管理將比較混亂,而且系統數據安全性也會受到威脅,</p><p>  下面僅介紹前臺用戶注冊實現的方法??紤]到用戶注冊需要輸入用戶名稱、用戶密

106、碼和用戶電子郵件等信息,因為可以設計如圖4.2.3 所示的用戶注冊頁面。</p><p>  圖4.2.3 新用戶注冊</p><p>  用戶注冊頁面中的4個文本輸入框分別用于輸入用戶名稱、用戶密碼、用戶確認密碼和用戶的電子郵箱等用戶信息。注冊頁面還使用4個非空驗證控件和2個正則表達式驗證控件分別驗證用戶的輸入,它們的名稱分別為Uname、RequiredFieldValidator1、

107、RequiredFieldValidator2、RequiredFieldValidator3、RegularExpressionValidator1和RegularExpressionValidator2。非空驗證控件Uname對用戶名稱進行非空驗證、非空驗證控件RequiredFieldValidator1和正則表達式驗證控件RequiredFieldValidator2分別對用戶密碼進行非空驗證和長度驗證、非空驗證控件Requir

108、edFieldValidator3和正則表達式驗證控件RegularExpressionValidator2分別對電子郵箱進行非空驗證和格式驗證。頁面對每一個文本輸入框輸入進行驗證可以提高程序的可靠性和安全性。</p><p>  單擊“注冊”按鈕觸發(fā)事件AddUserBtn_Click(),該事件調用數據訪問層函數AddUser()提交新用戶的注冊信息表Users中。</p><p> 

109、 函數AddUser()調用存儲過程Pr_AddUser添加新用戶注冊信息到表Users中。函數AddUser()的代碼比較冗長,它的代碼可以分為下面兩部分。</p><p>  創(chuàng)建訪問數據庫的對象和添加存儲過程的參數。</p><p>  執(zhí)行數據庫的插入操作。</p><p>  函數AddUser()調用(a)中的程序代碼創(chuàng)建訪問數據庫的對象,如用于連接數的

110、SqlConnection對象、 執(zhí)行SQL語句的SqlCommand對象以及SqlCommand對象的參數等。函數AddUser()還調用(a)中的代碼對SqlCommand對象的參數賦值。(a)中的程序代碼如下:</p><p>  public int AddUser(String sUserName,String sPassword,String sEmail)</p><p> 

111、 {//定義數據庫的Connection and Command </p><p>  SqlConnection myConnection = new SqlConnection(SQLHelper.DBCONNECTIONSTRING);</p><p>  SqlCommand myCommand = new SqlCommand("Pr_AddUser",myC

112、onnection);</p><p>  //定義訪問數據庫的方式為存儲過程</p><p>  myCommand.CommandType = CommandType.StoredProcedure;</p><p>  //創(chuàng)建訪問數據庫的參數</p><p>  SqlParameter[] paramCache = SQLHelpe

113、r.GetCachedParameters(paramAddUser);</p><p>  if(paramCache == null)</p><p>  {paramCache = new SqlParameter[]{</p><p>  new SqlParameter("@UserName",SqlDbType.VarChar),&l

114、t;/p><p>  new SqlParameter("@Password",SqlDbType.VarChar),</p><p>  new SqlParameter("@Email",SqlDbType.VarChar),</p><p>  new SqlParameter("@UserID",Sql

115、DbType.Int,4)};</p><p>  SQLHelper.CacheParameters(paramAddUser,paramCache);</p><p><b>  }</b></p><p>  SQLHelper.AddMyCommandParams(myCommand,paramCache);</p>&

116、lt;p>  paramCache[0].Value = sUserName;paramCache[1].Value = sPassword;</p><p>  paramCache[2].Value = sEmail;paramCache[3].Direction = ParameterDirection.ReturnValue;</p><p>  函數AddUser()調用(

117、b)中的程序代碼實現打開連接、執(zhí)行插入操作、關閉連接和返回插入用戶的ID等功能。</p><p> ?。╞)中的程序代碼如下:</p><p>  //打開數據庫的連接</p><p>  try{ myConnection.Open();}catch(Exception ex){ throw new MyException("10001",&q

118、uot;數據庫連接失敗!",ex);} //執(zhí)行數據庫的存儲過程(訪問數據庫)</p><p>  try {myCommand.ExecuteNonQuery();}</p><p>  catch(Exception ex){throw new MyException("10001",ex.Message,ex);}</p><p>

119、;<b>  finally </b></p><p>  {//關閉數據庫的連接</p><p>  if (myConnection.State = ConnectionState.Open){myConnection.Close();}</p><p><b>  }</b></p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論