實(shí)驗(yàn)課程考試系統(tǒng)的研究與設(shè)計(jì)碩士學(xué)位_第1頁
已閱讀1頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  實(shí)驗(yàn)課程考試系統(tǒng)的研究與設(shè)計(jì)</p><p><b>  專業(yè):計(jì)算機(jī)技術(shù)</b></p><p>  研究生: 指導(dǎo)教師: </p><p>  網(wǎng)絡(luò)化教育代表了教育改革的一個(gè)發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個(gè)特征,并對教育的發(fā)展形成新的推動(dòng)力?;贗nternet的考試系統(tǒng)正成為人們的研究熱點(diǎn)之一。與傳

2、統(tǒng)考試模式相比,網(wǎng)上考試具有無可比擬的優(yōu)越性。</p><p>  傳統(tǒng)的考試系統(tǒng)主要解決了客觀題以及少量主觀題的考試,而對于實(shí)驗(yàn)課程而言,由于其具有較強(qiáng)的操作性和交互性,針對實(shí)驗(yàn)課程內(nèi)容的考試只能按照傳統(tǒng)的人工模式進(jìn)行。長期以來,老師很難監(jiān)督學(xué)生是否作弊,是否通過正常的步驟得出結(jié)果,而且每場考試中老師監(jiān)考的學(xué)生有限。</p><p>  本文所研究的實(shí)驗(yàn)課程模擬考試系統(tǒng)的主要目的是為了讓

3、學(xué)生能集中的針對某一門實(shí)驗(yàn)課程進(jìn)行在線的考試,使得考試的各個(gè)環(huán)節(jié)都變得方便、快捷和安全。本系統(tǒng)采用了基于Web的B/S模式的N層模型進(jìn)行設(shè)計(jì)。在技術(shù)上,采用了Flash技術(shù)開發(fā)實(shí)驗(yàn)考題,使用.NET Framework 3.5作為開發(fā)平臺(tái)和運(yùn)行支撐平臺(tái),數(shù)據(jù)庫服務(wù)器則使用了SQL Server 2008,并使用了C#語言、ASP.NET WebForm、ASP.NET AJAX 和 ADO.NET等技術(shù)進(jìn)行課題的設(shè)計(jì)。</p>

4、;<p>  關(guān)鍵字:考試系統(tǒng) Flash ASP.NET ADO.NET AJAX </p><p>  Study and Design of Examination System for Experiment Course</p><p>  Major: Computer Technology</p><p>  Graduate Studen

5、t: Sun Lian Advisor: Tang Ningjiu</p><p>  Education network, a representative of the direction of education reform has become a feature of modern education, and educational development to form a new im

6、petus. Compared with the traditional mode of examination, online examination has incomparable superiority.</p><p>  The traditional examination system solves the problem of all subjective exams and a few obj

7、ective exams, and for the experimental course, since it has a strong operational and interactive, experimental curriculum for the examination only in accordance with the traditional manual mode. For a long time, the teac

8、her is difficult to monitor whether students cheat, whether the results obtained through the normal steps, and each teacher proctor exams for students is limited.</p><p>  This experimental program studied t

9、he simulation test system's main purpose is to enable students to concentrate in an experimental curriculum for an online exam, making the examination of all aspects have become convenient, fast and safe. The system

10、is designed a Web-based B / S mode of N-tier model. Technically, the test files are developed using Flash technology, use the. NET Framework 3.5 as a development platform and operating platform, and use SQL Server 2008 a

11、s the database server, and us</p><p>  Keywords: Examination System Flash ASP.NET ADO.NET AJAX</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p>&

12、lt;p><b>  1.1選題背景1</b></p><p>  1.2 選題目的及意義1</p><p>  1.3 本文的研究內(nèi)容及組織結(jié)構(gòu)2</p><p>  1.3.1 本文研究內(nèi)容2</p><p>  1.3.2 本文組織結(jié)構(gòu)2</p><p>  第二章 開發(fā)平臺(tái)

13、及關(guān)鍵技術(shù)介紹4</p><p>  2.1 .NET Framework4</p><p>  2.1.1 體系結(jié)構(gòu)4</p><p>  2.1.2 .NET Framework版本發(fā)展7</p><p>  2.2 SQL Server8</p><p>  2.2.1 SQL Server Expre

14、ss Edition概述8</p><p>  2.2.2 SQL Server 2008 Express Edition的主要功能9</p><p>  2.3 Visual Studio .NET10</p><p>  2.4 C#語言11</p><p>  2.5 ASP.NET11</p><p>

15、;  2.5.1 ASP.NET主要特性12</p><p>  2.5.2 ASP.NET Web應(yīng)用程序13</p><p>  2.6 ASP.NET AJAX14</p><p>  2.7 ADO.NET15</p><p>  2.8 三層架構(gòu)簡介17</p><p>  第三章 需求分析18&

16、lt;/p><p>  3.1 業(yè)務(wù)功能需求分析18</p><p>  3.1.1 考試端功能需求19</p><p>  3.1.2 管理端功能需求20</p><p>  3.1.3 考題需求22</p><p>  3.2 數(shù)據(jù)需求分析23</p><p>  3.3 環(huán)境需求分析

17、23</p><p>  第四章 系統(tǒng)設(shè)計(jì)24</p><p>  4.1 系統(tǒng)功能模塊設(shè)計(jì)24</p><p>  4.1.1 考試端功能模塊設(shè)計(jì)24</p><p>  4.1.2 管理端功能模塊設(shè)計(jì)26</p><p>  4.2 數(shù)據(jù)庫設(shè)計(jì)28</p><p>  4.2.1

18、 數(shù)據(jù)庫總體設(shè)計(jì)28</p><p>  4.2.2 數(shù)據(jù)庫表詳細(xì)設(shè)計(jì)29</p><p>  4.2.3 存儲(chǔ)過程設(shè)計(jì)31</p><p>  4.3 考題文件設(shè)計(jì)33</p><p>  第五章 系統(tǒng)實(shí)現(xiàn)35</p><p>  5.1 考試端模塊的實(shí)現(xiàn)35</p><p>  

19、5.1.1 UI設(shè)計(jì)思路35</p><p>  5.1.2 考試登錄35</p><p>  5.1.3考試答題37</p><p>  5.1.4 考試結(jié)束41</p><p>  5.1.5 錯(cuò)誤處理41</p><p>  5.2管理端模塊的實(shí)現(xiàn)42</p><p>  5.

20、2.1 UI設(shè)計(jì)思路42</p><p>  5.2.2 管理員登錄43</p><p>  5.2.3 考試管理43</p><p>  5.2.4 考題管理47</p><p>  5.2.5 學(xué)生管理49</p><p>  5.2.6 成績查詢統(tǒng)計(jì)51</p><p>  5

21、.2.7 管理員信息管理53</p><p>  5.2.8 重設(shè)密碼54</p><p>  5.3 數(shù)據(jù)訪問層的實(shí)現(xiàn)55</p><p>  5.3.1 通用類設(shè)計(jì)55</p><p>  5.3.2 數(shù)據(jù)實(shí)體類設(shè)計(jì)55</p><p>  第六章 系統(tǒng)測試59</p><p>

