版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 PAGE68 / NUMPAGES73實驗課程考試系統(tǒng)的研究與設(shè)計專業(yè):計算機(jī)技術(shù)網(wǎng)絡(luò)化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個特征,并對教育的發(fā)展形成新的推動力?;贗nternet的考試系統(tǒng)正成為人們的研究熱點之一。與傳統(tǒng)考試模式相比,網(wǎng)上考試具有無可比擬的優(yōu)越性。傳統(tǒng)的考試系統(tǒng)主要解決了客觀題以與少量主觀題的考試,而對于實驗課程而言,由于其具有較強的操作性和交互性,針對實驗課程容的考試只能按照傳統(tǒng)的人工模式進(jìn)行。長期以來,老師很難監(jiān)督學(xué)生是否作弊,是否通過正常的步驟得出結(jié)果,而且每場考試中老師監(jiān)考的學(xué)生有限。本文所研究的實驗課程模擬考試系統(tǒng)的主要目的是為了讓學(xué)生能集中的
2、針對某一門實驗課程進(jìn)行在線的考試,使得考試的各個環(huán)節(jié)都變得方便、快捷和安全。本系統(tǒng)采用了基于Web的B/S模式的N層模型進(jìn)行設(shè)計。在技術(shù)上,采用了Flash技術(shù)開發(fā)實驗考題,使用.NET Framework 3.5作為開發(fā)平臺和運行支撐平臺,數(shù)據(jù)庫服務(wù)器則使用了SQL Server 2008,并使用了C#語言、ASP.NET WebForm、ASP.NET AJAX 和 ADO.NET等技術(shù)進(jìn)行課題的設(shè)計。關(guān)鍵字:考試系統(tǒng) Flash ASP.NET ADO.NET AJAXStudy and Design of Examination System for Experiment Course
3、Major: Computer TechnologyGraduate Student: Sun Lian Advisor: Tang NingjiuEducation network, a representative of the direction of education reform has become a feature of modern education, and educational development to form a new impetus.Compared with the traditional mode of examination, online exa
4、mination has incomparable superiority.The traditional examination system solves the problem of all subjective exams and a few objective exams, and for the experimental course, since it has a strong operational and interactive, experimental curriculum for the examination only in accordance with the t
5、raditional manual mode.For a long time, the teacher is difficult to monitor whether students cheat, whether the results obtained through the normal steps, and each teacher proctor exams for students is limited.This experimental program studied the simulation test systems main purpose is to enable st
6、udents to concentrate in an experimental curriculum for an online exam, making the examination of all aspects have become convenient, fast and safe.The system 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
7、.5 as a development platform and operating platform, and use SQL Server 2008 as the database server, and use the C # language, ASP.NET WebForm, ASP.NET AJAX and ADO.NET and some other technology to design subjects.Keywords: Examination SystemFlash ASP.NET ADO.NETAJAX目 錄TOC o 1-3 h z uHYPERLINK l _To
8、c304326861第一章緒論 PAGEREF _Toc304326861 h 1HYPERLINK l _Toc3043268621.1選題背景 PAGEREF _Toc304326862 h 1HYPERLINK l _Toc3043268631.2 選題目的與意義 PAGEREF _Toc304326863 h 1HYPERLINK l _Toc3043268641.3 本文的研究容與組織結(jié)構(gòu) PAGEREF _Toc304326864 h 2HYPERLINK l _Toc3043268651.3.1 本文研究容 PAGEREF _Toc304326865 h 2HYPERLINK l
9、 _Toc3043268661.3.2 本文組織結(jié)構(gòu) PAGEREF _Toc304326866 h 2HYPERLINK l _Toc304326867第二章開發(fā)平臺與關(guān)鍵技術(shù)介紹 PAGEREF _Toc304326867 h 4 HYPERLINK l _Toc304326868 2.1 .NET Framework PAGEREF _Toc304326868 h 4 HYPERLINK l _Toc304326869 2.1.1 體系結(jié)構(gòu) PAGEREF _Toc304326869 h 4 HYPERLINK l _Toc304326870 2.1.2 .NET Framework版本
10、發(fā)展 PAGEREF _Toc304326870 h 7 HYPERLINK l _Toc304326871 2.2 SQL Server PAGEREF _Toc304326871 h 8 HYPERLINK l _Toc304326872 2.2.1 SQL Server Express Edition概述 PAGEREF _Toc304326872 h 8 HYPERLINK l _Toc304326873 2.2.2 SQL Server 2008 Express Edition的主要功能 PAGEREF _Toc304326873 h 9 HYPERLINK l _Toc304326
11、874 2.3 Visual Studio .NET PAGEREF _Toc304326874 h 10 HYPERLINK l _Toc304326875 2.4 C#語言 PAGEREF _Toc304326875 h 11 HYPERLINK l _Toc304326876 2.5 ASP.NET PAGEREF _Toc304326876 h 11 HYPERLINK l _Toc304326877 2.5.1 ASP.NET主要特性 PAGEREF _Toc304326877 h 12 HYPERLINK l _Toc304326878 2.5.2 ASP.NET Web應(yīng)用程序
12、PAGEREF _Toc304326878 h 13 HYPERLINK l _Toc304326879 2.6 ASP.NET AJAX PAGEREF _Toc304326879 h 14 HYPERLINK l _Toc304326880 2.7 ADO.NET PAGEREF _Toc304326880 h 15 HYPERLINK l _Toc304326881 2.8 三層架構(gòu)簡介 PAGEREF _Toc304326881 h 17HYPERLINK l _Toc304326882第三章需求分析 PAGEREF _Toc304326882 h 18 HYPERLINK l _To
13、c304326883 3.1 業(yè)務(wù)功能需求分析 PAGEREF _Toc304326883 h 18 HYPERLINK l _Toc304326884 3.1.1 考試端功能需求 PAGEREF _Toc304326884 h 19 HYPERLINK l _Toc304326885 3.1.2 管理端功能需求 PAGEREF _Toc304326885 h 20 HYPERLINK l _Toc304326886 3.1.3 考題需求 PAGEREF _Toc304326886 h 22 HYPERLINK l _Toc304326887 3.2 數(shù)據(jù)需求分析 PAGEREF _Toc30
14、4326887 h 23 HYPERLINK l _Toc304326888 3.3 環(huán)境需求分析 PAGEREF _Toc304326888 h 23 HYPERLINK l _Toc304326889 第四章系統(tǒng)設(shè)計 PAGEREF _Toc304326889 h 24 HYPERLINK l _Toc304326890 4.1 系統(tǒng)功能模塊設(shè)計 PAGEREF _Toc304326890 h 24 HYPERLINK l _Toc304326891 4.1.1 考試端功能模塊設(shè)計 PAGEREF _Toc304326891 h 24 HYPERLINK l _Toc304326892 4
15、.1.2 管理端功能模塊設(shè)計 PAGEREF _Toc304326892 h 26 HYPERLINK l _Toc304326893 4.2 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc304326893 h 28 HYPERLINK l _Toc304326894 4.2.1 數(shù)據(jù)庫總體設(shè)計 PAGEREF _Toc304326894 h 28 HYPERLINK l _Toc304326895 4.2.2 數(shù)據(jù)庫表詳細(xì)設(shè)計 PAGEREF _Toc304326895 h 29 HYPERLINK l _Toc304326896 4.2.3 存儲過程設(shè)計 PAGEREF _Toc304326896
16、 h 31 HYPERLINK l _Toc304326897 4.3 考題文件設(shè)計 PAGEREF _Toc304326897 h 33 HYPERLINK l _Toc304326898 第五章系統(tǒng)實現(xiàn) PAGEREF _Toc304326898 h 35 HYPERLINK l _Toc304326899 5.1 考試端模塊的實現(xiàn) PAGEREF _Toc304326899 h 35 HYPERLINK l _Toc304326900 5.1.1 UI設(shè)計思路 PAGEREF _Toc304326900 h 35 HYPERLINK l _Toc304326901 5.1.2 考試登錄
17、PAGEREF _Toc304326901 h 35 HYPERLINK l _Toc304326902 5.1.3考試答題 PAGEREF _Toc304326902 h 37 HYPERLINK l _Toc304326903 5.1.4 考試結(jié)束 PAGEREF _Toc304326903 h 41 HYPERLINK l _Toc304326904 5.1.5 錯誤處理 PAGEREF _Toc304326904 h 41 HYPERLINK l _Toc304326905 5.2管理端模塊的實現(xiàn) PAGEREF _Toc304326905 h 42 HYPERLINK l _Toc3
18、04326906 5.2.1 UI設(shè)計思路 PAGEREF _Toc304326906 h 42 HYPERLINK l _Toc304326907 5.2.2 管理員登錄 PAGEREF _Toc304326907 h 43 HYPERLINK l _Toc304326908 5.2.3 考試管理 PAGEREF _Toc304326908 h 43 HYPERLINK l _Toc304326909 5.2.4 考題管理 PAGEREF _Toc304326909 h 47 HYPERLINK l _Toc304326910 5.2.5 學(xué)生管理 PAGEREF _Toc304326910
19、 h 49 HYPERLINK l _Toc304326911 5.2.6 成績查詢統(tǒng)計 PAGEREF _Toc304326911 h 51 HYPERLINK l _Toc304326912 5.2.7 管理員信息管理 PAGEREF _Toc304326912 h 53 HYPERLINK l _Toc304326913 5.2.8 重設(shè)密碼 PAGEREF _Toc304326913 h 54 HYPERLINK l _Toc304326914 5.3 數(shù)據(jù)訪問層的實現(xiàn) PAGEREF _Toc304326914 h 55 HYPERLINK l _Toc304326915 5.3.1
20、 通用類設(shè)計 PAGEREF _Toc304326915 h 55 HYPERLINK l _Toc304326916 5.3.2 數(shù)據(jù)實體類設(shè)計 PAGEREF _Toc304326916 h 55 HYPERLINK l _Toc304326917 第六章系統(tǒng)測試 PAGEREF _Toc304326917 h 59 HYPERLINK l _Toc304326918 6.1 系統(tǒng)測試概述 PAGEREF _Toc304326918 h 59 HYPERLINK l _Toc304326919 6.2 系統(tǒng)測試環(huán)境 PAGEREF _Toc304326919 h 59 HYPERLINK
21、l _Toc304326920 6.3 系統(tǒng)測試的結(jié)果 PAGEREF _Toc304326920 h 60 HYPERLINK l _Toc304326921 第七章安全性問題與對策 PAGEREF _Toc304326921 h 62 HYPERLINK l _Toc304326922 7.1 登錄密碼保護(hù) PAGEREF _Toc304326922 h 62 HYPERLINK l _Toc304326923 7.2 防瀏覽器返回功能 PAGEREF _Toc304326923 h 62 HYPERLINK l _Toc304326924 7.3 防止SQL注入 PAGEREF _Toc
22、304326924 h 63 HYPERLINK l _Toc304326925 第八章總結(jié)與展望 PAGEREF _Toc304326925 h 65HYPERLINK l _Toc304326926聲明 PAGEREF _Toc304326926 h 69HYPERLINK l _Toc304326927致 PAGEREF _Toc304326927 h 70第一章 緒論1.1選題背景網(wǎng)絡(luò)化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個特征,并對教育的發(fā)展形成新的推動力。隨著Internet/Intranet的迅速發(fā)展和廣泛普與,建立在其上的遠(yuǎn)程教育成為現(xiàn)代教育技術(shù)未來發(fā)展方向之
23、一,考試測試作為遠(yuǎn)程教育的一個子系統(tǒng)也成為一個重要的研究領(lǐng)域?,F(xiàn)代遠(yuǎn)程教育作為一種新的教學(xué)手段已經(jīng)開始進(jìn)入我們的生活,正在給傳統(tǒng)教育模式帶來新的變革,并對教育的發(fā)展形成新的推動力。Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,Internet的開放性、分布性的特點和基于Internet的巨大的計算能力使得考試突破了時間和空間的限制。基于Internet的考試系統(tǒng)正成為人們的研究熱點之一。與傳統(tǒng)考試模式相比,網(wǎng)上考試具有無可比擬的優(yōu)越性,它可以將傳統(tǒng)考試過程中的試卷組織、審定印制、傳送收集、登記發(fā)放、評判歸檔各個環(huán)節(jié)縮小到一至兩個環(huán)節(jié),幾乎屏蔽了所有人工直接干預(yù)考試活動的
24、可能性,不但能夠節(jié)約大量的時日、人力、物力與財力,而且還可以大幅度提高考試成績的客觀性和公正性??荚囅到y(tǒng)通常分為兩種,一種是帶有客戶端軟件的C/S(客戶端/服務(wù)器)模式的考試系統(tǒng),另一種是基于Web的B/S(瀏覽器/服務(wù)器)模式的考試系統(tǒng)。前者在部署過程中需要對每一臺考試機(jī)安裝專門的考試客戶端軟件,通過這些客戶端軟件可以訪問本地資源,如操作系統(tǒng)、本地文檔等等。但是由于其部署上缺乏靈活性,以與Web頁面和瀏覽器的功能不斷增強,目前被廣泛采用的是基于Web的B/S模式的考試系統(tǒng)。它具有部署方便、靈活的特性,只要接入考試網(wǎng)絡(luò)的客戶機(jī)并具有網(wǎng)頁瀏覽器就能夠使用,而且所有的考試數(shù)據(jù)都在服務(wù)器端,從而提高
25、了系統(tǒng)的安全性、集中性和可控性。1.2 選題目的與意義傳統(tǒng)的考試系統(tǒng)主要解決了客觀題以與少量主觀題的考試,如判斷題、選擇題、填空題以與簡單題。由于計算機(jī)本身對主觀題目的答案無法做到全面有效的判定,僅能對客觀題進(jìn)行準(zhǔn)確的判斷,傳統(tǒng)的考試系統(tǒng)絕大多數(shù)為客觀題的考試。因此,由于實驗課程的特殊性,針對實驗課程容的考試只能按照傳統(tǒng)的人工模式進(jìn)行,學(xué)生在實際的實驗設(shè)備上操作,完成實驗題目,得出結(jié)論,然后由老師來驗收實驗結(jié)果。在這個過程中,老師很難監(jiān)督學(xué)生是否作弊,是否通過正常的步驟得出結(jié)果,而且每場考試中老師監(jiān)考的學(xué)生有限。因此研究如何實現(xiàn)實驗課程的考試是非常必要的。它將解決老師監(jiān)考、批改試卷、統(tǒng)計分?jǐn)?shù)等
26、諸多工作中所出現(xiàn)的不便,并且也能使學(xué)生在模擬環(huán)境下的操作幾近真實環(huán)境下的操作,做到即不影響學(xué)生完成實驗操作,更能給老師考核所授實驗課程效果帶來極大的方便,還能嚴(yán)肅考場紀(jì)律,杜絕作弊現(xiàn)象的發(fā)生。1.3 本文的研究容與組織結(jié)構(gòu)1.3.1 本文研究容本文主要研究了如何實現(xiàn)模擬真實的實驗考試場景,采用信息化網(wǎng)絡(luò)化的手段實現(xiàn)多人同時考試,從而使得實驗考試中試題管理、學(xué)生管理、監(jiān)考管理、試卷批改以與統(tǒng)計等諸多環(huán)節(jié)更加可控和高效。本課題在研究過程中,主要以計算機(jī)網(wǎng)絡(luò)基礎(chǔ)實驗課考試為研究對象入手,在考試系統(tǒng)設(shè)計中兼顧了通用性和易用性。本課題項目采用微軟.NET技術(shù)平臺,使用Microsoft SQL Serv
27、er 2008作為數(shù)據(jù)庫服務(wù)端,開發(fā)工具使用了微軟的Visual Studio .NET 2008,采用ASP.NET以與ASP.NET AJAX技術(shù),使用C#編寫考試系統(tǒng)業(yè)務(wù)邏輯代碼,使用Flash開發(fā)考題文件,從而設(shè)計該實驗課程考試系統(tǒng)。本人在本課題研究中,主要參與了需求調(diào)研與分析和系統(tǒng)設(shè)計,并完成了本課題項目的部分代碼。1.3.2 本文組織結(jié)構(gòu)第一章 概述,主要介紹本文的研究背景和研究目的。第二章 開發(fā)平臺與關(guān)鍵技術(shù)介紹,主要介紹本課題研究中要使用的技術(shù),包括.NET技術(shù)平臺的簡介,Microsoft SQL Server 2008數(shù)據(jù)庫系統(tǒng),ASP.NET技術(shù),ASP.NET AJAX
28、技術(shù),C#語言以與開發(fā)工具Visual Studio .NET 2008。第三章 需求分析,主要介紹本課題的功能需求和數(shù)據(jù)需求。第四章 系統(tǒng)設(shè)計,主要介紹本課題的系統(tǒng)設(shè)計,包括考試系統(tǒng)的功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計和考題文件設(shè)計。第五章 系統(tǒng)實現(xiàn),詳細(xì)介紹本課題的系統(tǒng)實現(xiàn)過程、系統(tǒng)功能模塊以與考題的設(shè)計和實現(xiàn)。第六章 系統(tǒng)測試,本章主要介紹利用常見的測試手段對本課題項目的測試工作。第七章 安全性問題與對策,主要介紹本課題在安全性方面所做的工作。第八章 總結(jié)與展望,對本課題的成果進(jìn)行總結(jié),提出進(jìn)一步的展望。第二章 開發(fā)平臺與關(guān)鍵技術(shù)介紹本章主要介紹課題項目的開發(fā)平臺和部分關(guān)鍵的技術(shù),其中包括軟件開發(fā)
29、平臺.NET Framework、數(shù)據(jù)庫開發(fā)平臺SQL Server、集成開發(fā)工具Visual Studio .NET、開發(fā)語言C#,以與ASP.NET、ASP.NET AJAX和ADO.NET等關(guān)鍵的實現(xiàn)技術(shù)。2.1 .NET Framework.NET框架(.NET Framework) 是由微軟公司研發(fā),是一個致力于敏捷軟件開發(fā)(Agile software development)、快速應(yīng)用開發(fā)(Rapid application development)、平臺無關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺。.NET是微軟為下一個十年對服務(wù)器和桌面型軟件工程邁出的第一步。.NET包含許多有助于互聯(lián)網(wǎng)
30、和部網(wǎng)應(yīng)用迅捷開發(fā)的技術(shù)。4 .NET Framework是微軟公司繼Windows DNA之后的全新開發(fā)的平臺。.NET Framework是以一種采用系統(tǒng)虛擬機(jī)運行的編程平臺,以通用語言運行庫(Common Language Runtime)為基礎(chǔ),支持多種語言(C#、VB.NET、C+、Python等)的開發(fā)。2 .NET也為應(yīng)用程序接口提供了新功能和開發(fā)工具。這些革新使得程序設(shè)計員可以同時進(jìn)行Windows應(yīng)用軟件和網(wǎng)絡(luò)應(yīng)用軟件以與組件和服務(wù)(Web服務(wù))的開發(fā)。.NET提供了一個新的反射性的且面向?qū)ο蟪绦蛟O(shè)計編程接口。.NET設(shè)計得足夠通用化從而使許多不同高級語言都得以被匯集。32.
31、1.1 體系結(jié)構(gòu).NET Framework的體系結(jié)構(gòu)與其在計算機(jī)系統(tǒng)中所處的位置如圖2-1所示。.NET Framework 具有兩個主要組件:公共語言運行庫(CLR)和 .NET Framework 類庫(FCL)。公共語言運行庫是 .NET Framework 的基礎(chǔ),可以將它看作一個在執(zhí)行時管理代碼的代理,提供了存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強制實施嚴(yán)格的類型安全以與可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標(biāo)的代碼稱為托管代碼,而不以運行庫為目標(biāo)的代碼稱為非托管代碼。.NET Framework 的另一個主要組件是
32、類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,開發(fā)者可以使用它來開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提.NET應(yīng)用程序.NET Framework操作系統(tǒng)硬件.NET Framework類庫公共語言運行庫供的最新創(chuàng)新的應(yīng)用程序(如 WebForm和 XML Web Services)。圖2-1 .NET Framework的位置與其組成1.公共語言運行庫公共語言運行庫(CLR)是.NET程序的執(zhí)行引擎,它為簡化應(yīng)用程序開發(fā)和代碼重用提供了高層次的支持,提供了大量的運行時服務(wù),包括編譯、無用存單元回收(Garbage
33、 Collection,GC)與存管理等;另外,CLR使用貫穿整個.NET Framework的通用類型系統(tǒng),所有的.NET編程語言都使用一樣的類型系統(tǒng)和基類,從而使語言與編程模型能完美地結(jié)合在一起。CLR的體系結(jié)構(gòu)如圖2-2所示。CLR使用一種被稱為微軟中間語言(Microsoft Intermediate Language,MSIL)的類似匯編的語言來提供單一的運行環(huán)境。所有的.NET應(yīng)用程序都被編譯為MSIL,程序在運行時再由CLR調(diào)用實時編譯器(Just-In-Time,JIT)將MSIL編譯成當(dāng)前操作系統(tǒng)以與機(jī)器硬件能識別的機(jī)器代碼來執(zhí)行。從某種意義上來說,CLR看起來像Java虛擬
34、機(jī),而MSIL類似于Java字節(jié)代碼。2在CLR控制下運行的代碼稱為托管代碼(managed code),即由CLR管理并執(zhí)行的代碼。那么,不以CLR為運行環(huán)境的代碼稱為非托管代碼(unmanaged code)。托管代碼能夠為CLR提供運行該代碼所需的信息,而且可被無用單元回收器自動清理。此外,CLR還提供了執(zhí)行非托管代碼的方法,例如COM組件,可借助COM InterOp服務(wù)(COM InterOp服務(wù)能夠為COM組件生成.NET封裝),就可以在CLR下運行了。綜合起來,CLR主要提供了諸如代碼管理(加載和執(zhí)行)、獨立應(yīng)用程序存空間、檢查類型安全、將MSIL轉(zhuǎn)換成可執(zhí)行的本機(jī)碼、使用元數(shù)據(jù)
35、來增強類型信息、為托管對象管理存、增強安全性、異常處理、平臺互操作機(jī)制以與對開發(fā)者提供的調(diào)試等服務(wù)。基類庫的支持類加載器內(nèi)存管理線程支持異常管理器調(diào)試引擎類型檢查器安全引擎JIT實時編譯器代碼托管器無用單元回收圖2-2 CLR體系結(jié)構(gòu)2.NET Framework類庫.NET Framework類庫表示類核心類Web ServicesWindowsFormWebForm數(shù)據(jù)和XML類(ADO.NET、SQL、Xpath、XML等)框架基礎(chǔ)類(IO、String、網(wǎng)絡(luò)、安全、線程、反射、GC等)類庫是.NET Framework的另一個重要組成部分,.NET Framework類庫是生成.NET
36、應(yīng)用程序、組件和控件的基礎(chǔ)。.NET Framework類庫包括類、接口和值類型,它們可以加速和優(yōu)化開發(fā)過程并提供對系統(tǒng)功能的訪問。23圖2-3 .NET Framework類庫如圖2-3所示,.NET Framework中的類庫可以分為兩個部分,分別是核心類和表示類,其中核心類又包括基礎(chǔ)類、數(shù)據(jù)和XML類這兩個層次。核心類為開發(fā)者提供了構(gòu)建應(yīng)用程序所需的基本功能,包括XML支持、建立網(wǎng)絡(luò)和數(shù)據(jù)訪問。這些統(tǒng)一的核心類使開發(fā)者在構(gòu)建任何類型的.NET應(yīng)用程序時都能使用一樣的類,這種一致性可以提高開發(fā)效率,同時也提高了代碼的可復(fù)用性。表示類包括用于開發(fā)基于Windows的應(yīng)用程序的Windows
37、Form、用于開發(fā)Web應(yīng)用程序的ASP.NET WebForm和XML Web Services。172.1.2 .NET Framework版本發(fā)展.NET Framework自2002年2月13日發(fā)布1.0版本以來已經(jīng)經(jīng)歷了5個成熟版本,分別是1.0、1.1、2.0、3.0、3.5、4.0。3在其每一個版本中都作了優(yōu)化和升級,目前最為成熟的版本為3.5。本課題項目就是采用的.NET Framework 3.5作為開發(fā)和運行平臺。這是由于該版本中所包含的大部分核心技術(shù)已經(jīng)申請為國際標(biāo)準(zhǔn),具有極強的擴(kuò)展性和平臺互操作性。在該版本的基礎(chǔ)上還出現(xiàn)了一些開源的.NET框架,如MONO等。本課題所研
38、究的課題是提供一套真實可行的考試系統(tǒng),力求穩(wěn)定和精要,還要具有較強的擴(kuò)展性,并且需要使用ASP.NET AJAX技術(shù),該技術(shù)僅集成在.NET Framework3.5中,因此.NET Framework 3.5則成了最合適的選擇。2.2 SQL Server本課題中采用的數(shù)據(jù)庫服務(wù)是由SQL Server 2008 Express Edition(速成版)提供的,它是微軟專門針對學(xué)生、初學(xué)者等入門級的SQL Server 2008的版本,比較適合用于本課題的研究和設(shè)計。SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同
39、開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上分開,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。而Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。72.2.1 SQL Server Express Edition概述SQL Server Express Edition是一個免費、易用且便于管理的數(shù)據(jù)庫。SQL Server Express 與 Microsoft Vis
40、ual Studio 2008集成在一起,可以輕松開發(fā)功能豐富、存儲安全、可快速部署的數(shù)據(jù)驅(qū)動應(yīng)用程序。SQL Server Express是免費的,可以再分發(fā)(受制于協(xié)議),還可以起到客戶端數(shù)據(jù)庫以與基本服務(wù)器數(shù)據(jù)庫的作用。SQL Server Express Edition使用與其他SQL Server 2008版本同樣可靠的、高性能的數(shù)據(jù)庫引擎,也使用一樣的數(shù)據(jù)訪問API(如ADO.NET、T-SQL和SQL Native Client)。實際上,它與其他SQL Server 2008版本的不同僅僅體現(xiàn)在:缺乏企業(yè)版功能支持僅限一個CPU緩沖池存限制為1GB數(shù)據(jù)庫最大為4GBSQL Se
41、rver Express Edition的開發(fā)一則是為了用作服務(wù)器產(chǎn)品,特別是作為Web服務(wù)器或數(shù)據(jù)庫服務(wù)器,再則是用作本地客戶端數(shù)據(jù)存儲區(qū),其中的應(yīng)用程序數(shù)據(jù)訪問不依賴于網(wǎng)絡(luò)。易用性和簡單性是主要設(shè)計目標(biāo)。72.2.2 SQL Server 2008 Express Edition的主要功能8SQL Server 2008 Express Edition的主要功能有:引擎規(guī)該版本的引擎只支持1個CPU、1GB RAM和4GB的數(shù)據(jù)庫大小,以此來輕松區(qū)別其他的SQL Server 2008版本。另外,沒有工作負(fù)荷中止值,并且引擎的執(zhí)行方式與他版本是一樣的。對可以附著到SQL Server Ex
42、press Edition的用戶數(shù)沒有硬編碼限制,但其CPU和存限制實際上可以從SQL Server Express Edition數(shù)據(jù)庫獲取可接受響應(yīng)次數(shù)的用戶數(shù)。工具支持微軟提供了一個名為SQL Server Management Studio Express Edition(SSMSEE)的新GUI工具可以使管理數(shù)據(jù)庫、執(zhí)行查詢分析功能變得十分輕松,并且可以免費重新發(fā)布。網(wǎng)絡(luò)支持盡管用戶可以顯式打開其他支持的協(xié)議(如TCP/IP和Named Pipes),但默認(rèn)情況下,SQL Server Express Edition只能訪問本地計算機(jī)上的共享存連接類型。它不支持VIA協(xié)議和 協(xié)議。數(shù)
43、據(jù)訪問支持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ù)類型以與用戶定義類型。安全性對于 SQL Server Express Edition,它的一個目標(biāo)是為不同組件提供安全的默認(rèn)值。例如,關(guān)閉網(wǎng)絡(luò)協(xié)議(如TCP/IP和Named Pipes)。不啟動SQL Browser服務(wù),除非用戶在安裝命令行中顯式請求啟動。如果使用 Windows 身份驗證,則默認(rèn)情況下禁用 SA 或系統(tǒng)管理員。計算機(jī)上的普
44、通用戶幾乎沒有對 SQL Server Express 實例的權(quán)限。服務(wù)器上的本地管理員必須向普通用戶顯式授予相關(guān)權(quán)限,這些用戶才能使用其功能。復(fù)制支持用戶通過復(fù)制可以使用“發(fā)布服務(wù)器-訂閱服務(wù)器”模式使用戶定義的間隔保持多個站點的數(shù)據(jù)副本同步。用戶實例用戶實例是SQL Server Express Edition中的新功能,可以像處理文件一樣處理數(shù)據(jù)庫。即本地數(shù)據(jù)庫可以隨應(yīng)用程序一起移動、復(fù)制或通過網(wǎng)絡(luò)傳送,并且在新的位置,不需要進(jìn)行額外配置就可以使其正常運行。2.3 Visual Studio .NETVisual Studio .NET是一套完整的開發(fā)工具集,用于生成ASP.NET We
45、b應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 等開發(fā)語言全都使用一樣的集成開發(fā)環(huán)境(IDE),利用此IDE可以共享工具且有助于創(chuàng)建混合語言解決方案。Visual Studio .NET提供了如下整體功能25:提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠(yuǎn)程執(zhí)行的。提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。提供一個可提高代碼執(zhí)行安全性的代碼執(zhí)行環(huán)境。提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代
46、碼執(zhí)行環(huán)境。使開發(fā)人員的經(jīng)驗在面對類型大不一樣的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web的應(yīng)用程序)時保持一致。按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確保基于Microsoft Visual Studio .NET的代碼可與任何其他代碼集成。Visual Studio .NET通過提供熟知的、可共享的開發(fā)環(huán)境,簡化了開發(fā)強大的、可靠地企業(yè)級Web解決方案的工作,并提高了開發(fā)人員的開發(fā)效率。預(yù)建的組件、編程向?qū)б耘c重用由任何語言開發(fā)的組件的能力,都可以顯著地縮減開發(fā)時間?;谥悄芨兄∕icrosoft IntelliSense)的代碼自動生成技術(shù)可以更快地產(chǎn)生正確代碼。強大的、端到端的對跨語
47、言調(diào)試的支持增強了應(yīng)用程序的可操作性。本課題項目中視圖和業(yè)務(wù)邏輯部分采用的是Microsoft Visual Studio 2008 Professional進(jìn)行開發(fā)的,該版本可以支持.NET Framework 2.0/3.0/3.5,具有較強的擴(kuò)展性和靈活性,并且該版本的其他輔助設(shè)計功能也非常完善和穩(wěn)定。2.4 C#語言C#(C Sharp)是微軟公司為.NET Framework量身訂做的程序設(shè)計語言,C#擁有C/C+的強大功能以與Visual Basic簡易使用的特性,是第一個面向組件(Component-oriented)的程序語言,和C+與Java一樣為面向?qū)ο螅╫bject-or
48、iented)程序語言。5C#以其簡單性、現(xiàn)代性、面向?qū)ο蟆姹究煽?、靈活性和安全性迅速地被廣泛使用,稱為了.NET平臺上的主流程序設(shè)計語言。6就本課題項目的開發(fā)而言,選擇任何一種支持.NET Framework的程序設(shè)計語言都可以完成,但是由于C#是.NET平臺上應(yīng)用程序開發(fā)的主流語言,有利于項目的后期維護(hù)和改進(jìn)。2.5 ASP.NETASP.NET是使開發(fā)人員能夠使用.NET Framework開發(fā)基于Web的應(yīng)用程序的宿主環(huán)境。但是,ASP.NET不止是一個運行庫宿主,它是使用托管代碼開發(fā)和通過Internet分布的對象的完整結(jié)構(gòu)。WebForm和XML Web Services都將II
49、S 和ASP.NET用作應(yīng)用程序的發(fā)布機(jī)制,并且兩者在.NET Framework中都具有支持類集合。ASP.NET運行環(huán)境示意如圖2-4所示。圖2-4 ASP.NET運行環(huán)境10目前,基于.NET Framework最新版本的ASP.NET技術(shù)包括了WebForm、AJAX、MVC、Silverlight等多項分支技術(shù)。其中WebForm是最經(jīng)典的ASP.NET Web應(yīng)用程序開發(fā)技術(shù),它以事件驅(qū)動的方式完成Web應(yīng)用程序的開發(fā),使得習(xí)慣了傳統(tǒng)的Windows界面應(yīng)用程序的開發(fā)者非常容易入手。并且,.NET Framework類型庫為ASP.NET WebForm提供了非常豐富的組件(Web
50、Control)支持,通過這些組件,開發(fā)者可以快速地開發(fā)出基于WebForm的應(yīng)用程序。ASP.NET Web應(yīng)用程序是由一個或多個WebForm組成,而WebForm就是可以訪問服務(wù)器資源的動態(tài)Web頁。17另外,ASP.NET WebForm不依靠客戶端腳本,因此它不依賴于客戶端瀏覽器類型或操作系統(tǒng)。這種獨立性允許開發(fā)獨立的WebForm,這種窗體可以被任何可以訪問Internet并具有Web瀏覽器的設(shè)備瀏覽。ASP.NET是.NET Framework的一部分,可以用任何基于.NET的語言開發(fā)ASP.NET Web應(yīng)用程序,本課題采用的是C#。2.5.1 ASP.NET主要特性ASP.N
51、ET的一些主要特性如下:WebFormWebForm是ASP.NET新的程序設(shè)計模式。WebForm結(jié)合了ASP簡易開發(fā)和VB高效率的優(yōu)點,可以把控件拖放到頁面上,然后對其編程(在代碼頁中隱藏)來提供交互、調(diào)用業(yè)務(wù)對象和執(zhí)行其他任務(wù)。服務(wù)器控件服務(wù)器控件是WebForm程序設(shè)計模型的主要組件。它們近似地映射了HTML元素,并可提供強大的服務(wù)端編程能力。它們運行在服務(wù)器上,輸出HTML,這些HTML可被高版本瀏覽器或任何支持HTML 4.0(XHTML 1.0)與以上版本的瀏覽器所支持。Web ServicesWeb Services是ASP.NET的關(guān)鍵部分,它允許創(chuàng)建可編程的服務(wù),這些服務(wù)對
52、于Internet或本地局域網(wǎng)上的其他開發(fā)者是可用的。Web Services是基于現(xiàn)存的SOAP標(biāo)準(zhǔn),因此它們允許在不同的平臺相互使用。高速緩存ASP.NET包含一個功能強大的高速緩存引擎,它減少了Web服務(wù)器和數(shù)據(jù)庫服務(wù)器處理的負(fù)載,從而改進(jìn)了應(yīng)用程序的執(zhí)行性能。新的配置方法ASP.NET使用新的方法來為Web應(yīng)用程序存儲配置信息。與IIS將這些信息存儲在很難訪問的數(shù)據(jù)庫中不同,ASP.NET將這些信息存儲在人和機(jī)器都易讀的基于XML的配置文件中。12.5.2 ASP.NET Web應(yīng)用程序ASP.NET Web應(yīng)用程序包括不同的部分和組件。創(chuàng)建ASP.NET Web應(yīng)用程序涉與使用它的所
53、有部分和組件,并使其正常運轉(zhuǎn)。ASP.NET Web應(yīng)用程序的組成部分包括:WebForms(或.aspx頁)WebForm和.aspx頁為Web應(yīng)用程序提供用戶接口。代碼隱藏頁代碼隱藏頁是和WebForm關(guān)聯(lián)在一起的,它包含WebForm的服務(wù)器端代碼。配置文件配置文件是為Web應(yīng)用程序和Web服務(wù)器定義了默認(rèn)設(shè)置的XML文件。每個Web應(yīng)用程序都有一個Web.config配置文件。Global.asax文件Global.asax文件包含對有ASP.NET引發(fā)的應(yīng)用程序級事件作出響應(yīng)的必要代碼。XML Web ServiceXML Web Service允許Web應(yīng)用程序使用XML Web
54、Service發(fā)送和接收數(shù)據(jù)。數(shù)據(jù)庫連接數(shù)據(jù)庫連接允許Web應(yīng)用程序域數(shù)據(jù)庫資源之間傳遞數(shù)據(jù)。高速緩存高速緩存可使Web應(yīng)用程序在第一次請求之后更快地返回WebForm和數(shù)據(jù)。12.6 ASP.NET AJAXAjax并不是一個新技術(shù),它只是一個標(biāo)準(zhǔn)的合并,以識別當(dāng)前Web瀏覽器的豐富的潛在功能。Ajax是Jesse James Garrett提出,是Asynchronous JavaScript and XML的縮寫。18在支持Ajax的Web應(yīng)用程序中,最重要的特性是Web瀏覽器能在操作的外部與Web服務(wù)器通信。這稱為異步回送或部分頁面的會送。實際上,這意味著用戶可以與服務(wù)器端的功能和數(shù)據(jù)
55、交互,而無需更新整個頁面。18例如,單擊一個,移動到表的第二頁數(shù)據(jù)上時,Ajax可以只刷新表的容,而不刷新整個Web頁面。也就是說,需要的Internet通信量較少,從而使Web應(yīng)用程序的響應(yīng)比較快。Microsoft對Ajax進(jìn)行了進(jìn)一步的封裝,稱為ASP.NET AJAX。這個實現(xiàn)方式采用了Ajax模型,將它應(yīng)用于ASP.NET架構(gòu)。ASP.NET AJAX提供了許多服務(wù)器控件和客戶端技術(shù),它們專用于ASP.NET開發(fā)人員,可以毫不費力地在Web應(yīng)用程序中添加Ajax功能。在ASP.NET的最新版本中,ASP.NET AJAX是ASP.NET核心功能的一部分。ASP.NET AJAX提供了
56、如下功能18:服務(wù)器端架構(gòu)允許ASP.NET Web頁面響應(yīng)部分頁面的回送操作。ASP.NET服務(wù)器控件便于實現(xiàn)Ajax功能。 處理程序允許ASP.NET Web服務(wù)在部分頁面的回送操作中,使用JavaScript Object Notation(JSON)串行化功能與客戶端代碼通信。Web服務(wù)支持客戶端代碼訪問ASP.NET應(yīng)用程序服務(wù),包括身份驗證和個性化服務(wù)。模板可用于創(chuàng)建支持ASP.NET AJAX的Web應(yīng)用程序??蛻舳说腏avaScript庫對JavaScript語法進(jìn)行了許多改進(jìn),還提供了許多代碼,來簡化Ajax功能的實現(xiàn)。這些服務(wù)器控件和服務(wù)器端的架構(gòu)統(tǒng)稱為ASP.NET Ex
57、tensions。ASP.NET AJAX的客戶端部分成為AJAX庫。另外還有兩個軟件包:ASP.NET AJAX Control Toolkit:這個軟件包包含了由開發(fā)團(tuán)隊創(chuàng)建的其他服務(wù)器控件,這些控件是共享的。Microsoft AJAX Library 3.5:這個軟件包包含JavaScript客戶端架構(gòu),它們由ASP.NET AJAX用于執(zhí)行Ajax功能。2.7 ADO.NETADO.NET是ADO(ActiveX Data Object)的后繼技術(shù),它是.NET Framework的一部分,為應(yīng)用程序提供數(shù)據(jù)訪問能力。ADO.NET為運行SQL查詢、存儲過程、操作XML數(shù)據(jù)提供了所需
58、的工具,它能用于訪問關(guān)系型數(shù)據(jù)庫系統(tǒng),如SQL Server以與很多其他配置了OLE DB Provider或ODBC Provider的數(shù)據(jù)源。在某種程度上,ADO.NET代表了最新版本的ADO技術(shù),但ADO.NET同時也引入了很多重要的改變,因此也很適合于結(jié)構(gòu)松散的、本質(zhì)上非連接的Web應(yīng)用程序。14ADO.NET的設(shè)計目的是幫助開發(fā)者建立在Intranet或Internet環(huán)境中運行的高效多層數(shù)據(jù)庫應(yīng)用程序。這些應(yīng)用程序通常會呈現(xiàn)出如下特點:基于Web應(yīng)用程序模型之間呈現(xiàn)為越來越松散的耦合;使用XML對數(shù)據(jù)進(jìn)行編碼并通過網(wǎng)絡(luò)傳輸;Web應(yīng)用程序?qū)?協(xié)議作為在層間通信的協(xié)議;設(shè)計ADO.N
59、ET的目的是為了滿足一種新的編程模型的要求:具有斷開式數(shù)據(jù)結(jié)構(gòu);能夠與XML緊密集成;具有通用數(shù)據(jù)表現(xiàn)形式并能夠組合來自多個數(shù)據(jù)源的數(shù)據(jù);具有為與數(shù)據(jù)庫交互而優(yōu)化的功能。.NET Framework數(shù)據(jù)提供程序DataSet數(shù)據(jù)庫XMLDataAdapterConnectionCommandDataReaderSelectCommandInsertCommandUpdateComandDeleteComandDataTableCollectionDataRelationCollectionDataTableDataRowCollectionDataColumnCollectionConstra
60、intCollectionADO.NET是.NET平臺的數(shù)據(jù)訪問機(jī)制,它由數(shù)據(jù)集(DataSet)和數(shù)據(jù)提供程序(Data Provider)組成,后者是一組包含Connection、Command、DataReader和DataAdapter對象的組件,其結(jié)構(gòu)如圖2-5所示。圖2-5 ADO.NET結(jié)構(gòu)體系1DataSet是ADO.NET的斷開式結(jié)構(gòu)的核心組件,能實現(xiàn)獨立于數(shù)據(jù)源的數(shù)據(jù)訪問。因此,它可以用于多種不同的數(shù)據(jù)源,用于XML數(shù)據(jù)或用于管理應(yīng)用程序的本地數(shù)據(jù)。DataSet是包含一個或多個數(shù)據(jù)表(DataTable)對象的集合,這些對象包含數(shù)據(jù)行(DataRow)和數(shù)據(jù)列(DataC
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租賃合同的擔(dān)保合同
- 商砼購銷的合同
- 采購合同的主要類型
- 物流公司承運合同
- 網(wǎng)絡(luò)營銷執(zhí)行作業(yè)指導(dǎo)書
- 平面設(shè)計軟件應(yīng)用作業(yè)指導(dǎo)書
- 公司給員工的勞動合同
- 2025年南京貨運從業(yè)資格證500道題目答案大全
- 電力分配合同(2篇)
- 2024-2025學(xué)年高中英語課時分層作業(yè)3含解析新人教版選修9
- T-CACM 1560.6-2023 中醫(yī)養(yǎng)生保健服務(wù)(非醫(yī)療)技術(shù)操作規(guī)范穴位貼敷
- 人教版小學(xué)數(shù)學(xué)一年級下冊第1-4單元教材分析
- JTS-215-2018碼頭結(jié)構(gòu)施工規(guī)范
- 財務(wù)實習(xí)生合同
- 2024年長沙衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 地質(zhì)災(zāi)害危險性評估的基本知識
- (正式版)SHT 3075-2024 石油化工鋼制壓力容器材料選用規(guī)范
- 出租房房東消防培訓(xùn)
- 2024年度-小學(xué)語文教師經(jīng)驗交流
- 麻醉科質(zhì)量與安全管理小組工作計劃
- 認(rèn)識比例尺人教版課件
評論
0/150
提交評論