版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 實(shí)驗(yàn)課程考試系統(tǒng)的研究與設(shè)計(jì)專(zhuān)業(yè):計(jì)算機(jī)技術(shù)研究生: 指導(dǎo)教師: 網(wǎng)絡(luò)化教育代表了教育改革的一個(gè)發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個(gè)特征,并對(duì)教育的發(fā)展形成新的推動(dòng)力。基于internet的考試系統(tǒng)正成為人們的研究熱點(diǎn)之一。與傳統(tǒng)考試模式相比,網(wǎng)上考試具有無(wú)可比擬的優(yōu)越性。傳統(tǒng)的考試系統(tǒng)主要解決了客觀(guān)題以及少量主觀(guān)題的考試,而對(duì)于實(shí)驗(yàn)課程而言,由于其具有較強(qiáng)的操作性和交互性,針對(duì)實(shí)驗(yàn)課程內(nèi)容的考試只能按照傳統(tǒng)的人工模式進(jìn)行。長(zhǎng)期以來(lái),老師很難監(jiān)督學(xué)生是否作弊,是否通過(guò)正常的步驟得出結(jié)果,而且每場(chǎng)考試中老師監(jiān)考的學(xué)生有限。本文所研究的實(shí)驗(yàn)課程模擬考試系統(tǒng)的主要目的是為了讓學(xué)生能集中的針對(duì)某一門(mén)實(shí)驗(yàn)
2、課程進(jìn)行在線(xiàn)的考試,使得考試的各個(gè)環(huán)節(jié)都變得方便、快捷和安全。本系統(tǒng)采用了基于web的b/s模式的n層模型進(jìn)行設(shè)計(jì)。在技術(shù)上,采用了flash技術(shù)開(kāi)發(fā)實(shí)驗(yàn)考題,使用.net framework 3.5作為開(kāi)發(fā)平臺(tái)和運(yùn)行支撐平臺(tái),數(shù)據(jù)庫(kù)服務(wù)器則使用了sql server 2008,并使用了c#語(yǔ)言、asp.net webform、asp.net ajax 和 ado.net等技術(shù)進(jìn)行課題的設(shè)計(jì)。關(guān)鍵字:考試系統(tǒng) flash asp.net ado.net ajax study and design of examination system for experiment coursemajor:
3、 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 examinat
4、ion 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 tradit
5、ional 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 studen
6、ts 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.5
7、 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 system flash asp.net ado.net ajax目 錄第一章 緒論11.1選題背景11.2 選題目的及意義11.3
8、 本文的研究?jī)?nèi)容及組織結(jié)構(gòu)21.3.1 本文研究?jī)?nèi)容21.3.2 本文組織結(jié)構(gòu)2第二章 開(kāi)發(fā)平臺(tái)及關(guān)鍵技術(shù)介紹42.1 .net framework42.1.1 體系結(jié)構(gòu)42.1.2 .net framework版本發(fā)展72.2 sql server82.2.1 sql server express edition概述82.2.2 sql server 2008 express edition的主要功能92.3 visual studio .net102.4 c#語(yǔ)言112.5 asp.net112.5.1 asp.net主要特性122.5.2 asp.net web應(yīng)用程序132.6 asp
9、.net ajax142.7 ado.net152.8 三層架構(gòu)簡(jiǎn)介17第三章 需求分析183.1 業(yè)務(wù)功能需求分析183.1.1 考試端功能需求193.1.2 管理端功能需求203.1.3 考題需求223.2 數(shù)據(jù)需求分析233.3 環(huán)境需求分析23第四章 系統(tǒng)設(shè)計(jì)244.1 系統(tǒng)功能模塊設(shè)計(jì)244.1.1 考試端功能模塊設(shè)計(jì)244.1.2 管理端功能模塊設(shè)計(jì)264.2 數(shù)據(jù)庫(kù)設(shè)計(jì)284.2.1 數(shù)據(jù)庫(kù)總體設(shè)計(jì)284.2.2 數(shù)據(jù)庫(kù)表詳細(xì)設(shè)計(jì)294.2.3 存儲(chǔ)過(guò)程設(shè)計(jì)314.3 考題文件設(shè)計(jì)33第五章 系統(tǒng)實(shí)現(xiàn)355.1 考試端模塊的實(shí)現(xiàn)355.1.1 ui設(shè)計(jì)思路355.1.2 考試登錄
10、355.1.3考試答題375.1.4 考試結(jié)束415.1.5 錯(cuò)誤處理415.2管理端模塊的實(shí)現(xiàn)425.2.1 ui設(shè)計(jì)思路425.2.2 管理員登錄435.2.3 考試管理435.2.4 考題管理475.2.5 學(xué)生管理495.2.6 成績(jī)查詢(xún)統(tǒng)計(jì)515.2.7 管理員信息管理535.2.8 重設(shè)密碼545.3 數(shù)據(jù)訪(fǎng)問(wèn)層的實(shí)現(xiàn)555.3.1 通用類(lèi)設(shè)計(jì)555.3.2 數(shù)據(jù)實(shí)體類(lèi)設(shè)計(jì)55第六章 系統(tǒng)測(cè)試596.1 系統(tǒng)測(cè)試概述596.2 系統(tǒng)測(cè)試環(huán)境596.3 系統(tǒng)測(cè)試的結(jié)果60第七章 安全性問(wèn)題及對(duì)策627.1 登錄密碼保護(hù)627.2 防瀏覽器返回功能627.3 防止sql注入63第八章
11、總結(jié)與展望65聲 明69致 謝70第一章 緒論1.1選題背景網(wǎng)絡(luò)化教育代表了教育改革的一個(gè)發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個(gè)特征,并對(duì)教育的發(fā)展形成新的推動(dòng)力。隨著internet/intranet的迅速發(fā)展和廣泛普及,建立在其上的遠(yuǎn)程教育成為現(xiàn)代教育技術(shù)未來(lái)發(fā)展方向之一,考試測(cè)試作為遠(yuǎn)程教育的一個(gè)子系統(tǒng)也成為一個(gè)重要的研究領(lǐng)域?,F(xiàn)代遠(yuǎn)程教育作為一種新的教學(xué)手段已經(jīng)開(kāi)始進(jìn)入我們的生活,正在給傳統(tǒng)教育模式帶來(lái)新的變革,并對(duì)教育的發(fā)展形成新的推動(dòng)力。internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,internet的開(kāi)放性、分布性的特點(diǎn)和基于internet的巨大的計(jì)算能力使得考
12、試突破了時(shí)間和空間的限制?;趇nternet的考試系統(tǒng)正成為人們的研究熱點(diǎn)之一。與傳統(tǒng)考試模式相比,網(wǎng)上考試具有無(wú)可比擬的優(yōu)越性,它可以將傳統(tǒng)考試過(guò)程中的試卷組織、審定印制、傳送收集、登記發(fā)放、評(píng)判歸檔各個(gè)環(huán)節(jié)縮小到一至兩個(gè)環(huán)節(jié),幾乎屏蔽了所有人工直接干預(yù)考試活動(dòng)的可能性,不但能夠節(jié)約大量的時(shí)日、人力、物力與財(cái)力,而且還可以大幅度提高考試成績(jī)的客觀(guān)性和公正性??荚囅到y(tǒng)通常分為兩種,一種是帶有客戶(hù)端軟件的c/s(客戶(hù)端/服務(wù)器)模式的考試系統(tǒng),另一種是基于web的b/s(瀏覽器/服務(wù)器)模式的考試系統(tǒng)。前者在部署過(guò)程中需要對(duì)每一臺(tái)考試機(jī)安裝專(zhuān)門(mén)的考試客戶(hù)端軟件,通過(guò)這些客戶(hù)端軟件可以訪(fǎng)問(wèn)本地資
13、源,如操作系統(tǒng)、本地文檔等等。但是由于其部署上缺乏靈活性,以及web頁(yè)面和瀏覽器的功能不斷增強(qiáng),目前被廣泛采用的是基于web的b/s模式的考試系統(tǒng)。它具有部署方便、靈活的特性,只要接入考試網(wǎng)絡(luò)的客戶(hù)機(jī)并具有網(wǎng)頁(yè)瀏覽器就能夠使用,而且所有的考試數(shù)據(jù)都在服務(wù)器端,從而提高了系統(tǒng)的安全性、集中性和可控性。1.2 選題目的及意義傳統(tǒng)的考試系統(tǒng)主要解決了客觀(guān)題以及少量主觀(guān)題的考試,如判斷題、選擇題、填空題以及簡(jiǎn)單題。由于計(jì)算機(jī)本身對(duì)主觀(guān)題目的答案無(wú)法做到全面有效的判定,僅能對(duì)客觀(guān)題進(jìn)行準(zhǔn)確的判斷,傳統(tǒng)的考試系統(tǒng)絕大多數(shù)為客觀(guān)題的考試。因此,由于實(shí)驗(yàn)課程的特殊性,針對(duì)實(shí)驗(yàn)課程內(nèi)容的考試只能按照傳統(tǒng)的人工模
14、式進(jìn)行,學(xué)生在實(shí)際的實(shí)驗(yàn)設(shè)備上操作,完成實(shí)驗(yàn)題目,得出結(jié)論,然后由老師來(lái)驗(yàn)收實(shí)驗(yàn)結(jié)果。在這個(gè)過(guò)程中,老師很難監(jiān)督學(xué)生是否作弊,是否通過(guò)正常的步驟得出結(jié)果,而且每場(chǎng)考試中老師監(jiān)考的學(xué)生有限。因此研究如何實(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)課程效果帶來(lái)極大的方便,還能?chē)?yán)肅考場(chǎng)紀(jì)律,杜絕作弊現(xiàn)象的發(fā)生。1.3 本文的研究?jī)?nèi)容及組織結(jié)構(gòu)1.3.1 本文研究?jī)?nèi)容本文主要研究了如何實(shí)現(xiàn)模擬真實(shí)的實(shí)驗(yàn)考試場(chǎng)景,采用信息化網(wǎng)絡(luò)化的手段實(shí)現(xiàn)多人同時(shí)考
15、試,從而使得實(shí)驗(yàn)考試中試題管理、學(xué)生管理、監(jiān)考管理、試卷批改以及統(tǒng)計(jì)等諸多環(huán)節(jié)更加可控和高效。本課題在研究過(guò)程中,主要以計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)實(shí)驗(yàn)課考試為研究對(duì)象入手,在考試系統(tǒng)設(shè)計(jì)中兼顧了通用性和易用性。本課題項(xiàng)目采用微軟.net技術(shù)平臺(tái),使用microsoft sql server 2008作為數(shù)據(jù)庫(kù)服務(wù)端,開(kāi)發(fā)工具使用了微軟的visual studio .net 2008,采用asp.net以及asp.net ajax技術(shù),使用c#編寫(xiě)考試系統(tǒng)業(yè)務(wù)邏輯代碼,使用flash開(kāi)發(fā)考題文件,從而設(shè)計(jì)該實(shí)驗(yàn)課程考試系統(tǒng)。本人在本課題研究中,主要參與了需求調(diào)研與分析和系統(tǒng)設(shè)計(jì),并完成了本課題項(xiàng)目的部分代碼
16、。1.3.2 本文組織結(jié)構(gòu)第一章 概述,主要介紹本文的研究背景和研究目的。第二章 開(kāi)發(fā)平臺(tái)及關(guān)鍵技術(shù)介紹,主要介紹本課題研究中要使用的技術(shù),包括.net技術(shù)平臺(tái)的簡(jiǎn)介,microsoft sql server 2008數(shù)據(jù)庫(kù)系統(tǒng),asp.net技術(shù),asp.net ajax技術(shù),c#語(yǔ)言以及開(kāi)發(fā)工具visual studio .net 2008。第三章 需求分析,主要介紹本課題的功能需求和數(shù)據(jù)需求。第四章 系統(tǒng)設(shè)計(jì),主要介紹本課題的系統(tǒng)設(shè)計(jì),包括考試系統(tǒng)的功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和考題文件設(shè)計(jì)。第五章 系統(tǒng)實(shí)現(xiàn),詳細(xì)介紹本課題的系統(tǒng)實(shí)現(xiàn)過(guò)程、系統(tǒng)功能模塊以及考題的設(shè)計(jì)和實(shí)現(xiàn)。第六章 系統(tǒng)測(cè)試,
17、本章主要介紹利用常見(jiàn)的測(cè)試手段對(duì)本課題項(xiàng)目的測(cè)試工作。第七章 安全性問(wèn)題及對(duì)策,主要介紹本課題在安全性方面所做的工作。第八章 總結(jié)與展望,對(duì)本課題的成果進(jìn)行總結(jié),提出進(jìn)一步的展望。第二章 開(kāi)發(fā)平臺(tái)及關(guān)鍵技術(shù)介紹本章主要介紹課題項(xiàng)目的開(kāi)發(fā)平臺(tái)和部分關(guān)鍵的技術(shù),其中包括軟件開(kāi)發(fā)平臺(tái).net framework、數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)sql server、集成開(kāi)發(fā)工具visual studio .net、開(kāi)發(fā)語(yǔ)言c#,以及asp.net、asp.net ajax和ado.net等關(guān)鍵的實(shí)現(xiàn)技術(shù)。2.1 .net framework.net框架(.net framework) 是由微軟公司研發(fā),是一個(gè)致力于敏
18、捷軟件開(kāi)發(fā)(agile software development)、快速應(yīng)用開(kāi)發(fā)(rapid application development)、平臺(tái)無(wú)關(guān)性和網(wǎng)絡(luò)透明化的軟件開(kāi)發(fā)平臺(tái)。.net是微軟為下一個(gè)十年對(duì)服務(wù)器和桌面型軟件工程邁出的第一步。.net包含許多有助于互聯(lián)網(wǎng)和內(nèi)部網(wǎng)應(yīng)用迅捷開(kāi)發(fā)的技術(shù)。4 .net framework是微軟公司繼windows dna之后的全新開(kāi)發(fā)的平臺(tái)。.net framework是以一種采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái),以通用語(yǔ)言運(yùn)行庫(kù)(common language runtime)為基礎(chǔ),支持多種語(yǔ)言(c#、vb.net、c+、python等)的開(kāi)發(fā)。2 .
19、net也為應(yīng)用程序接口提供了新功能和開(kāi)發(fā)工具。這些革新使得程序設(shè)計(jì)員可以同時(shí)進(jìn)行windows應(yīng)用軟件和網(wǎng)絡(luò)應(yīng)用軟件以及組件和服務(wù)(web服務(wù))的開(kāi)發(fā)。.net提供了一個(gè)新的反射性的且面向?qū)ο蟪绦蛟O(shè)計(jì)編程接口。.net設(shè)計(jì)得足夠通用化從而使許多不同高級(jí)語(yǔ)言都得以被匯集。32.1.1 體系結(jié)構(gòu).net framework的體系結(jié)構(gòu)及其在計(jì)算機(jī)系統(tǒng)中所處的位置如圖2-1所示。.net framework 具有兩個(gè)主要組件:公共語(yǔ)言運(yùn)行庫(kù)(clr)和 .net framework 類(lèi)庫(kù)(fcl)。公共語(yǔ)言運(yùn)行庫(kù)是 .net framework 的基礎(chǔ),可以將它看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,提供了內(nèi)
20、存管理、線(xiàn)程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類(lèi)型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫(kù)的基本原則。以運(yùn)行庫(kù)為目標(biāo)的代碼稱(chēng)為托管代碼,而不以運(yùn)行庫(kù)為目標(biāo)的代碼稱(chēng)為非托管代碼。.net framework 的另一個(gè)主要組件是類(lèi)庫(kù),它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙?lèi)型集合,開(kāi)發(fā)者可以使用它來(lái)開(kāi)發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶(hù)界面 (gui) 應(yīng)用程序,也包括基于 asp.net 所提.net應(yīng)用程序.net framework操作系統(tǒng)硬件.net framework類(lèi)庫(kù)公共語(yǔ)言運(yùn)行庫(kù)供的最新創(chuàng)新的應(yīng)用程序(如 webfo
21、rm和 xml web services)。圖2-1 .net framework的位置及其組成1.公共語(yǔ)言運(yùn)行庫(kù)公共語(yǔ)言運(yùn)行庫(kù)(clr)是.net程序的執(zhí)行引擎,它為簡(jiǎn)化應(yīng)用程序開(kāi)發(fā)和代碼重用提供了高層次的支持,提供了大量的運(yùn)行時(shí)服務(wù),包括編譯、無(wú)用內(nèi)存單元回收(garbage collection,gc)及內(nèi)存管理等;另外,clr使用貫穿整個(gè).net framework的通用類(lèi)型系統(tǒng),所有的.net編程語(yǔ)言都使用相同的類(lèi)型系統(tǒng)和基類(lèi),從而使語(yǔ)言與編程模型能完美地結(jié)合在一起。clr的體系結(jié)構(gòu)如圖2-2所示。clr使用一種被稱(chēng)為微軟中間語(yǔ)言(microsoft intermediate lan
22、guage,msil)的類(lèi)似匯編的語(yǔ)言來(lái)提供單一的運(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ī)器代碼來(lái)執(zhí)行。從某種意義上來(lái)說(shuō),clr看起來(lái)像java虛擬機(jī),而msil類(lèi)似于java字節(jié)代碼。2在clr控制下運(yùn)行的代碼稱(chēng)為托管代碼(managed code),即由clr管理并執(zhí)行的代碼。那么,不以clr為運(yùn)行環(huán)境的代碼稱(chēng)為非托管代碼(unmanaged code)。托管代碼能夠?yàn)閏lr提供運(yùn)行該代碼所需的信息,而且可被無(wú)用單元回收器自動(dòng)清理。此外,clr還提供了執(zhí)行非
23、托管代碼的方法,例如com組件,可借助com interop服務(wù)(com interop服務(wù)能夠?yàn)閏om組件生成.net封裝),就可以在clr下運(yùn)行了。綜合起來(lái),clr主要提供了諸如代碼管理(加載和執(zhí)行)、獨(dú)立應(yīng)用程序內(nèi)存空間、檢查類(lèi)型安全、將msil轉(zhuǎn)換成可執(zhí)行的本機(jī)碼、使用元數(shù)據(jù)來(lái)增強(qiáng)類(lèi)型信息、為托管對(duì)象管理內(nèi)存、增強(qiáng)安全性、異常處理、平臺(tái)互操作機(jī)制以及對(duì)開(kāi)發(fā)者提供的調(diào)試等服務(wù)?;?lèi)庫(kù)的支持類(lèi)加載器內(nèi)存管理線(xiàn)程支持異常管理器調(diào)試引擎類(lèi)型檢查器安全引擎jit實(shí)時(shí)編譯器代碼托管器無(wú)用單元回收?qǐng)D2-2 clr體系結(jié)構(gòu)2.net framework類(lèi)庫(kù).net framework類(lèi)庫(kù)表示類(lèi)核心類(lèi)w
24、eb serviceswindowsformwebform數(shù)據(jù)和xml類(lèi)(ado.net、sql、xpath、xml等)框架基礎(chǔ)類(lèi)(io、string、網(wǎng)絡(luò)、安全、線(xiàn)程、反射、gc等)類(lèi)庫(kù)是.net framework的另一個(gè)重要組成部分,.net framework類(lèi)庫(kù)是生成.net應(yīng)用程序、組件和控件的基礎(chǔ)。.net framework類(lèi)庫(kù)包括類(lèi)、接口和值類(lèi)型,它們可以加速和優(yōu)化開(kāi)發(fā)過(guò)程并提供對(duì)系統(tǒng)功能的訪(fǎng)問(wèn)。23圖2-3 .net framework類(lèi)庫(kù)如圖2-3所示,.net framework中的類(lèi)庫(kù)可以分為兩個(gè)部分,分別是核心類(lèi)和表示類(lèi),其中核心類(lèi)又包括基礎(chǔ)類(lèi)、數(shù)據(jù)和xml類(lèi)這兩個(gè)
25、層次。核心類(lèi)為開(kāi)發(fā)者提供了構(gòu)建應(yīng)用程序所需的基本功能,包括xml支持、建立網(wǎng)絡(luò)和數(shù)據(jù)訪(fǎng)問(wèn)。這些統(tǒng)一的核心類(lèi)使開(kāi)發(fā)者在構(gòu)建任何類(lèi)型的.net應(yīng)用程序時(shí)都能使用相同的類(lèi),這種一致性可以提高開(kāi)發(fā)效率,同時(shí)也提高了代碼的可復(fù)用性。表示類(lèi)包括用于開(kāi)發(fā)基于windows的應(yīng)用程序的windows form、用于開(kāi)發(fā)web應(yīng)用程序的asp.net webform和xml web services。172.1.2 .net framework版本發(fā)展.net framework自2002年2月13日發(fā)布1.0版本以來(lái)已經(jīng)經(jīng)歷了5個(gè)成熟版本,分別是1.0、1.1、2.0、3.0、3.5、4.0。3在其每一個(gè)版本
26、中都作了優(yōu)化和升級(jí),目前最為成熟的版本為3.5。本課題項(xiàng)目就是采用的.net framework 3.5作為開(kāi)發(fā)和運(yùn)行平臺(tái)。這是由于該版本中所包含的大部分核心技術(shù)已經(jīng)申請(qǐng)為國(guó)際標(biāo)準(zhǔn),具有極強(qiáng)的擴(kuò)展性和平臺(tái)互操作性。在該版本的基礎(chǔ)上還出現(xiàn)了一些開(kāi)源的.net框架,如mono等。本課題所研究的課題是提供一套真實(shí)可行的考試系統(tǒng),力求穩(wěn)定和精要,還要具有較強(qiáng)的擴(kuò)展性,并且需要使用asp.net ajax技術(shù),該技術(shù)僅集成在.net framework3.5中,因此.net framework 3.5則成了最合適的選擇。2.2 sql server本課題中采用的數(shù)據(jù)庫(kù)服務(wù)是由sql server 200
27、8 express edition(速成版)提供的,它是微軟專(zhuān)門(mén)針對(duì)學(xué)生、初學(xué)者等入門(mén)級(jí)的sql server 2008的版本,比較適合用于本課題的研究和設(shè)計(jì)。sql server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由microsoft、sybase和ashton-tate三家公司共同開(kāi)發(fā)的,于1988 年推出了第一個(gè)os/2 版本。在windows nt 推出后,microsoft與sybase 在sql server 的開(kāi)發(fā)上分開(kāi),microsoft 將sql server 移植到windows nt系統(tǒng)上,專(zhuān)注于開(kāi)發(fā)推廣sql server 的windows nt 版本。而sybase
28、則較專(zhuān)注于sql server在unix 操作系統(tǒng)上的應(yīng)用。72.2.1 sql server express edition概述sql server express edition是一個(gè)免費(fèi)、易用且便于管理的數(shù)據(jù)庫(kù)。sql server express 與 microsoft visual studio 2008集成在一起,可以輕松開(kāi)發(fā)功能豐富、存儲(chǔ)安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。sql server express是免費(fèi)的,可以再分發(fā)(受制于協(xié)議),還可以起到客戶(hù)端數(shù)據(jù)庫(kù)以及基本服務(wù)器數(shù)據(jù)庫(kù)的作用。sql server express edition使用與其他sql server 20
29、08版本同樣可靠的、高性能的數(shù)據(jù)庫(kù)引擎,也使用相同的數(shù)據(jù)訪(fǎng)問(wèn)api(如ado.net、t-sql和sql native client)。實(shí)際上,它與其他sql server 2008版本的不同僅僅體現(xiàn)在:l 缺乏企業(yè)版功能支持l 僅限一個(gè)cpul 緩沖池內(nèi)存限制為1gbl 數(shù)據(jù)庫(kù)最大為4gbsql server express edition的開(kāi)發(fā)一則是為了用作服務(wù)器產(chǎn)品,特別是作為web服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器,再則是用作本地客戶(hù)端數(shù)據(jù)存儲(chǔ)區(qū),其中的應(yīng)用程序數(shù)據(jù)訪(fǎng)問(wèn)不依賴(lài)于網(wǎng)絡(luò)。易用性和簡(jiǎn)單性是主要設(shè)計(jì)目標(biāo)。72.2.2 sql server 2008 express edition的主要功能8
30、sql server 2008 express edition的主要功能有:l 引擎規(guī)范該版本的引擎只支持1個(gè)cpu、1gb ram和4gb的數(shù)據(jù)庫(kù)大小,以此來(lái)輕松區(qū)別其他的sql server 2008版本。另外,沒(méi)有工作負(fù)荷中止值,并且引擎的執(zhí)行方式與他版本是相同的。對(duì)可以附著到sql server express edition的用戶(hù)數(shù)沒(méi)有硬編碼限制,但其cpu和內(nèi)存限制實(shí)際上可以從sql server express edition數(shù)據(jù)庫(kù)獲取可接受響應(yīng)次數(shù)的用戶(hù)數(shù)。l 工具支持微軟提供了一個(gè)名為sql server management studio express edition(s
31、smsee)的新gui工具可以使管理數(shù)據(jù)庫(kù)、執(zhí)行查詢(xún)分析功能變得十分輕松,并且可以免費(fèi)重新發(fā)布。l 網(wǎng)絡(luò)支持盡管用戶(hù)可以顯式打開(kāi)其他支持的協(xié)議(如tcp/ip和named pipes),但默認(rèn)情況下,sql server express edition只能訪(fǎng)問(wèn)本地計(jì)算機(jī)上的共享內(nèi)存連接類(lèi)型。它不支持via協(xié)議和http協(xié)議。l 數(shù)據(jù)訪(fǎng)問(wèn)支持sql server express edition支持使用ado.net進(jìn)行托管訪(fǎng)問(wèn)。微軟建議使用sqlclient數(shù)據(jù)提供程序來(lái)開(kāi)發(fā)應(yīng)用程序。ado.net 數(shù)據(jù)提供程序支持varchar(max)和xml之類(lèi)的新sql server數(shù)據(jù)類(lèi)型以及用戶(hù)定義
32、類(lèi)型。l 安全性對(duì)于 sql server express edition,它的一個(gè)目標(biāo)是為不同組件提供安全的默認(rèn)值。例如,關(guān)閉網(wǎng)絡(luò)協(xié)議(如tcp/ip和named pipes)。不啟動(dòng)sql browser服務(wù),除非用戶(hù)在安裝命令行中顯式請(qǐng)求啟動(dòng)。如果使用 windows 身份驗(yàn)證,則默認(rèn)情況下禁用 sa 帳戶(hù)或系統(tǒng)管理員帳戶(hù)。計(jì)算機(jī)上的普通用戶(hù)幾乎沒(méi)有對(duì) sql server express 實(shí)例的權(quán)限。服務(wù)器上的本地管理員必須向普通用戶(hù)顯式授予相關(guān)權(quán)限,這些用戶(hù)才能使用其功能。l 復(fù)制支持用戶(hù)通過(guò)復(fù)制可以使用“發(fā)布服務(wù)器-訂閱服務(wù)器”模式使用戶(hù)定義的間隔保持多個(gè)站點(diǎn)的數(shù)據(jù)副本同步。l 用
33、戶(hù)實(shí)例用戶(hù)實(shí)例是sql server express edition中的新功能,可以像處理文件一樣處理數(shù)據(jù)庫(kù)。即本地?cái)?shù)據(jù)庫(kù)可以隨應(yīng)用程序一起移動(dòng)、復(fù)制或通過(guò)網(wǎng)絡(luò)傳送,并且在新的位置,不需要進(jìn)行額外配置就可以使其正常運(yùn)行。2.3 visual studio .netvisual studio .net是一套完整的開(kāi)發(fā)工具集,用于生成asp.net web應(yīng)用程序、xml web services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。visual basic、visual c+、visual c# 和 visual j# 等開(kāi)發(fā)語(yǔ)言全都使用相同的集成開(kāi)發(fā)環(huán)境(ide),利用此ide可以共享工具且有助于創(chuàng)建
34、混合語(yǔ)言解決方案。visual studio .net提供了如下整體功能25:l 提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無(wú)論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在internet上分布,或者是在遠(yuǎn)程執(zhí)行的。l 提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。l 提供一個(gè)可提高代碼執(zhí)行安全性的代碼執(zhí)行環(huán)境。l 提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問(wèn)題的代碼執(zhí)行環(huán)境。l 使開(kāi)發(fā)人員的經(jīng)驗(yàn)在面對(duì)類(lèi)型大不相同的應(yīng)用程序(如基于windows的應(yīng)用程序和基于web的應(yīng)用程序)時(shí)保持一致。l 按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;趍icrosoft visual studio .net的代碼可
35、與任何其他代碼集成。visual studio .net通過(guò)提供熟知的、可共享的開(kāi)發(fā)環(huán)境,簡(jiǎn)化了開(kāi)發(fā)強(qiáng)大的、可靠地企業(yè)級(jí)web解決方案的工作,并提高了開(kāi)發(fā)人員的開(kāi)發(fā)效率。預(yù)建的組件、編程向?qū)б约爸赜糜扇魏握Z(yǔ)言開(kāi)發(fā)的組件的能力,都可以顯著地縮減開(kāi)發(fā)時(shí)間。基于智能感知(microsoft intellisense)的代碼自動(dòng)生成技術(shù)可以更快地產(chǎn)生正確代碼。強(qiáng)大的、端到端的對(duì)跨語(yǔ)言調(diào)試的支持增強(qiáng)了應(yīng)用程序的可操作性。本課題項(xiàng)目中視圖和業(yè)務(wù)邏輯部分采用的是microsoft visual studio 2008 professional進(jìn)行開(kāi)發(fā)的,該版本可以支持.net framework 2.0/3
36、.0/3.5,具有較強(qiáng)的擴(kuò)展性和靈活性,并且該版本的其他輔助設(shè)計(jì)功能也非常完善和穩(wěn)定。2.4 c#語(yǔ)言c#(c sharp)是微軟公司為.net framework量身訂做的程序設(shè)計(jì)語(yǔ)言,c#擁有c/c+的強(qiáng)大功能以及visual basic簡(jiǎn)易使用的特性,是第一個(gè)面向組件(component-oriented)的程序語(yǔ)言,和c+與java一樣為面向?qū)ο螅╫bject-oriented)程序語(yǔ)言。5c#以其簡(jiǎn)單性、現(xiàn)代性、面向?qū)ο蟆姹究煽?、靈活性和安全性迅速地被廣泛使用,稱(chēng)為了.net平臺(tái)上的主流程序設(shè)計(jì)語(yǔ)言。6就本課題項(xiàng)目的開(kāi)發(fā)而言,選擇任何一種支持.net framework的程序設(shè)計(jì)語(yǔ)
37、言都可以完成,但是由于c#是.net平臺(tái)上應(yīng)用程序開(kāi)發(fā)的主流語(yǔ)言,有利于項(xiàng)目的后期維護(hù)和改進(jìn)。2.5 asp.netasp.net是使開(kāi)發(fā)人員能夠使用.net framework開(kāi)發(fā)基于web的應(yīng)用程序的宿主環(huán)境。但是,asp.net不止是一個(gè)運(yùn)行庫(kù)宿主,它是使用托管代碼開(kāi)發(fā)網(wǎng)站和通過(guò)internet分布的對(duì)象的完整結(jié)構(gòu)。webform和xml web services都將iis 和asp.net用作應(yīng)用程序的發(fā)布機(jī)制,并且兩者在.net framework中都具有支持類(lèi)集合。asp.net運(yùn)行環(huán)境示意如圖2-4所示。圖2-4 asp.net運(yùn)行環(huán)境10目前,基于.net framework最
38、新版本的asp.net技術(shù)包括了webform、ajax、mvc、silverlight等多項(xiàng)分支技術(shù)。其中webform是最經(jīng)典的asp.net web應(yīng)用程序開(kāi)發(fā)技術(shù),它以事件驅(qū)動(dòng)的方式完成web應(yīng)用程序的開(kāi)發(fā),使得習(xí)慣了傳統(tǒng)的windows界面應(yīng)用程序的開(kāi)發(fā)者非常容易入手。并且,.net framework類(lèi)型庫(kù)為asp.net webform提供了非常豐富的組件(webcontrol)支持,通過(guò)這些組件,開(kāi)發(fā)者可以快速地開(kāi)發(fā)出基于webform的應(yīng)用程序。asp.net web應(yīng)用程序是由一個(gè)或多個(gè)webform組成,而webform就是可以訪(fǎng)問(wèn)服務(wù)器資源的動(dòng)態(tài)web頁(yè)。17另外,as
39、p.net webform不依靠客戶(hù)端腳本,因此它不依賴(lài)于客戶(hù)端瀏覽器類(lèi)型或操作系統(tǒng)。這種獨(dú)立性允許開(kāi)發(fā)獨(dú)立的webform,這種窗體可以被任何可以訪(fǎng)問(wèn)internet并具有web瀏覽器的設(shè)備瀏覽。asp.net是.net framework的一部分,可以用任何基于.net的語(yǔ)言開(kāi)發(fā)asp.net web應(yīng)用程序,本課題采用的是c#。2.5.1 asp.net主要特性asp.net的一些主要特性如下:l webformwebform是asp.net新的程序設(shè)計(jì)模式。webform結(jié)合了asp簡(jiǎn)易開(kāi)發(fā)和vb高效率的優(yōu)點(diǎn),可以把控件拖放到頁(yè)面上,然后對(duì)其編程(在代碼頁(yè)中隱藏)來(lái)提供交互、調(diào)用業(yè)務(wù)對(duì)
40、象和執(zhí)行其他任務(wù)。l 服務(wù)器控件服務(wù)器控件是webform程序設(shè)計(jì)模型的主要組件。它們近似地映射了html元素,并可提供強(qiáng)大的服務(wù)端編程能力。它們運(yùn)行在服務(wù)器上,輸出html,這些html可被高版本瀏覽器或任何支持html 4.0(xhtml 1.0)及以上版本的瀏覽器所支持。l web servicesweb services是asp.net的關(guān)鍵部分,它允許創(chuàng)建可編程的服務(wù),這些服務(wù)對(duì)于internet或本地局域網(wǎng)上的其他開(kāi)發(fā)者是可用的。web services是基于現(xiàn)存的soap標(biāo)準(zhǔn),因此它們?cè)试S在不同的平臺(tái)相互使用。l 高速緩存asp.net包含一個(gè)功能強(qiáng)大的高速緩存引擎,它減少了we
41、b服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器處理的負(fù)載,從而改進(jìn)了應(yīng)用程序的執(zhí)行性能。l 新的配置方法asp.net使用新的方法來(lái)為web應(yīng)用程序存儲(chǔ)配置信息。與iis將這些信息存儲(chǔ)在很難訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)中不同,asp.net將這些信息存儲(chǔ)在人和機(jī)器都易讀的基于xml的配置文件中。12.5.2 asp.net web應(yīng)用程序asp.net web應(yīng)用程序包括不同的部分和組件。創(chuàng)建asp.net web應(yīng)用程序涉及使用它的所有部分和組件,并使其正常運(yùn)轉(zhuǎn)。asp.net web應(yīng)用程序的組成部分包括:l webforms(或.aspx頁(yè))webform和.aspx頁(yè)為web應(yīng)用程序提供用戶(hù)接口。l 代碼隱藏頁(yè)代碼隱藏頁(yè)是和
42、webform關(guān)聯(lián)在一起的,它包含webform的服務(wù)器端代碼。l 配置文件配置文件是為web應(yīng)用程序和web服務(wù)器定義了默認(rèn)設(shè)置的xml文件。每個(gè)web應(yīng)用程序都有一個(gè)web.config配置文件。l global.asax文件global.asax文件包含對(duì)有asp.net引發(fā)的應(yīng)用程序級(jí)事件作出響應(yīng)的必要代碼。l xml web service鏈接xml web service鏈接允許web應(yīng)用程序使用xml web service發(fā)送和接收數(shù)據(jù)。l 數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)連接允許web應(yīng)用程序域數(shù)據(jù)庫(kù)資源之間傳遞數(shù)據(jù)。l 高速緩存高速緩存可使web應(yīng)用程序在第一次請(qǐng)求之后更快地返回webfo
43、rm和數(shù)據(jù)。12.6 asp.net ajaxajax并不是一個(gè)新技術(shù),它只是一個(gè)標(biāo)準(zhǔn)的合并,以識(shí)別當(dāng)前web瀏覽器的豐富的潛在功能。ajax是jesse james garrett提出,是asynchronous javascript and xml的縮寫(xiě)。18在支持ajax的web應(yīng)用程序中,最重要的特性是web瀏覽器能在操作的外部與web服務(wù)器通信。這稱(chēng)為異步回送或部分頁(yè)面的會(huì)送。實(shí)際上,這意味著用戶(hù)可以與服務(wù)器端的功能和數(shù)據(jù)交互,而無(wú)需更新整個(gè)頁(yè)面。18例如,單擊一個(gè)鏈接,移動(dòng)到表的第二頁(yè)數(shù)據(jù)上時(shí),ajax可以只刷新表的內(nèi)容,而不刷新整個(gè)web頁(yè)面。也就是說(shuō),需要的internet通信
44、量較少,從而使web應(yīng)用程序的響應(yīng)比較快。microsoft對(duì)ajax進(jìn)行了進(jìn)一步的封裝,稱(chēng)為asp.net ajax。這個(gè)實(shí)現(xiàn)方式采用了ajax模型,將它應(yīng)用于asp.net架構(gòu)。asp.net ajax提供了許多服務(wù)器控件和客戶(hù)端技術(shù),它們專(zhuān)用于asp.net開(kāi)發(fā)人員,可以毫不費(fèi)力地在web應(yīng)用程序中添加ajax功能。在asp.net的最新版本中,asp.net ajax是asp.net核心功能的一部分。asp.net ajax提供了如下功能18:l 服務(wù)器端架構(gòu)允許asp.net web頁(yè)面響應(yīng)部分頁(yè)面的回送操作。l asp.net服務(wù)器控件便于實(shí)現(xiàn)ajax功能。l http處理程序允許
45、asp.net web服務(wù)在部分頁(yè)面的回送操作中,使用javascript object notation(json)串行化功能與客戶(hù)端代碼通信。l web服務(wù)支持客戶(hù)端代碼訪(fǎng)問(wèn)asp.net應(yīng)用程序服務(wù),包括身份驗(yàn)證和個(gè)性化服務(wù)。l 網(wǎng)站模板可用于創(chuàng)建支持asp.net ajax的web應(yīng)用程序。l 客戶(hù)端的javascript庫(kù)對(duì)javascript語(yǔ)法進(jìn)行了許多改進(jìn),還提供了許多代碼,來(lái)簡(jiǎn)化ajax功能的實(shí)現(xiàn)。這些服務(wù)器控件和服務(wù)器端的架構(gòu)統(tǒng)稱(chēng)為asp.net extensions。asp.net ajax的客戶(hù)端部分成為ajax庫(kù)。另外還有兩個(gè)軟件包:l asp.net ajax co
46、ntrol toolkit:這個(gè)軟件包包含了由開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)建的其他服務(wù)器控件,這些控件是共享的。l microsoft ajax library 3.5:這個(gè)軟件包包含javascript客戶(hù)端架構(gòu),它們由asp.net ajax用于執(zhí)行ajax功能。2.7 ado.netado.net是ado(activex data object)的后繼技術(shù),它是.net framework的一部分,為應(yīng)用程序提供數(shù)據(jù)訪(fǎng)問(wèn)能力。ado.net為運(yùn)行sql查詢(xún)、存儲(chǔ)過(guò)程、操作xml數(shù)據(jù)提供了所需的工具,它能用于訪(fǎng)問(wèn)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),如sql server以及很多其他配置了ole db provider或odb
47、c provider的數(shù)據(jù)源。在某種程度上,ado.net代表了最新版本的ado技術(shù),但ado.net同時(shí)也引入了很多重要的改變,因此也很適合于結(jié)構(gòu)松散的、本質(zhì)上非連接的web應(yīng)用程序。14ado.net的設(shè)計(jì)目的是幫助開(kāi)發(fā)者建立在intranet或internet環(huán)境中運(yùn)行的高效多層數(shù)據(jù)庫(kù)應(yīng)用程序。這些應(yīng)用程序通常會(huì)呈現(xiàn)出如下特點(diǎn):l 基于web應(yīng)用程序模型之間呈現(xiàn)為越來(lái)越松散的耦合;l 使用xml對(duì)數(shù)據(jù)進(jìn)行編碼并通過(guò)網(wǎng)絡(luò)傳輸;l web應(yīng)用程序?qū)ttp協(xié)議作為在層間通信的協(xié)議;設(shè)計(jì)ado.net的目的是為了滿(mǎn)足一種新的編程模型的要求:具有斷開(kāi)式數(shù)據(jù)結(jié)構(gòu);能夠與xml緊密集成;具有通用數(shù)據(jù)
48、表現(xiàn)形式并能夠組合來(lái)自多個(gè)數(shù)據(jù)源的數(shù)據(jù);具有為與數(shù)據(jù)庫(kù)交互而優(yōu)化的功能。.net framework數(shù)據(jù)提供程序dataset數(shù)據(jù)庫(kù)xmldataadapterconnectioncommanddatareaderselectcommandinsertcommandupdatecomanddeletecomanddatatablecollectiondatarelationcollectiondatatabledatarowcollectiondatacolumncollectionconstraintcollectionado.net是.net平臺(tái)的數(shù)據(jù)訪(fǎng)問(wèn)機(jī)制,它由數(shù)據(jù)集(dataset)
49、和數(shù)據(jù)提供程序(data provider)組成,后者是一組包含connection、command、datareader和dataadapter對(duì)象的組件,其結(jié)構(gòu)如圖2-5所示。圖2-5 ado.net結(jié)構(gòu)體系1dataset是ado.net的斷開(kāi)式結(jié)構(gòu)的核心組件,能實(shí)現(xiàn)獨(dú)立于數(shù)據(jù)源的數(shù)據(jù)訪(fǎng)問(wèn)。因此,它可以用于多種不同的數(shù)據(jù)源,用于xml數(shù)據(jù)或用于管理應(yīng)用程序的本地?cái)?shù)據(jù)。dataset是包含一個(gè)或多個(gè)數(shù)據(jù)表(datatable)對(duì)象的集合,這些對(duì)象包含數(shù)據(jù)行(datarow)和數(shù)據(jù)列(datacolumn)以及主鍵、外鍵約束和有關(guān)datatable對(duì)象中數(shù)據(jù)的關(guān)系信息。另一個(gè)核心組件是.ne
50、t framework數(shù)據(jù)提供程序,其設(shè)計(jì)目的是實(shí)現(xiàn)數(shù)據(jù)操作和對(duì)數(shù)據(jù)的快速、向前、只讀訪(fǎng)問(wèn)。connection對(duì)象提供與數(shù)據(jù)源的連接。command對(duì)象用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過(guò)程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令。datareader從數(shù)據(jù)源中得到高性能的數(shù)據(jù)流。dataadapter是連接dataset對(duì)象和數(shù)據(jù)源的橋梁,dataadapter使用command對(duì)象在數(shù)據(jù)源中執(zhí)行sql命令,以便數(shù)據(jù)加載到dataset中,并使dataset中的數(shù)據(jù)與數(shù)據(jù)源保持一致??梢詾槿魏螖?shù)據(jù)源編寫(xiě).net framework數(shù)據(jù)提供程序。2.8 三層架構(gòu)簡(jiǎn)介在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是
51、最為常見(jiàn)的,也是非常重要的一種結(jié)構(gòu)。微軟公司推薦將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(ui)、業(yè)務(wù)邏輯層(bll)、數(shù)據(jù)訪(fǎng)問(wèn)層(dal)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。三層架構(gòu)模型如圖2-6所示。表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪(fǎng)問(wèn)層數(shù)據(jù)源在這三個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。所謂三層體系結(jié)構(gòu),是在視圖層與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,或叫組件層。圖2-6 三層體系結(jié)構(gòu)三層體系結(jié)構(gòu)并不是指物理上的三層,也不是指用三臺(tái)機(jī)器來(lái)部署就是三層體系結(jié)構(gòu),而且不僅b/s應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層次放置到一臺(tái)機(jī)器上。4b/s模式中的三層結(jié)構(gòu)主要功能:30表
52、示層(ui)用于顯示數(shù)據(jù)和接收用戶(hù)輸入的數(shù)據(jù),為用戶(hù)提供一種交互式操作的界面。該層主要面向最終用戶(hù),用戶(hù)通過(guò)web瀏覽器向web服務(wù)器提出服務(wù)請(qǐng)求,web服務(wù)器對(duì)用戶(hù)驗(yàn)證身份后,使用http協(xié)議將所需的頁(yè)面?zhèn)魉徒o客戶(hù)端瀏覽器。業(yè)務(wù)邏輯層(bll)針對(duì)具體問(wèn)題的操作,也可以認(rèn)為是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯的處理。該層位于整個(gè)三層體系的中間,起到了數(shù)據(jù)交換中承上啟下的作用。數(shù)據(jù)訪(fǎng)問(wèn)層(dal)有時(shí)也稱(chēng)為持久層,其功能主要是負(fù)責(zé)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),可以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)、二進(jìn)制文件、文本文件或xml文件。簡(jiǎn)單的說(shuō),該層實(shí)現(xiàn)了對(duì)數(shù)據(jù)表的select、insert、update和delete等操作。第三章 需
53、求分析考試機(jī)監(jiān)考機(jī)服務(wù)器校園網(wǎng)本課題所研究的考試系統(tǒng)是針對(duì)學(xué)生在完成了一些需要實(shí)際動(dòng)手操作的實(shí)驗(yàn)課程后需要進(jìn)行的課程測(cè)驗(yàn)或者考試而設(shè)計(jì)的實(shí)驗(yàn)?zāi)M考試系統(tǒng)。本系統(tǒng)用模擬現(xiàn)實(shí)實(shí)驗(yàn)的方式考查學(xué)生對(duì)課程中實(shí)驗(yàn)課題掌握的程度,通過(guò)在本系統(tǒng)上的考試也能得出學(xué)生的課程成績(jī)。本考試系統(tǒng)應(yīng)該具備一般在線(xiàn)考試系統(tǒng)的基本功能,如考試設(shè)置、學(xué)生管理、考題管理、成績(jī)查詢(xún)、學(xué)生考試等。本系統(tǒng)的實(shí)際應(yīng)用環(huán)境依托學(xué)?,F(xiàn)有的校園網(wǎng)環(huán)境,可以進(jìn)行大規(guī)模的考試,總體結(jié)構(gòu)模型如圖3-1所示。圖3-1 項(xiàng)目總體結(jié)構(gòu)模型3.1 業(yè)務(wù)功能需求分析本課題所研究的考試系統(tǒng)和傳統(tǒng)考試系統(tǒng)一樣具備考試和后臺(tái)管理的功能,但由于本系統(tǒng)需求的特殊性,它
54、與傳統(tǒng)的考試系統(tǒng)又有一定的差別。傳統(tǒng)的考試系統(tǒng)的考題主要是客觀(guān)題為主,如選擇題、判斷題和填空題,因?yàn)檫@些題目可以比較方便的由計(jì)算機(jī)來(lái)完成閱卷判分的工作。本考試系統(tǒng)則主要針對(duì)實(shí)驗(yàn)課程的內(nèi)容來(lái)進(jìn)行考試,因此就不能依賴(lài)于客觀(guān)題來(lái)考查學(xué)生的學(xué)習(xí)效果,需要對(duì)真實(shí)的實(shí)驗(yàn)環(huán)境進(jìn)行模擬,讓學(xué)生在考試系統(tǒng)中完成模擬現(xiàn)實(shí)的實(shí)驗(yàn)操作。從學(xué)生的角度來(lái)看,他們需要通過(guò)學(xué)號(hào)登錄考試系統(tǒng)進(jìn)行答題,完成模擬的實(shí)驗(yàn)操作題目,并能在交卷或考試結(jié)束時(shí)查看自己的成績(jī)。對(duì)于管理端來(lái)說(shuō),就與傳統(tǒng)的考試系統(tǒng)功能相似,應(yīng)具備考試及考場(chǎng)的管理、學(xué)生的管理、成績(jī)查詢(xún)統(tǒng)計(jì)以及管理端安全訪(fǎng)問(wèn)的管理。與傳統(tǒng)考試系統(tǒng)不同的地方,主要是考題的設(shè)計(jì),本系統(tǒng)
55、考題的設(shè)計(jì)采用flash來(lái)實(shí)現(xiàn),要求使用flash交互性動(dòng)畫(huà)來(lái)實(shí)現(xiàn)考題,每個(gè)題目需要設(shè)計(jì)一個(gè)flash文件,題庫(kù)中的題目都由這些flash文件來(lái)構(gòu)成。管理員登錄設(shè)置并開(kāi)始考試學(xué)生登錄學(xué)生答題考試結(jié)束成績(jī)查詢(xún)通過(guò)對(duì)本系統(tǒng)的總體需求進(jìn)行分析,其總體業(yè)務(wù)流程如圖3-2所示。圖3-2 總體業(yè)務(wù)流程圖3.1.1考試端功能需求根據(jù)課題研究小組提出的需求,對(duì)考試端的設(shè)計(jì)盡量做到操作簡(jiǎn)單、安全以及嚴(yán)謹(jǐn)。具體需求分析如下:l 學(xué)生登錄在學(xué)生登錄時(shí),學(xué)生只需要輸入各自的學(xué)號(hào)即可登錄,不需要進(jìn)行密碼驗(yàn)證。但是,在學(xué)生輸入了學(xué)號(hào)之后能核對(duì)自己的基本信息和考試信息,從而判斷自己的信息是否正確,以及判斷自己是否能正常進(jìn)入
56、考試系統(tǒng)進(jìn)行考試。在學(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ā)生。l 學(xué)生考試學(xué)生進(jìn)入考試后,系統(tǒng)根據(jù)管理端設(shè)置的本場(chǎng)考試參數(shù)配置考試頁(yè)面。具體需求如下:u 考試頁(yè)面根據(jù)管理端設(shè)置的本場(chǎng)考試抽屜數(shù)量隨機(jī)從題庫(kù)中抽取考題文件(flash文件)按先后順序?qū)腠?yè)面,學(xué)生完成了一道題目之后手動(dòng)操作導(dǎo)入下一道題目。u 學(xué)生在答題過(guò)程中不允許使用瀏覽器的“后退”功能,必須依次完成各個(gè)題目,做過(guò)的題目不允許重新再做。u 在考試頁(yè)面中需要顯示學(xué)生信息和考試剩余時(shí)間,還需提供手動(dòng)交卷功能。
57、u 在頁(yè)面顯著位置提示學(xué)生本場(chǎng)考試的注意事項(xiàng)。l 學(xué)生交卷以及考試結(jié)束學(xué)生在考試頁(yè)面中手動(dòng)交卷或者考試時(shí)間結(jié)束時(shí),進(jìn)入考試結(jié)束頁(yè)面。在該頁(yè)面顯示該學(xué)生的基本信息、考試總分以及每道題目的得分等信息。并且,不允許學(xué)生使用瀏覽器的“后退”功能,避免學(xué)生在得知自己未合格的情況下重新進(jìn)入考試頁(yè)面答題,從而達(dá)到考試的目的。3.1.2 管理端功能需求根據(jù)本課題研究小組所提出的需求,管理端應(yīng)該具備考試管理、學(xué)生管理、考題管理、成績(jī)查詢(xún)統(tǒng)計(jì)以及安全性管理等功能。具體分析如下:l 考試信息管理考試信息管理主要包括創(chuàng)建考試和管理考試兩部分。管理員可根據(jù)課程考試安排創(chuàng)建考試,創(chuàng)建考試時(shí)需要配置該場(chǎng)考試的名稱(chēng)、隨機(jī)抽題數(shù)量以及考試的一些注意事項(xiàng)描述等信息??荚噭?chuàng)建后,管理員可根據(jù)課程教師的安排選擇適當(dāng)?shù)臅r(shí)間開(kāi)始考試手動(dòng)操作啟動(dòng)考試。只
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版必修3地理下冊(cè)階段測(cè)試試卷含答案
- 2024報(bào)關(guān)單據(jù)銷(xiāo)售合同模板
- 2025年滬教新版七年級(jí)生物上冊(cè)階段測(cè)試試卷
- 2025年滬科版八年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷
- 2025年華東師大版高二數(shù)學(xué)下冊(cè)月考試卷含答案
- 2025年粵教版選擇性必修1化學(xué)下冊(cè)月考試卷含答案
- 2024消防噴淋系統(tǒng)項(xiàng)目設(shè)計(jì)、施工、驗(yàn)收及維護(hù)保養(yǎng)合同3篇
- 始發(fā)作業(yè)需甩車(chē)應(yīng)急處置
- 2025年粵人版選修4地理下冊(cè)階段測(cè)試試卷
- 個(gè)性化定制版2024離婚合同范本版B版
- 供銷(xiāo)合同(完整版)
- 二零二五年企業(yè)存單質(zhì)押擔(dān)保貸款合同樣本3篇
- 鍋爐安裝、改造、維修質(zhì)量保證手冊(cè)
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 學(xué)校文印室外包服務(wù) 投標(biāo)方案(技術(shù)方案)
- 硫酸裝置試生產(chǎn)方案
- 國(guó)家重點(diǎn)專(zhuān)科臨床護(hù)理專(zhuān)業(yè)評(píng)選標(biāo)準(zhǔn)
- DB11T 1944-2021 市政基礎(chǔ)設(shè)施工程暗挖施工安全技術(shù)規(guī)程
- 中國(guó)農(nóng)業(yè)核心期刊要目概覽
- 好聽(tīng)簡(jiǎn)單的鋼琴譜
- 技術(shù)咨詢(xún)合同書(shū)(浙江省科學(xué)技術(shù)廳監(jiān)制)
評(píng)論
0/150
提交評(píng)論