22、  6.1 系統(tǒng)測試概述59</p><p>  6.2 系統(tǒng)測試環(huán)境59</p><p>  6.3 系統(tǒng)測試的結(jié)果60</p><p>  第七章 安全性問題及對策62</p><p>  7.1 登錄密碼保護(hù)62</p><p>  7.2 防瀏覽器返回功能62</p><p>

23、;  7.3 防止SQL注入63</p><p>  第八章 總結(jié)與展望65</p><p><b>  聲 明69</b></p><p><b>  致 謝70</b></p><p><b>  第一章 緒論</b></p><p>&

24、lt;b>  1.1選題背景</b></p><p>  網(wǎng)絡(luò)化教育代表了教育改革的一個(gè)發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個(gè)特征,并對教育的發(fā)展形成新的推動(dòng)力。隨著Internet/Intranet的迅速發(fā)展和廣泛普及,建立在其上的遠(yuǎn)程教育成為現(xiàn)代教育技術(shù)未來發(fā)展方向之一,考試測試作為遠(yuǎn)程教育的一個(gè)子系統(tǒng)也成為一個(gè)重要的研究領(lǐng)域。現(xiàn)代遠(yuǎn)程教育作為一種新的教學(xué)手段已經(jīng)開始進(jìn)入我們的生活,正在給傳統(tǒng)教育

25、模式帶來新的變革,并對教育的發(fā)展形成新的推動(dòng)力。</p><p>  Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,Internet的開放性、分布性的特點(diǎn)和基于Internet的巨大的計(jì)算能力使得考試突破了時(shí)間和空間的限制?;贗nternet的考試系統(tǒng)正成為人們的研究熱點(diǎn)之一。與傳統(tǒng)考試模式相比,網(wǎng)上考試具有無可比擬的優(yōu)越性,它可以將傳統(tǒng)考試過程中的試卷組織、審定印制、傳送收集、登記發(fā)放

26、、評(píng)判歸檔各個(gè)環(huán)節(jié)縮小到一至兩個(gè)環(huán)節(jié),幾乎屏蔽了所有人工直接干預(yù)考試活動(dòng)的可能性,不但能夠節(jié)約大量的時(shí)日、人力、物力與財(cái)力,而且還可以大幅度提高考試成績的客觀性和公正性。</p><p>  考試系統(tǒng)通常分為兩種,一種是帶有客戶端軟件的C/S(客戶端/服務(wù)器)模式的考試系統(tǒng),另一種是基于Web的B/S(瀏覽器/服務(wù)器)模式的考試系統(tǒng)。前者在部署過程中需要對每一臺(tái)考試機(jī)安裝專門的考試客戶端軟件,通過這些客戶端軟件可

27、以訪問本地資源,如操作系統(tǒng)、本地文檔等等。但是由于其部署上缺乏靈活性,以及Web頁面和瀏覽器的功能不斷增強(qiáng),目前被廣泛采用的是基于Web的B/S模式的考試系統(tǒng)。它具有部署方便、靈活的特性,只要接入考試網(wǎng)絡(luò)的客戶機(jī)并具有網(wǎng)頁瀏覽器就能夠使用,而且所有的考試數(shù)據(jù)都在服務(wù)器端,從而提高了系統(tǒng)的安全性、集中性和可控性。</p><p>  1.2 選題目的及意義</p><p>  傳統(tǒng)的考試系統(tǒng)

28、主要解決了客觀題以及少量主觀題的考試,如判斷題、選擇題、填空題以及簡單題。由于計(jì)算機(jī)本身對主觀題目的答案無法做到全面有效的判定,僅能對客觀題進(jìn)行準(zhǔn)確的判斷,傳統(tǒng)的考試系統(tǒng)絕大多數(shù)為客觀題的考試。因此,由于實(shí)驗(yàn)課程的特殊性,針對實(shí)驗(yàn)課程內(nèi)容的考試只能按照傳統(tǒng)的人工模式進(jìn)行,學(xué)生在實(shí)際的實(shí)驗(yàn)設(shè)備上操作,完成實(shí)驗(yàn)題目,得出結(jié)論,然后由老師來驗(yàn)收實(shí)驗(yàn)結(jié)果。在這個(gè)過程中,老師很難監(jiān)督學(xué)生是否作弊,是否通過正常的步驟得出結(jié)果,而且每場考試中老師監(jiān)考

29、的學(xué)生有限。</p><p>  因此研究如何實(shí)現(xiàn)實(shí)驗(yàn)課程的考試是非常必要的。它將解決老師監(jiān)考、批改試卷、統(tǒng)計(jì)分?jǐn)?shù)等諸多工作中所出現(xiàn)的不便,并且也能使學(xué)生在模擬環(huán)境下的操作幾近真實(shí)環(huán)境下的操作,做到即不影響學(xué)生完成實(shí)驗(yàn)操作,更能給老師考核所授實(shí)驗(yàn)課程效果帶來極大的方便,還能嚴(yán)肅考場紀(jì)律,杜絕作弊現(xiàn)象的發(fā)生。</p><p>  1.3 本文的研究內(nèi)容及組織結(jié)構(gòu)</p><

30、;p>  1.3.1 本文研究內(nèi)容</p><p>  本文主要研究了如何實(shí)現(xiàn)模擬真實(shí)的實(shí)驗(yàn)考試場景,采用信息化網(wǎng)絡(luò)化的手段實(shí)現(xiàn)多人同時(shí)考試,從而使得實(shí)驗(yàn)考試中試題管理、學(xué)生管理、監(jiān)考管理、試卷批改以及統(tǒng)計(jì)等諸多環(huán)節(jié)更加可控和高效。本課題在研究過程中,主要以《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》實(shí)驗(yàn)課考試為研究對象入手,在考試系統(tǒng)設(shè)計(jì)中兼顧了通用性和易用性。本課題項(xiàng)目采用微軟.NET技術(shù)平臺(tái),使用Microsoft SQL S

31、erver 2008作為數(shù)據(jù)庫服務(wù)端,開發(fā)工具使用了微軟的Visual Studio .NET 2008,采用ASP.NET以及ASP.NET AJAX技術(shù),使用C#編寫考試系統(tǒng)業(yè)務(wù)邏輯代碼,使用Flash開發(fā)考題文件,從而設(shè)計(jì)該實(shí)驗(yàn)課程考試系統(tǒng)。</p><p>  本人在本課題研究中,主要參與了需求調(diào)研與分析和系統(tǒng)設(shè)計(jì),并完成了本課題項(xiàng)目的部分代碼。</p><p>  1.3.2 本

32、文組織結(jié)構(gòu)</p><p>  第一章 概述,主要介紹本文的研究背景和研究目的。</p><p>  第二章 開發(fā)平臺(tái)及關(guān)鍵技術(shù)介紹,主要介紹本課題研究中要使用的技術(shù),包括.NET技術(shù)平臺(tái)的簡介,Microsoft SQL Server 2008數(shù)據(jù)庫系統(tǒng),ASP.NET技術(shù),ASP.NET AJAX技術(shù),C#語言以及開發(fā)工具Visual Studio .NET 2008。</p&g

