2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、 錄</b></p><p><b>  1. 引言2</b></p><p>  1.1 課題研究背景與意義2</p><p>  1.1.1 網(wǎng)上教學(xué)系統(tǒng)2</p><p>  1.1.2 網(wǎng)上考試系統(tǒng)2</p><p>  1.2 問題定義內(nèi)容簡介2</

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

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

5、2.3.1 數(shù)據(jù)流分量2</p><p>  2.3.2 數(shù)據(jù)流2</p><p>  2.3.3 數(shù)據(jù)存儲2</p><p>  2.3.4 數(shù)據(jù)處理2</p><p><b>  3. 系統(tǒng)設(shè)計2</b></p><p>  3.1系統(tǒng)總體系結(jié)構(gòu)設(shè)計2</p><

6、;p>  3.2 系統(tǒng)數(shù)據(jù)模型設(shè)計2</p><p>  3.2.1 數(shù)據(jù)概念結(jié)構(gòu)設(shè)計——E-R圖2</p><p>  3.2.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(關(guān)系模型)2</p><p>  3.2.3 數(shù)據(jù)表2</p><p>  3.3 系統(tǒng)開發(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系統(tǒng)實現(xiàn)的若干關(guān)鍵技術(shù)2</p><p>  4. 用戶管理模塊設(shè)計2</p><p>  4.1用戶管理模塊的體系結(jié)構(gòu)設(shè)計2</p><p>  4.1.1 用戶管理模塊功能簡介2</p><p>

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

9、<p>  5. 試題管理模塊設(shè)計2</p><p>  5.1 試題管理模塊體系結(jié)構(gòu)設(shè)計2</p><p>  5.1.1 試題管理模塊功能簡介2</p><p>  5.1.2 試題管理模塊功能圖2</p><p>  5.2 試題管理模塊的詳細(xì)設(shè)計2</p><p>  5.2.1 添加試

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

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

12、t;  7.1 在線答題模塊體系結(jié)構(gòu)設(shè)計2</p><p>  7.1.1 在線答題模塊功能簡介2</p><p>  7.1.2 在線答題功能模塊圖2</p><p>  7.2 在線答題模塊詳細(xì)設(shè)計2</p><p>  7.2.1 界面設(shè)計2</p><p>  7.2.2 在線答題2</p&g

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

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

15、gt;  9.1在線交流模塊功能結(jié)構(gòu)設(shè)計2</p><p>  9.2 在線交流模塊詳細(xì)設(shè)計2</p><p>  10. 用戶使用手冊2</p><p>  10.1系統(tǒng)功能簡介如下:2</p><p>  10.1.1 C語言教學(xué)模塊:2</p><p>  10.1.2 網(wǎng)上考試模塊:2</p&

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

17、lt;/p><p>  11.2.1 系統(tǒng)存在的不足2</p><p>  11.2.2 改進(jìn)方案2</p><p><b>  結(jié) 論2</b></p><p><b>  致 謝2</b></p><p><b>  參 考 文 獻(xiàn)2</b>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

44、網(wǎng)上考試系統(tǒng)數(shù)據(jù)流圖</p><p>  教學(xué)網(wǎng)站的數(shù)據(jù)流圖如圖2.2.4所示:</p><p>  圖2.2.4 教學(xué)網(wǎng)站數(shù)據(jù)流圖</p><p><b>  2.3 數(shù)據(jù)字典</b></p><p>  數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集</p><p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

65、結(jié)構(gòu)圖</p><p><b>  系統(tǒng)功能簡介如下:</b></p><p>  C語言教學(xué)模塊:根據(jù)不同用戶的登錄有著不同的權(quán)限。管理員登錄后,不但可以瀏覽文檔信息,根據(jù)查詢還可以進(jìn)行添加,還可以修改現(xiàn)有文檔;根據(jù)文檔的標(biāo)題、關(guān)鍵字和全文查詢。對文檔分類和添加、刪除文檔分類;普通用戶登錄后只能瀏覽和查詢文檔。</p><p>  網(wǎng)上考試系

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

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

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

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

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

71、ID,難度系數(shù),分值)</p><p>  試卷信息(試卷編號,試卷總分,最低難度系數(shù),最高難度系數(shù),用戶ID,角色I(xiàn)D)</p><p>  文檔信息(文檔ID,文檔主題,文檔的關(guān)鍵字,文檔來源,文檔內(nèi)容,位置ID)</p><p>  留言信息(信息編號,發(fā)表者,主題,內(nèi)容,提交日期)</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>  各實體間的關(guān)系如下</b></p><p>  3.2.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(關(guān)系模型)</p><p>  關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作結(jié)合和關(guān)系完整性約束三部分組成。</p><p>  在關(guān)系模塊中,現(xiàn)

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

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

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