33、t;<p>  第三章 需求分析,主要介紹本課題的功能需求和數(shù)據(jù)需求。</p><p>  第四章 系統(tǒng)設(shè)計(jì),主要介紹本課題的系統(tǒng)設(shè)計(jì),包括考試系統(tǒng)的功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和考題文件設(shè)計(jì)。</p><p>  第五章 系統(tǒng)實(shí)現(xiàn),詳細(xì)介紹本課題的系統(tǒng)實(shí)現(xiàn)過程、系統(tǒng)功能模塊以及考題的設(shè)計(jì)和實(shí)現(xiàn)。</p><p>  第六章 系統(tǒng)測試,本章主要介紹利用常見

34、的測試手段對本課題項(xiàng)目的測試工作。</p><p>  第七章 安全性問題及對策,主要介紹本課題在安全性方面所做的工作。</p><p>  第八章 總結(jié)與展望,對本課題的成果進(jìn)行總結(jié),提出進(jìn)一步的展望。</p><p>  第二章 開發(fā)平臺(tái)及關(guān)鍵技術(shù)介紹</p><p>  本章主要介紹課題項(xiàng)目的開發(fā)平臺(tái)和部分關(guān)鍵的技術(shù),其中包括軟件開發(fā)平

35、臺(tái).NET Framework、數(shù)據(jù)庫開發(fā)平臺(tái)SQL Server、集成開發(fā)工具Visual Studio .NET、開發(fā)語言C#,以及ASP.NET、ASP.NET AJAX和ADO.NET等關(guān)鍵的實(shí)現(xiàn)技術(shù)。</p><p>  2.1 .NET Framework</p><p>  .NET框架(.NET Framework) 是由微軟公司研發(fā),是一個(gè)致力于敏捷軟件開發(fā)(Agile

36、software development)、快速應(yīng)用開發(fā)(Rapid application development)、平臺(tái)無關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺(tái)。.NET是微軟為下一個(gè)十年對服務(wù)器和桌面型軟件工程邁出的第一步。.NET包含許多有助于互聯(lián)網(wǎng)和內(nèi)部網(wǎng)應(yīng)用迅捷開發(fā)的技術(shù)。[4]</p><p>  .NET Framework是微軟公司繼Windows DNA之后的全新開發(fā)的平臺(tái)。.NET Framewor

37、k是以一種采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái),以通用語言運(yùn)行庫(Common Language Runtime)為基礎(chǔ),支持多種語言(C#、VB.NET、C++、Python等)的開發(fā)。[2]</p><p>  .NET也為應(yīng)用程序接口提供了新功能和開發(fā)工具。這些革新使得程序設(shè)計(jì)員可以同時(shí)進(jìn)行Windows應(yīng)用軟件和網(wǎng)絡(luò)應(yīng)用軟件以及組件和服務(wù)(Web服務(wù))的開發(fā)。.NET提供了一個(gè)新的反射性的且面向?qū)ο蟪绦蛟O(shè)計(jì)編程接

38、口。.NET設(shè)計(jì)得足夠通用化從而使許多不同高級(jí)語言都得以被匯集。[3]</p><p>  2.1.1 體系結(jié)構(gòu)</p><p>  .NET Framework的體系結(jié)構(gòu)及其在計(jì)算機(jī)系統(tǒng)中所處的位置如圖2-1所示。</p><p>  .NET Framework 具有兩個(gè)主要組件:公共語言運(yùn)行庫(CLR)和 .NET Framework 類庫(FCL)。公共語言

39、運(yùn)行庫是 .NET Framework 的基礎(chǔ),可以將它看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,提供了內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.NET Framework 的另一個(gè)主要組件是類庫,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图?,開發(fā)者可以使用它來

40、開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)新的應(yīng)用程序(如 WebForm和 XML Web Services)。</p><p>  圖2-1 .NET Framework的位置及其組成</p><p><b>  1.公共語言運(yùn)行庫</b></p><p>

41、  公共語言運(yùn)行庫(CLR)是.NET程序的執(zhí)行引擎,它為簡化應(yīng)用程序開發(fā)和代碼重用提供了高層次的支持,提供了大量的運(yùn)行時(shí)服務(wù),包括編譯、無用內(nèi)存單元回收(Garbage Collection,GC)及內(nèi)存管理等;另外,CLR使用貫穿整個(gè).NET Framework的通用類型系統(tǒng),所有的.NET編程語言都使用相同的類型系統(tǒng)和基類,從而使語言與編程模型能完美地結(jié)合在一起。CLR的體系結(jié)構(gòu)如圖2-2所示。</p><p&

42、gt;  CLR使用一種被稱為微軟中間語言(Microsoft Intermediate Language,MSIL)的類似匯編的語言來提供單一的運(yùn)行環(huán)境。所有的.NET應(yīng)用程序都被編譯為MSIL,程序在運(yùn)行時(shí)再由CLR調(diào)用實(shí)時(shí)編譯器(Just-In-Time,JIT)將MSIL編譯成當(dāng)前操作系統(tǒng)以及機(jī)器硬件能識(shí)別的機(jī)器代碼來執(zhí)行。從某種意義上來說,CLR看起來像Java虛擬機(jī),而MSIL類似于Java字節(jié)代碼。[2]</p>

43、;<p>  在CLR控制下運(yùn)行的代碼稱為托管代碼(managed code),即由CLR管理并執(zhí)行的代碼。那么,不以CLR為運(yùn)行環(huán)境的代碼稱為非托管代碼(unmanaged code)。托管代碼能夠?yàn)镃LR提供運(yùn)行該代碼所需的信息,而且可被無用單元回收器自動(dòng)清理。此外,CLR還提供了執(zhí)行非托管代碼的方法,例如COM組件,可借助COM InterOp服務(wù)(COM InterOp服務(wù)能夠?yàn)镃OM組件生成.NET封裝),就可以

44、在CLR下運(yùn)行了。</p><p>  綜合起來,CLR主要提供了諸如代碼管理(加載和執(zhí)行)、獨(dú)立應(yīng)用程序內(nèi)存空間、檢查類型安全、將MSIL轉(zhuǎn)換成可執(zhí)行的本機(jī)碼、使用元數(shù)據(jù)來增強(qiáng)類型信息、為托管對象管理內(nèi)存、增強(qiáng)安全性、異常處理、平臺(tái)互操作機(jī)制以及對開發(fā)者提供的調(diào)試等服務(wù)。</p><p>  圖2-2 CLR體系結(jié)構(gòu)</p><p>  2..NET Framew

45、ork類庫</p><p>  類庫是.NET Framework的另一個(gè)重要組成部分,.NET Framework類庫是生成.NET應(yīng)用程序、組件和控件的基礎(chǔ)。.NET Framework類庫包括類、接口和值類型,它們可以加速和優(yōu)化開發(fā)過程并提供對系統(tǒng)功能的訪問。[23]</p><p>  圖2-3 .NET Framework類庫</p><p>  如圖2-

46、3所示,.NET Framework中的類庫可以分為兩個(gè)部分,分別是核心類和表示類,其中核心類又包括基礎(chǔ)類、數(shù)據(jù)和XML類這兩個(gè)層次。核心類為開發(fā)者提供了構(gòu)建應(yīng)用程序所需的基本功能,包括XML支持、建立網(wǎng)絡(luò)和數(shù)據(jù)訪問。這些統(tǒng)一的核心類使開發(fā)者在構(gòu)建任何類型的.NET應(yīng)用程序時(shí)都能使用相同的類,這種一致性可以提高開發(fā)效率,同時(shí)也提高了代碼的可復(fù)用性。表示類包括用于開發(fā)基于Windows的應(yīng)用程序的Windows Form、用于開發(fā)Web應(yīng)

47、用程序的ASP.NET WebForm和XML Web Services。[17]</p><p>  2.1.2 .NET Framework版本發(fā)展</p><p>  .NET Framework自2002年2月13日發(fā)布1.0版本以來已經(jīng)經(jīng)歷了5個(gè)成熟版本,分別是1.0、1.1、2.0、3.0、3.5、4.0。[3]在其每一個(gè)版本中都作了優(yōu)化和升級(jí),目前最為成熟的版本為3.5。&l

48、t;/p><p>  本課題項(xiàng)目就是采用的.NET Framework 3.5作為開發(fā)和運(yùn)行平臺(tái)。這是由于該版本中所包含的大部分核心技術(shù)已經(jīng)申請為國際標(biāo)準(zhǔn),具有極強(qiáng)的擴(kuò)展性和平臺(tái)互操作性。在該版本的基礎(chǔ)上還出現(xiàn)了一些開源的.NET框架,如MONO等。本課題所研究的課題是提供一套真實(shí)可行的考試系統(tǒng),力求穩(wěn)定和精要,還要具有較強(qiáng)的擴(kuò)展性,并且需要使用ASP.NET AJAX技術(shù),該技術(shù)僅集成在.NET Framework

49、3.5中,因此.NET Framework 3.5則成了最合適的選擇。</p><p>  2.2 SQL Server</p><p>  本課題中采用的數(shù)據(jù)庫服務(wù)是由SQL Server 2008 Express Edition(速成版)提供的,它是微軟專門針對學(xué)生、初學(xué)者等入門級(jí)的SQL Server 2008的版本,比較適合用于本課題的研究和設(shè)計(jì)。</p><p

50、>  SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上分開,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。而S

51、ybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。[7]</p><p>  2.2.1 SQL Server Express Edition概述</p><p>  SQL Server Express Edition是一個(gè)免費(fèi)、易用且便于管理的數(shù)據(jù)庫。SQL Server Express 與 Microsoft Visual Studio 2008集成在一起,可以

52、輕松開發(fā)功能豐富、存儲(chǔ)安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。SQL Server Express是免費(fèi)的,可以再分發(fā)(受制于協(xié)議),還可以起到客戶端數(shù)據(jù)庫以及基本服務(wù)器數(shù)據(jù)庫的作用。</p><p>  SQL Server Express Edition使用與其他SQL Server 2008版本同樣可靠的、高性能的數(shù)據(jù)庫引擎,也使用相同的數(shù)據(jù)訪問API(如ADO.NET、T-SQL和SQL Native Cli

53、ent)。實(shí)際上,它與其他SQL Server 2008版本的不同僅僅體現(xiàn)在:</p><p><b>  缺乏企業(yè)版功能支持</b></p><p><b>  僅限一個(gè)CPU</b></p><p>  緩沖池內(nèi)存限制為1GB</p><p><b>  數(shù)據(jù)庫最大為4GB</b

54、></p><p>  SQL Server Express Edition的開發(fā)一則是為了用作服務(wù)器產(chǎn)品,特別是作為Web服務(wù)器或數(shù)據(jù)庫服務(wù)器,再則是用作本地客戶端數(shù)據(jù)存儲(chǔ)區(qū),其中的應(yīng)用程序數(shù)據(jù)訪問不依賴于網(wǎng)絡(luò)。易用性和簡單性是主要設(shè)計(jì)目標(biāo)。[7]</p><p>  2.2.2 SQL Server 2008 Express Edition的主要功能[8]</p>

55、<p>  SQL Server 2008 Express Edition的主要功能有:</p><p><b>  引擎規(guī)范</b></p><p>  該版本的引擎只支持1個(gè)CPU、1GB RAM和4GB的數(shù)據(jù)庫大小,以此來輕松區(qū)別其他的SQL Server 2008版本。另外,沒有工作負(fù)荷中止值,并且引擎的執(zhí)行方式與他版本是相同的。對可以附著到SQL

56、Server Express Edition的用戶數(shù)沒有硬編碼限制,但其CPU和內(nèi)存限制實(shí)際上可以從SQL Server Express Edition數(shù)據(jù)庫獲取可接受響應(yīng)次數(shù)的用戶數(shù)。</p><p><b>  工具支持</b></p><p>  微軟提供了一個(gè)名為SQL Server Management Studio Express Edition(SSMS

57、EE)的新GUI工具可以使管理數(shù)據(jù)庫、執(zhí)行查詢分析功能變得十分輕松,并且可以免費(fèi)重新發(fā)布。</p><p><b>  網(wǎng)絡(luò)支持</b></p><p>  盡管用戶可以顯式打開其他支持的協(xié)議(如TCP/IP和Named Pipes),但默認(rèn)情況下,SQL Server Express Edition只能訪問本地計(jì)算機(jī)上的共享內(nèi)存連接類型。它不支持VIA協(xié)議和HTTP

58、協(xié)議。</p><p><b>  數(shù)據(jù)訪問支持</b></p><p>  SQL Server Express Edition支持使用ADO.NET進(jìn)行托管訪問。微軟建議使用SqlClient數(shù)據(jù)提供程序來開發(fā)應(yīng)用程序。ADO.NET 數(shù)據(jù)提供程序支持varchar(MAX)和XML之類的新SQL Server數(shù)據(jù)類型以及用戶定義類型。</p>&l

59、t;p><b>  安全性</b></p><p>  對于 SQL Server Express Edition,它的一個(gè)目標(biāo)是為不同組件提供安全的默認(rèn)值。例如,關(guān)閉網(wǎng)絡(luò)協(xié)議(如TCP/IP和Named Pipes)。不啟動(dòng)SQL Browser服務(wù),除非用戶在安裝命令行中顯式請求啟動(dòng)。如果使用 Windows 身份驗(yàn)證,則默認(rèn)情況下禁用 SA 帳戶或系統(tǒng)管理員帳戶。計(jì)算機(jī)上的普通用

60、戶幾乎沒有對 SQL Server Express 實(shí)例的權(quán)限。服務(wù)器上的本地管理員必須向普通用戶顯式授予相關(guān)權(quán)限,這些用戶才能使用其功能。</p><p><b>  復(fù)制支持</b></p><p>  用戶通過復(fù)制可以使用“發(fā)布服務(wù)器-訂閱服務(wù)器”模式使用戶定義的間隔保持多個(gè)站點(diǎn)的數(shù)據(jù)副本同步。</p><p><b>  用戶

61、實(shí)例</b></p><p>  用戶實(shí)例是SQL Server Express Edition中的新功能,可以像處理文件一樣處理數(shù)據(jù)庫。即本地?cái)?shù)據(jù)庫可以隨應(yīng)用程序一起移動(dòng)、復(fù)制或通過網(wǎng)絡(luò)傳送,并且在新的位置,不需要進(jìn)行額外配置就可以使其正常運(yùn)行。</p><p>  2.3 Visual Studio .NET</p><p>  Visual Stu