78、t;  (2) 產(chǎn)生子模式</b></p><p>  子模式是由初始模式導(dǎo)出的,體現(xiàn)了初始模式之間的聯(lián)系。</p><p>  角色(角色名稱,權(quán)限編號)</p><p><b>  3.2.3 數(shù)據(jù)表</b></p><p>  C語言教學(xué)網(wǎng)站及考試系統(tǒng)的數(shù)據(jù)表中各個表格的設(shè)計結(jié)果如下面表格所示,每個表格

79、表示在數(shù)據(jù)庫中的一個表。</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 系統(tǒng)開發(fā)與運行環(huán)境確定</p><p>  3.3.1 開發(fā)工具的確定</p><p>  本系統(tǒng)將采用Microsoft Visual Studio.NET 2003為前臺開發(fā)工具,主要原因如下:</p><p>  Microsoft的.NET平臺是一個強調(diào)多語言間交互的通用運行環(huán)境。.NET的設(shè)計者設(shè)想以.NET平臺作為絕大多數(shù)Win

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

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

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

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

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

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

88、碼構(gòu)建應(yīng)用程序,而不用考慮平臺、編程語言或?qū)ο竽P汀?lt;/p><p>  3.3.2 運行環(huán)境</p><p>  硬件:CPU:AMD2500+</p><p><b>  內(nèi)存: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系統(tǒng)實現(xiàn)的若干關(guān)鍵技術(shù)</p><p>  最重要的就是數(shù)據(jù)庫的設(shè)計

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

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

92、理工作均可視為對數(shù)據(jù)庫的加載測試工作。</p><p>  4. 用戶管理模塊設(shè)計</p><p>  4.1用戶管理模塊的體系結(jié)構(gòu)設(shè)計</p><p>  4.1.1 用戶管理模塊功能簡介</p><p>  用戶管理模塊對使用本系統(tǒng)的用戶進(jìn)行用戶名、密碼、用戶身份的驗證,確保了系統(tǒng)</p><p>  的安全性。本

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

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

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

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

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

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

99、錄是應(yīng)用程序的唯一入口,為了提高登錄驗證過程的安全性,函數(shù)GetUserLogin()調(diào)用存儲過程Pr_GetUserLogin訪問數(shù)據(jù)庫。存儲過程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>  為了提高整個系統(tǒng)的安全性,在用戶表Users中存儲的用戶密碼Password字段不是用戶密碼的真實值,而是加密后的密碼字符串。加密函數(shù)Encrtpt()被定義為UserDB類的靜態(tài)函數(shù)。調(diào)用加密函數(shù)時,首先那加密字符串進(jìn)行編碼成Uncode,然后使用系統(tǒng)的不對稱加密算法MD5加密用戶密碼串。用戶登錄時只需要驗證加密后的密碼串和數(shù)據(jù)庫存儲

102、的密碼串是否一致即可。該函數(shù)的代碼如下:</p><p>  /// <summary></p><p>  /// 用戶加密函數(shù)</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>  添加新用戶有兩種方式,一種方式是從后臺的用戶管理中添加用戶,另一種方式是用戶注冊。用戶注冊方式只能添加考生,而不能添加角色為管理員的用戶,因為具有管理員角色的用戶可以直接進(jìn)入到系統(tǒng)的后臺管理界面,所以在前臺注冊這種角色的用戶是非常不安全的,系統(tǒng)的管理將比較混亂,而且系統(tǒng)數(shù)據(jù)安全性也會受到威脅,</p><p>  下面僅介紹前臺用戶注冊實現(xiàn)的方法。考慮到用戶注冊需要輸入用戶名稱、用戶密

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

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

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

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

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

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

112、onnection);</p><p>  //定義訪問數(shù)據(jù)庫的方式為存儲過程</p><p>  myCommand.CommandType = CommandType.StoredProcedure;</p><p>  //創(chuàng)建訪問數(shù)據(jù)庫的參數(shù)</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>  函數(shù)AddUser()調(diào)用(

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

118、uot;數(shù)據(jù)庫連接失敗!",ex);} //執(zhí)行數(shù)據(jù)庫的存儲過程(訪問數(shù)據(jù)庫)</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>  {//關(guān)閉數(shù)據(jù)庫的連接</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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論