62、dio .NET是一套完整的開發(fā)工具集,用于生成ASP.NET Web應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 等開發(fā)語言全都使用相同的集成開發(fā)環(huán)境(IDE),利用此IDE可以共享工具且有助于創(chuàng)建混合語言解決方案。</p><p>  Visual Studio .NET提供了如下整體功能[2

63、5]:</p><p>  提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠(yuǎn)程執(zhí)行的。</p><p>  提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。</p><p>  提供一個(gè)可提高代碼執(zhí)行安全性的代碼執(zhí)行環(huán)境。</p><p>  提供一個(gè)可消除腳本環(huán)境

64、或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。</p><p>  使開發(fā)人員的經(jīng)驗(yàn)在面對類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web的應(yīng)用程序)時(shí)保持一致。</p><p>  按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;贛icrosoft Visual Studio .NET的代碼可與任何其他代碼集成。</p><p>  Visual Studio .NE

65、T通過提供熟知的、可共享的開發(fā)環(huán)境,簡化了開發(fā)強(qiáng)大的、可靠地企業(yè)級(jí)Web解決方案的工作,并提高了開發(fā)人員的開發(fā)效率。預(yù)建的組件、編程向?qū)б约爸赜糜扇魏握Z言開發(fā)的組件的能力,都可以顯著地縮減開發(fā)時(shí)間?;谥悄芨兄∕icrosoft IntelliSense)的代碼自動(dòng)生成技術(shù)可以更快地產(chǎn)生正確代碼。強(qiáng)大的、端到端的對跨語言調(diào)試的支持增強(qiáng)了應(yīng)用程序的可操作性。</p><p>  本課題項(xiàng)目中視圖和業(yè)務(wù)邏輯部分采用

66、的是Microsoft Visual Studio 2008 Professional進(jìn)行開發(fā)的,該版本可以支持.NET Framework 2.0/3.0/3.5,具有較強(qiáng)的擴(kuò)展性和靈活性,并且該版本的其他輔助設(shè)計(jì)功能也非常完善和穩(wěn)定。</p><p><b>  2.4 C#語言</b></p><p>  C#(C Sharp)是微軟公司為.NET Framew

67、ork量身訂做的程序設(shè)計(jì)語言,C#擁有C/C++的強(qiáng)大功能以及Visual Basic簡易使用的特性,是第一個(gè)面向組件(Component-oriented)的程序語言,和C++與Java一樣為面向?qū)ο螅╫bject-oriented)程序語言。[5]</p><p>  C#以其簡單性、現(xiàn)代性、面向?qū)ο?、版本可控、靈活性和安全性迅速地被廣泛使用,稱為了.NET平臺(tái)上的主流程序設(shè)計(jì)語言。[6]</p>

68、<p>  就本課題項(xiàng)目的開發(fā)而言,選擇任何一種支持.NET Framework的程序設(shè)計(jì)語言都可以完成,但是由于C#是.NET平臺(tái)上應(yīng)用程序開發(fā)的主流語言,有利于項(xiàng)目的后期維護(hù)和改進(jìn)。</p><p>  2.5 ASP.NET</p><p>  ASP.NET是使開發(fā)人員能夠使用.NET Framework開發(fā)基于Web的應(yīng)用程序的宿主環(huán)境。但是,ASP.NET不止是一

69、個(gè)運(yùn)行庫宿主,它是使用托管代碼開發(fā)網(wǎng)站和通過Internet分布的對象的完整結(jié)構(gòu)。WebForm和XML Web Services都將IIS 和ASP.NET用作應(yīng)用程序的發(fā)布機(jī)制,并且兩者在.NET Framework中都具有支持類集合。ASP.NET運(yùn)行環(huán)境示意如圖2-4所示。</p><p>  圖2-4 ASP.NET運(yùn)行環(huán)境[10]</p><p>  目前,基于.NET Fra

70、mework最新版本的ASP.NET技術(shù)包括了WebForm、AJAX、MVC、Silverlight等多項(xiàng)分支技術(shù)。其中WebForm是最經(jīng)典的ASP.NET Web應(yīng)用程序開發(fā)技術(shù),它以事件驅(qū)動(dòng)的方式完成Web應(yīng)用程序的開發(fā),使得習(xí)慣了傳統(tǒng)的Windows界面應(yīng)用程序的開發(fā)者非常容易入手。并且,.NET Framework類型庫為ASP.NET WebForm提供了非常豐富的組件(WebControl)支持,通過這些組件,開發(fā)者可以

71、快速地開發(fā)出基于WebForm的應(yīng)用程序。ASP.NET Web應(yīng)用程序是由一個(gè)或多個(gè)WebForm組成,而WebForm就是可以訪問服務(wù)器資源的動(dòng)態(tài)Web頁。[17]</p><p>  另外,ASP.NET WebForm不依靠客戶端腳本,因此它不依賴于客戶端瀏覽器類型或操作系統(tǒng)。這種獨(dú)立性允許開發(fā)獨(dú)立的WebForm,這種窗體可以被任何可以訪問Internet并具有Web瀏覽器的設(shè)備瀏覽。ASP.NET是.

72、NET Framework的一部分,可以用任何基于.NET的語言開發(fā)ASP.NET Web應(yīng)用程序,本課題采用的是C#。</p><p>  2.5.1 ASP.NET主要特性</p><p>  ASP.NET的一些主要特性如下:</p><p><b>  WebForm</b></p><p>  WebForm是

73、ASP.NET新的程序設(shè)計(jì)模式。WebForm結(jié)合了ASP簡易開發(fā)和VB高效率的優(yōu)點(diǎn),可以把控件拖放到頁面上,然后對其編程(在代碼頁中隱藏)來提供交互、調(diào)用業(yè)務(wù)對象和執(zhí)行其他任務(wù)。</p><p><b>  服務(wù)器控件</b></p><p>  服務(wù)器控件是WebForm程序設(shè)計(jì)模型的主要組件。它們近似地映射了HTML元素,并可提供強(qiáng)大的服務(wù)端編程能力。它們運(yùn)行在

74、服務(wù)器上,輸出HTML,這些HTML可被高版本瀏覽器或任何支持HTML 4.0(XHTML 1.0)及以上版本的瀏覽器所支持。</p><p>  Web Services</p><p>  Web Services是ASP.NET的關(guān)鍵部分,它允許創(chuàng)建可編程的服務(wù),這些服務(wù)對于Internet或本地局域網(wǎng)上的其他開發(fā)者是可用的。Web Services是基于現(xiàn)存的SOAP標(biāo)準(zhǔn),因此它們

75、允許在不同的平臺(tái)相互使用。</p><p><b>  高速緩存</b></p><p>  ASP.NET包含一個(gè)功能強(qiáng)大的高速緩存引擎,它減少了Web服務(wù)器和數(shù)據(jù)庫服務(wù)器處理的負(fù)載,從而改進(jìn)了應(yīng)用程序的執(zhí)行性能。</p><p><b>  新的配置方法</b></p><p>  ASP.NE

76、T使用新的方法來為Web應(yīng)用程序存儲(chǔ)配置信息。與IIS將這些信息存儲(chǔ)在很難訪問的數(shù)據(jù)庫中不同,ASP.NET將這些信息存儲(chǔ)在人和機(jī)器都易讀的基于XML的配置文件中。[1]</p><p>  2.5.2 ASP.NET Web應(yīng)用程序</p><p>  ASP.NET Web應(yīng)用程序包括不同的部分和組件。創(chuàng)建ASP.NET Web應(yīng)用程序涉及使用它的所有部分和組件,并使其正常運(yùn)轉(zhuǎn)。<

77、;/p><p>  ASP.NET Web應(yīng)用程序的組成部分包括:</p><p>  WebForms(或.aspx頁)</p><p>  WebForm和.aspx頁為Web應(yīng)用程序提供用戶接口。</p><p><b>  代碼隱藏頁</b></p><p>  代碼隱藏頁是和WebForm關(guān)

78、聯(lián)在一起的,它包含WebForm的服務(wù)器端代碼。</p><p><b>  配置文件</b></p><p>  配置文件是為Web應(yīng)用程序和Web服務(wù)器定義了默認(rèn)設(shè)置的XML文件。每個(gè)Web應(yīng)用程序都有一個(gè)Web.config配置文件。</p><p>  Global.asax文件</p><p>  Global

79、.asax文件包含對有ASP.NET引發(fā)的應(yīng)用程序級(jí)事件作出響應(yīng)的必要代碼。</p><p>  XML Web Service鏈接</p><p>  XML Web Service鏈接允許Web應(yīng)用程序使用XML Web Service發(fā)送和接收數(shù)據(jù)。</p><p><b>  數(shù)據(jù)庫連接</b></p><p>

80、  數(shù)據(jù)庫連接允許Web應(yīng)用程序域數(shù)據(jù)庫資源之間傳遞數(shù)據(jù)。</p><p><b>  高速緩存</b></p><p>  高速緩存可使Web應(yīng)用程序在第一次請求之后更快地返回WebForm和數(shù)據(jù)。[1]</p><p>  2.6 ASP.NET AJAX</p><p>  Ajax并不是一個(gè)新技術(shù),它只是一個(gè)標(biāo)準(zhǔn)

81、的合并,以識(shí)別當(dāng)前Web瀏覽器的豐富的潛在功能。Ajax是Jesse James Garrett提出,是Asynchronous JavaScript and XML的縮寫。[18]</p><p>  在支持Ajax的Web應(yīng)用程序中,最重要的特性是Web瀏覽器能在操作的外部與Web服務(wù)器通信。這稱為異步回送或部分頁面的會(huì)送。實(shí)際上,這意味著用戶可以與服務(wù)器端的功能和數(shù)據(jù)交互,而無需更新整個(gè)頁面。[18]例如,

82、單擊一個(gè)鏈接,移動(dòng)到表的第二頁數(shù)據(jù)上時(shí),Ajax可以只刷新表的內(nèi)容,而不刷新整個(gè)Web頁面。也就是說,需要的Internet通信量較少,從而使Web應(yīng)用程序的響應(yīng)比較快。</p><p>  Microsoft對Ajax進(jìn)行了進(jìn)一步的封裝,稱為ASP.NET AJAX。這個(gè)實(shí)現(xiàn)方式采用了Ajax模型,將它應(yīng)用于ASP.NET架構(gòu)。ASP.NET AJAX提供了許多服務(wù)器控件和客戶端技術(shù),它們專用于ASP.NET開

83、發(fā)人員,可以毫不費(fèi)力地在Web應(yīng)用程序中添加Ajax功能。在ASP.NET的最新版本中,ASP.NET AJAX是ASP.NET核心功能的一部分。ASP.NET AJAX提供了如下功能[18]:</p><p>  服務(wù)器端架構(gòu)允許ASP.NET Web頁面響應(yīng)部分頁面的回送操作。</p><p>  ASP.NET服務(wù)器控件便于實(shí)現(xiàn)Ajax功能。</p><p>

84、  HTTP處理程序允許ASP.NET Web服務(wù)在部分頁面的回送操作中,使用JavaScript Object Notation(JSON)串行化功能與客戶端代碼通信。</p><p>  Web服務(wù)支持客戶端代碼訪問ASP.NET應(yīng)用程序服務(wù),包括身份驗(yàn)證和個(gè)性化服務(wù)。</p><p>  網(wǎng)站模板可用于創(chuàng)建支持ASP.NET AJAX的Web應(yīng)用程序。</p><

85、p>  客戶端的JavaScript庫對JavaScript語法進(jìn)行了許多改進(jìn),還提供了許多代碼,來簡化Ajax功能的實(shí)現(xiàn)。</p><p>  這些服務(wù)器控件和服務(wù)器端的架構(gòu)統(tǒng)稱為ASP.NET Extensions。ASP.NET AJAX的客戶端部分成為AJAX庫。另外還有兩個(gè)軟件包:</p><p>  ASP.NET AJAX Control Toolkit:這個(gè)軟件包包含

86、了由開發(fā)團(tuán)隊(duì)創(chuàng)建的其他服務(wù)器控件,這些控件是共享的。</p><p>  Microsoft AJAX Library 3.5:這個(gè)軟件包包含JavaScript客戶端架構(gòu),它們由ASP.NET AJAX用于執(zhí)行Ajax功能。</p><p>  2.7 ADO.NET</p><p>  ADO.NET是ADO(ActiveX Data Object)的后繼技術(shù),

87、它是.NET Framework的一部分,為應(yīng)用程序提供數(shù)據(jù)訪問能力。ADO.NET為運(yùn)行SQL查詢、存儲(chǔ)過程、操作XML數(shù)據(jù)提供了所需的工具,它能用于訪問關(guān)系型數(shù)據(jù)庫系統(tǒng),如SQL Server以及很多其他配置了OLE DB Provider或ODBC Provider的數(shù)據(jù)源。在某種程度上,ADO.NET代表了最新版本的ADO技術(shù),但ADO.NET同時(shí)也引入了很多重要的改變,因此也很適合于結(jié)構(gòu)松散的、本質(zhì)上非連接的Web應(yīng)用程序。[

88、14]</p><p>  ADO.NET的設(shè)計(jì)目的是幫助開發(fā)者建立在Intranet或Internet環(huán)境中運(yùn)行的高效多層數(shù)據(jù)庫應(yīng)用程序。這些應(yīng)用程序通常會(huì)呈現(xiàn)出如下特點(diǎn):</p><p>  基于Web應(yīng)用程序模型之間呈現(xiàn)為越來越松散的耦合;</p><p>  使用XML對數(shù)據(jù)進(jìn)行編碼并通過網(wǎng)絡(luò)傳輸;</p><p>  Web應(yīng)用程序

89、將HTTP協(xié)議作為在層間通信的協(xié)議;</p><p>  設(shè)計(jì)ADO.NET的目的是為了滿足一種新的編程模型的要求:具有斷開式數(shù)據(jù)結(jié)構(gòu);能夠與XML緊密集成;具有通用數(shù)據(jù)表現(xiàn)形式并能夠組合來自多個(gè)數(shù)據(jù)源的數(shù)據(jù);具有為與數(shù)據(jù)庫交互而優(yōu)化的功能。</p><p>  ADO.NET是.NET平臺(tái)的數(shù)據(jù)訪問機(jī)制,它由數(shù)據(jù)集(DataSet)和數(shù)據(jù)提供程序(Data Provider)組成,后者是

90、一組包含Connection、Command、DataReader和DataAdapter對象的組件,其結(jié)構(gòu)如圖2-5所示。</p><p>  圖2-5 ADO.NET結(jié)構(gòu)體系[1]</p><p>  DataSet是ADO.NET的斷開式結(jié)構(gòu)的核心組件,能實(shí)現(xiàn)獨(dú)立于數(shù)據(jù)源的數(shù)據(jù)訪問。因此,它可以用于多種不同的數(shù)據(jù)源,用于XML數(shù)據(jù)或用于管理應(yīng)用程序的本地?cái)?shù)據(jù)。DataSet是包含一個(gè)

91、或多個(gè)數(shù)據(jù)表(DataTable)對象的集合,這些對象包含數(shù)據(jù)行(DataRow)和數(shù)據(jù)列(DataColumn)以及主鍵、外鍵約束和有關(guān)DataTable對象中數(shù)據(jù)的關(guān)系信息。</p><p>  另一個(gè)核心組件是.NET Framework數(shù)據(jù)提供程序,其設(shè)計(jì)目的是實(shí)現(xiàn)數(shù)據(jù)操作和對數(shù)據(jù)的快速、向前、只讀訪問。Connection對象提供與數(shù)據(jù)源的連接。Command對象用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以及

92、發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令。DataReader從數(shù)據(jù)源中得到高性能的數(shù)據(jù)流。DataAdapter是連接DataSet對象和數(shù)據(jù)源的橋梁,DataAdapter使用Command對象在數(shù)據(jù)源中執(zhí)行SQL命令,以便數(shù)據(jù)加載到DataSet中,并使DataSet中的數(shù)據(jù)與數(shù)據(jù)源保持一致??梢詾槿魏螖?shù)據(jù)源編寫.NET Framework數(shù)據(jù)提供程序。</p><p>  2.8 三層架構(gòu)簡介</p>

93、<p>  在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最為常見的,也是非常重要的一種結(jié)構(gòu)。微軟公司推薦將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。三層架構(gòu)模型如圖2-6所示。</p><p>  在這三個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。所謂三層體系結(jié)構(gòu),是在視圖層與數(shù)據(jù)庫之間加入了一個(gè)“中間層”,或叫組件

94、層。</p><p>  圖2-6 三層體系結(jié)構(gòu)</p><p>  三層體系結(jié)構(gòu)并不是指物理上的三層,也不是指用三臺(tái)機(jī)器來部署就是三層體系結(jié)構(gòu),而且不僅B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層次放置到一臺(tái)機(jī)器上。[4]</p><p>  B/S模式中的三層結(jié)構(gòu)主要功能:[30]</p><p>  表示層(UI)用于

95、顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。該層主要面向最終用戶,用戶通過Web瀏覽器向Web服務(wù)器提出服務(wù)請求,Web服務(wù)器對用戶驗(yàn)證身份后,使用HTTP協(xié)議將所需的頁面?zhèn)魉徒o客戶端瀏覽器。</p><p>  業(yè)務(wù)邏輯層(BLL)針對具體問題的操作,也可以認(rèn)為是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯的處理。該層位于整個(gè)三層體系的中間,起到了數(shù)據(jù)交換中承上啟下的作用。</p><p

96、>  數(shù)據(jù)訪問層(DAL)有時(shí)也稱為持久層,其功能主要是負(fù)責(zé)數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制文件、文本文件或XML文件。簡單的說,該層實(shí)現(xiàn)了對數(shù)據(jù)表的Select、Insert、Update和Delete等操作。</p><p><b>  第三章 需求分析</b></p><p>  本課題所研究的考試系統(tǒng)是針對學(xué)生在完成了一些需要實(shí)際動(dòng)手操作的實(shí)驗(yàn)課

97、程后需要進(jìn)行的課程測驗(yàn)或者考試而設(shè)計(jì)的實(shí)驗(yàn)?zāi)M考試系統(tǒng)。本系統(tǒng)用模擬現(xiàn)實(shí)實(shí)驗(yàn)的方式考查學(xué)生對課程中實(shí)驗(yàn)課題掌握的程度,通過在本系統(tǒng)上的考試也能得出學(xué)生的課程成績。本考試系統(tǒng)應(yīng)該具備一般在線考試系統(tǒng)的基本功能,如考試設(shè)置、學(xué)生管理、考題管理、成績查詢、學(xué)生考試等。</p><p>  本系統(tǒng)的實(shí)際應(yīng)用環(huán)境依托學(xué)?,F(xiàn)有的校園網(wǎng)環(huán)境,可以進(jìn)行大規(guī)模的考試,總體結(jié)構(gòu)模型如圖3-1所示。</p><p&

98、gt;  圖3-1 項(xiàng)目總體結(jié)構(gòu)模型</p><p>  3.1 業(yè)務(wù)功能需求分析</p><p>  本課題所研究的考試系統(tǒng)和傳統(tǒng)考試系統(tǒng)一樣具備考試和后臺(tái)管理的功能,但由于本系統(tǒng)需求的特殊性,它與傳統(tǒng)的考試系統(tǒng)又有一定的差別。傳統(tǒng)的考試系統(tǒng)的考題主要是客觀題為主,如選擇題、判斷題和填空題,因?yàn)檫@些題目可以比較方便的由計(jì)算機(jī)來完成閱卷判分的工作。本考試系統(tǒng)則主要針對實(shí)驗(yàn)課程的內(nèi)容來進(jìn)行考

99、試,因此就不能依賴于客觀題來考查學(xué)生的學(xué)習(xí)效果,需要對真實(shí)的實(shí)驗(yàn)環(huán)境進(jìn)行模擬,讓學(xué)生在考試系統(tǒng)中完成模擬現(xiàn)實(shí)的實(shí)驗(yàn)操作。</p><p>  從學(xué)生的角度來看,他們需要通過學(xué)號(hào)登錄考試系統(tǒng)進(jìn)行答題,完成模擬的實(shí)驗(yàn)操作題目,并能在交卷或考試結(jié)束時(shí)查看自己的成績。對于管理端來說,就與傳統(tǒng)的考試系統(tǒng)功能相似,應(yīng)具備考試及考場的管理、學(xué)生的管理、成績查詢統(tǒng)計(jì)以及管理端安全訪問的管理。與傳統(tǒng)考試系統(tǒng)不同的地方,主要是考題的

100、設(shè)計(jì),本系統(tǒng)考題的設(shè)計(jì)采用Flash來實(shí)現(xiàn),要求使用Flash交互性動(dòng)畫來實(shí)現(xiàn)考題,每個(gè)題目需要設(shè)計(jì)一個(gè)Flash文件,題庫中的題目都由這些Flash文件來構(gòu)成。</p><p>  通過對本系統(tǒng)的總體需求進(jìn)行分析,其總體業(yè)務(wù)流程如圖3-2所示。</p><p>  圖3-2 總體業(yè)務(wù)流程圖</p><p>  3.1.1考試端功能需求</p><

101、;p>  根據(jù)課題研究小組提出的需求,對考試端的設(shè)計(jì)盡量做到操作簡單、安全以及嚴(yán)謹(jǐn)。具體需求分析如下:</p><p><b>  學(xué)生登錄</b></p><p>  在學(xué)生登錄時(shí),學(xué)生只需要輸入各自的學(xué)號(hào)即可登錄,不需要進(jìn)行密碼驗(yàn)證。但是,在學(xué)生輸入了學(xué)號(hào)之后能核對自己的基本信息和考試信息,從而判斷自己的信息是否正確,以及判斷自己是否能正常進(jìn)入考試系統(tǒng)進(jìn)行考

102、試。</p><p>  在學(xué)生確認(rèn)了基本信息和考試信息之后才能進(jìn)入考試系統(tǒng)答題,否則應(yīng)提示學(xué)生與監(jiān)考老師或管理員聯(lián)系。另外,還應(yīng)該驗(yàn)證該學(xué)生是否已經(jīng)在考試當(dāng)中,避免重復(fù)登錄以及代考作弊的情況發(fā)生。</p><p><b>  學(xué)生考試</b></p><p>  學(xué)生進(jìn)入考試后,系統(tǒng)根據(jù)管理端設(shè)置的本場考試參數(shù)配置考試頁面。具體需求如下:&l

103、t;/p><p>  考試頁面根據(jù)管理端設(shè)置的本場考試抽屜數(shù)量隨機(jī)從題庫中抽取考題文件(Flash文件)按先后順序?qū)腠撁?,學(xué)生完成了一道題目之后手動(dòng)操作導(dǎo)入下一道題目。</p><p>  學(xué)生在答題過程中不允許使用瀏覽器的“后退”功能,必須依次完成各個(gè)題目,做過的題目不允許重新再做。</p><p>  在考試頁面中需要顯示學(xué)生信息和考試剩余時(shí)間,還需提供手動(dòng)交卷功

104、能。</p><p>  在頁面顯著位置提示學(xué)生本場考試的注意事項(xiàng)。</p><p>  學(xué)生交卷以及考試結(jié)束</p><p>  學(xué)生在考試頁面中手動(dòng)交卷或者考試時(shí)間結(jié)束時(shí),進(jìn)入考試結(jié)束頁面。在該頁面顯示該學(xué)生的基本信息、考試總分以及每道題目的得分等信息。并且,不允許學(xué)生使用瀏覽器的“后退”功能,避免學(xué)生在得知自己未合格的情況下重新進(jìn)入考試頁面答題,從而達(dá)到考試的

105、目的。</p><p>  3.1.2 管理端功能需求</p><p>  根據(jù)本課題研究小組所提出的需求,管理端應(yīng)該具備考試管理、學(xué)生管理、考題管理、成績查詢統(tǒng)計(jì)以及安全性管理等功能。具體分析如下:</p><p><b>  考試信息管理</b></p><p>  考試信息管理主要包括創(chuàng)建考試和管理考試兩部分。&l

106、t;/p><p>  管理員可根據(jù)課程考試安排創(chuàng)建考試,創(chuàng)建考試時(shí)需要配置該場考試的名稱、隨機(jī)抽題數(shù)量以及考試的一些注意事項(xiàng)描述等信息。考試創(chuàng)建后,管理員可根據(jù)課程教師的安排選擇適當(dāng)?shù)臅r(shí)間開始考試手動(dòng)操作啟動(dòng)考試。只有管理員開始考試后,學(xué)生在考試端才能進(jìn)入考試答題。</p><p>  考試創(chuàng)建后管理員可以直接啟動(dòng)考試,也可以在考試管理模塊啟動(dòng)考試。考試管理模塊中應(yīng)顯示當(dāng)前正在進(jìn)行或正準(zhǔn)備進(jìn)行

107、的考試信息,并提供手動(dòng)結(jié)束考試的功能。每場考試所抽取的題目數(shù)量不等,每道題目要求完成的時(shí)長也不盡相同,因此系統(tǒng)無需根據(jù)時(shí)間自動(dòng)結(jié)束考試。</p><p>  在考試管理模塊中還應(yīng)提供歷史考試信息的瀏覽功能,從而可以為管理員或課程教師提供歷史參考信息,其中包括考試名稱、隨機(jī)抽題數(shù)量、考試開始時(shí)間、考試狀態(tài)(未開始、學(xué)生中和已結(jié)束)以及考試描述等信息。管理員可以根據(jù)實(shí)際情況對歷史考試信息進(jìn)行刪除,刪除考試信息時(shí)應(yīng)讓管

108、理員進(jìn)行確認(rèn)。</p><p><b>  學(xué)生信息管理</b></p><p>  學(xué)生信息管理主要包括添加學(xué)生信息和管理學(xué)生信息兩大部分。其中添加學(xué)生信息可以單個(gè)添加也可以通過學(xué)生名單(Excel文件)批量的添加學(xué)生信息。</p><p>  添加學(xué)生信息時(shí)需要錄入學(xué)生的學(xué)號(hào)(即參加考試的考號(hào))、姓名、性別和班級(jí)。為了簡化后臺(tái)管理操作,學(xué)生

109、的班級(jí)信息可以從數(shù)據(jù)庫中現(xiàn)存的班級(jí)名稱中選擇,如果該學(xué)生不屬于數(shù)據(jù)庫現(xiàn)存的所有班級(jí),管理員也可以手動(dòng)輸入考生的班級(jí)名稱。</p><p>  批量錄入學(xué)生信息功能則允許管理員通過學(xué)生名單的電子表格文檔(Excel文件)批量導(dǎo)入數(shù)據(jù)庫。由于不同時(shí)期或不同班級(jí)的學(xué)生名單格式可能有所不同,需提供一份專門用于本系統(tǒng)批量錄入學(xué)生信息的Excel模板表格,當(dāng)需要批量錄入時(shí)將原學(xué)生名單表格中的學(xué)號(hào)、姓名、性別和班級(jí)信息復(fù)制到模

110、板表格中,通過該模板表格進(jìn)行導(dǎo)入。批量導(dǎo)入時(shí)應(yīng)提示管理員所導(dǎo)入學(xué)生信息的數(shù)量以及導(dǎo)入是否成功,并且能夠進(jìn)行導(dǎo)入前以及導(dǎo)入后的預(yù)覽。</p><p>  管理學(xué)生信息包括對學(xué)生姓名、性別、班級(jí)和考試狀態(tài)等基本信息的修改,學(xué)生信息的刪除,學(xué)生信息的搜索等功能。由于學(xué)生在進(jìn)行考試過程中可能出現(xiàn)斷網(wǎng)或非正常關(guān)機(jī)等突發(fā)情況,此時(shí)學(xué)生還可能處于“考試中”的狀態(tài),因此在管理學(xué)生信息模塊里面還應(yīng)該提供將學(xué)生考試狀態(tài)設(shè)置為“未考試

溫馨提示

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

評(píng)論

0/150

提交評(píng)論