在線考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文_第1頁
在線考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文_第2頁
在線考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文_第3頁
在線考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文_第4頁
在線考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專 業(yè) 學(xué) 位 碩 士 學(xué) 位 論 文在線實(shí)時(shí)考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)design and implementation of real-time online examination system 作 者 姓 名: 學(xué)科、 專業(yè): 學(xué) 號(hào): 指 導(dǎo) 教 師: 完 成 日 期: 大連理工大學(xué)dalian university of technology大連理工大學(xué)學(xué)位論文獨(dú)創(chuàng)性聲明作者鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下進(jìn)行研究工作所取得的成果。盡我所知,除文中已經(jīng)注明引用內(nèi)容和致謝的地方外,本論文不包含其他個(gè)人或集體已經(jīng)發(fā)表的研究成果,也不包含其他已申請(qǐng)學(xué)位或其他用途使用過的成果。與我

2、一同工作的同志對(duì)本研究所做的貢獻(xiàn)均已在論文中做了明確的說明并表示了謝意。若有不實(shí)之處,本人愿意承擔(dān)相關(guān)法律責(zé)任。學(xué)位論文題目: 在線實(shí)時(shí)考試系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn) 作者簽名: 日期: 年 月 日摘 要本文論述了考試系統(tǒng)的研究意義、應(yīng)用前景和主要研究?jī)?nèi)容,并對(duì)系統(tǒng)中用到的理論知識(shí)和相關(guān)技術(shù)進(jìn)行了詳細(xì)的闡述,重點(diǎn)介紹了網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),包括可行性分析、系統(tǒng)分析、數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)的實(shí)現(xiàn)、系統(tǒng)運(yùn)行和調(diào)試。該系統(tǒng)由用戶管理、題庫管理、自動(dòng)組卷、在線考試、自動(dòng)閱卷、綜合查詢、試題評(píng)估等功能模塊組成,具有5個(gè)特點(diǎn):(1) 實(shí)現(xiàn)題庫數(shù)字化。利用數(shù)據(jù)庫技術(shù)對(duì)試題庫進(jìn)行管理,便于實(shí)現(xiàn)試題的添加、維護(hù)、分類、檢索和

3、制作試卷。(2) 隨機(jī)自動(dòng)生成試卷。按照教師制定的組卷策略隨機(jī)生成試卷,提高了出卷效率和質(zhì)量。同時(shí)避免考前的試題泄密,確保考試公正合理。(3) 有效保存考試數(shù)據(jù)。考生的試卷、考試成績(jī)都存儲(chǔ)于數(shù)據(jù)庫中,方便評(píng)閱試卷,提高判卷的準(zhǔn)確度,使考試過程規(guī)范化。(4) 加強(qiáng)安全性控制。題庫的編輯、修改,試卷的查詢、考試成績(jī)的查詢,都需要進(jìn)行身份驗(yàn)證。同時(shí)增加了處理考試故障的恢復(fù)機(jī)制。(5) 便利快捷。計(jì)算機(jī)考試系統(tǒng)提供了方便的考試環(huán)境,既節(jié)省了印刷試卷的成本,又減輕了教師改卷的負(fù)擔(dān)。本文設(shè)計(jì)的在線考試系統(tǒng)具有通用性、良好的可擴(kuò)展性和安全性、并易于維護(hù)等優(yōu)點(diǎn),能滿足目前的在線考試需求。關(guān)鍵詞:在線考試;故障

4、恢復(fù);系統(tǒng)安全design and implementation of real-time online examination system abstractthis paper discuss the means of research in examination system ,the future application and the main content of examination system .and it also describe the theory and related technology . it include model tools , archete

5、cture database ,auto-test algorithm, test-effective analysis and so on .the paper discribe the design and construction executable analysis ,system design ,system usage and debug .the test-system conclude uses management ,problem set management ,autotest generation ,online examination ,auto-correct ,

6、search ,effective and other functions.we can know the examination systems chactors by this:first the problem set is digital like.second ,auto genarate the examination .we can generate the examination when the teacher select the parameters.third , the set of problems can be update time by time.forth

7、, we can save the test data for a lone time to analysis.fifth , the system is design in a security model .we add security control in the system.sixth , it is easily to use this system .computer test system support test enviroment.the system has all-purpose use,good expansion,safety and maintainabili

8、ty and other merits .and it can meet the needs of current online exams.key words:online exam system;restore;system security目 錄摘 要iabstractii引 言11 緒論21.1 系統(tǒng)開發(fā)背景21.2 系統(tǒng)研究的意義21.3 現(xiàn)行系統(tǒng)調(diào)查41.4 設(shè)計(jì)目標(biāo)51.5 本章小結(jié)62 系統(tǒng)開發(fā)環(huán)境與相關(guān)技術(shù)72.1 開發(fā)環(huán)境72.1.1 關(guān)于asp.net82.1.2 c#語言概述102.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)思想112.3 系統(tǒng)架構(gòu)分析122.3.1 c/s結(jié)構(gòu)分析122.

9、3.2 b/s結(jié)構(gòu)分析132.3.3 本系統(tǒng)架構(gòu)142.4 數(shù)據(jù)庫技術(shù)152.5 本章小結(jié)163 系統(tǒng)需求分析173.1 可行性分析173.2 性能需求分析173.3 系統(tǒng)功能需求分析193.4 系統(tǒng)用例分析203.4.1 用例模型203.4.2 考試時(shí)序圖203.5 本章小結(jié)234 系統(tǒng)總體設(shè)計(jì)244.1 運(yùn)行環(huán)境設(shè)置244.2 網(wǎng)站的規(guī)劃244.3 系統(tǒng)功能結(jié)構(gòu)圖264.4 數(shù)據(jù)庫設(shè)計(jì)274.4.1 數(shù)據(jù)庫設(shè)計(jì)概要274.4.2 數(shù)據(jù)流程分析284.4.3 數(shù)據(jù)庫概念設(shè)計(jì)294.5 本章小結(jié)305 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)315.1 系統(tǒng)業(yè)務(wù)流程315.2 登錄模塊的設(shè)計(jì)實(shí)現(xiàn)315.3 考試模塊

10、的設(shè)計(jì)實(shí)現(xiàn)345.4 管理模塊的設(shè)計(jì)實(shí)現(xiàn)355.2 系統(tǒng)主要部分介紹355.3 故障恢復(fù)策略365.3.1 關(guān)于xml365.3.2 在線考試系統(tǒng)的故障恢復(fù)策略375.4 數(shù)據(jù)邏輯層設(shè)計(jì)375.5 系統(tǒng)其他關(guān)鍵技術(shù)385.5.1 防止用戶非法進(jìn)入頁面385.5.2 用session來實(shí)現(xiàn)消息傳遞385.5.3 禁止用戶隨意刷新頁面395.6 本章小結(jié)406 系統(tǒng)安全性能分析與測(cè)試416.1 .net framework的安全性416.2 嚴(yán)格的權(quán)限管理416.3 系統(tǒng)測(cè)試426.3.1 界面測(cè)試426.3.2 功能測(cè)試426.4 網(wǎng)站測(cè)試436.4.1 登錄測(cè)試436.4.2 考試測(cè)試446.

11、4.3 管理與維護(hù)測(cè)試456.5 本章小結(jié)47結(jié) 論48參 考 文 獻(xiàn)49致 謝51大連理工大學(xué)學(xué)位論文版權(quán)使用授權(quán)書52引 言考試與課堂教學(xué)一直是教學(xué)活動(dòng)中兩個(gè)最重要的環(huán)節(jié)?,F(xiàn)在的各種考試大都采用傳統(tǒng)的考試方式,一次考試需要經(jīng)過多個(gè)步驟,教師出題、印卷、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析等,消耗了大量人力物力,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,可以說傳統(tǒng)的考試方式己經(jīng)不能很好地滿足現(xiàn)代考試的需要。隨著網(wǎng)絡(luò)技術(shù)、遠(yuǎn)程教育的發(fā)展與普及,我們迫切要求用一種新的方式來進(jìn)行考試,以減輕教師的工作負(fù)擔(dān)、提高工作效率,提高考試質(zhì)量,使考試更趨于客觀、合理和公證,更有

12、利于教與學(xué)。因此在線考試系統(tǒng)的軟件開發(fā)是現(xiàn)階段研究開發(fā)的一個(gè)熱點(diǎn)。目前許多國際著名的it公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。它是建立在國際互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置可以極為簡(jiǎn)單,使考試不受地域的局限。一個(gè)完備的在線考試系統(tǒng)可以使用戶在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,以發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。在線考試系統(tǒng)中題目的生成、試卷的提交、成績(jī)的批閱等都可以在網(wǎng)絡(luò)上自動(dòng)完成。只要形成一套成熟的題庫就可以實(shí)現(xiàn)考試的自動(dòng)化。這樣一來,教師所要做的只是精心設(shè)計(jì)題目、維護(hù)題庫,而不是組織考試,從而大大減輕了教師的負(fù)擔(dān),這表明其經(jīng)濟(jì)性是相當(dāng)可觀的。為了適應(yīng)新形勢(shì)的發(fā)展,我進(jìn)行了

13、這一系統(tǒng)的初步設(shè)計(jì)工作,也可以說是做一個(gè)初步的探索,希望它能夠在各類考試中發(fā)揮高效、便捷的作用,把老師從繁重的工作中解脫出來。網(wǎng)絡(luò)考試從根本上解決了傳統(tǒng)考試過程中的工作量大、效率低、反饋周期長(zhǎng)、反饋能力弱、資源浪費(fèi)等缺陷,成為現(xiàn)代教育技術(shù)發(fā)展與研究的方向。在我國教育中,采用網(wǎng)絡(luò)考試系統(tǒng)對(duì)學(xué)生進(jìn)行考試測(cè)評(píng)是學(xué)校教學(xué)改革的一個(gè)新的嘗試。通過網(wǎng)絡(luò)考試系統(tǒng)有針對(duì)性的隨機(jī)抽取試題庫中的試題進(jìn)行考試和評(píng)卷,可以客觀、公正的評(píng)價(jià)學(xué)生的學(xué)習(xí)效果,更容易測(cè)量出學(xué)生的實(shí)際應(yīng)用水平,對(duì)節(jié)省教學(xué)管理資源、提升教育評(píng)價(jià)的理念水平具有一定的實(shí)際研究?jī)r(jià)值和使用價(jià)值。1 緒論1.1 系統(tǒng)開發(fā)背景目前,計(jì)算機(jī)和網(wǎng)絡(luò)的應(yīng)用己經(jīng)普

14、及到各行各業(yè)。尤其在大、中專院校,校園網(wǎng)的建設(shè)已逐步完善,絕大多數(shù)學(xué)生已經(jīng)具備了利用網(wǎng)絡(luò)工具進(jìn)行信息交流和輔助學(xué)習(xí)的能力。然而,對(duì)于校園網(wǎng)作用的發(fā)揮,相當(dāng)一部分學(xué)校只達(dá)到了internet上網(wǎng)代理、對(duì)外宣傳、提供簡(jiǎn)單的文件共享與多媒體服務(wù)這樣簡(jiǎn)單的應(yīng)用層次。在學(xué)校教學(xué)環(huán)節(jié)中,仍然過分依賴于傳統(tǒng)的教學(xué)模式,對(duì)于網(wǎng)絡(luò)的開發(fā)和應(yīng)用程度還遠(yuǎn)遠(yuǎn)不夠。即使是網(wǎng)絡(luò)教學(xué)系統(tǒng),也大多為靜態(tài)、無反饋信息的系統(tǒng),很少提供在線練習(xí)與考試的功能。實(shí)事上,在學(xué)校教學(xué)組織工作中,無論進(jìn)行怎樣的教學(xué)改革,考試仍然是一個(gè)十分重要的組成部分,而傳統(tǒng)考試中所依賴的手工方式其“測(cè)驗(yàn)、考試”等均存在諸多弊病【1】:(1) 組考工作量大

15、:不僅教師要花費(fèi)大量的時(shí)間和精力到處找試題、拼試卷,而且教務(wù)部門也要組織大量的人力物力進(jìn)行試卷印刷、組織考試、試卷批閱、試卷統(tǒng)分和考試分析等工作,雖然調(diào)動(dòng)了各方面力量但效率并不是很高;(2) 周期長(zhǎng):考試進(jìn)行好多天之后才能向?qū)W生給出考試結(jié)果,也才能對(duì)學(xué)生進(jìn)行考題內(nèi)容的講評(píng),極大地影響了教學(xué)的連貫性。這種考試方式己經(jīng)越來越不適應(yīng)現(xiàn)代教學(xué)的需要。為了緩解教師緊缺的壓力,減輕廣大教師的勞動(dòng)強(qiáng)度,切實(shí)提高教育教學(xué)質(zhì)量,培養(yǎng)社會(huì)有用人才,開發(fā)并利用網(wǎng)絡(luò)考試系統(tǒng)已迫在眉睫。開發(fā)網(wǎng)絡(luò)考試系統(tǒng),不僅為高校教考分離、教學(xué)資源共享、科學(xué)評(píng)價(jià)教學(xué)效果、合理安排教學(xué)提供了有利的條件,而且為促進(jìn)教師提高教學(xué)水平,使廣大

16、的高校教師有更多的時(shí)間和精力投身于教研教改和科學(xué)研究從而取得更大的成績(jī)提供了可能??梢哉f,隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,研究并開發(fā)出基于網(wǎng)絡(luò)的在線考試系統(tǒng)是對(duì)傳統(tǒng)考試方式的一個(gè)沖擊和革命。目前不僅是大、中專院校甚至連中、小學(xué)校,都希望充分利用現(xiàn)有的計(jì)算機(jī)和網(wǎng)絡(luò)資源,提高教育教學(xué)效率和質(zhì)量。1.2 系統(tǒng)研究的意義網(wǎng)絡(luò)化考試是對(duì)傳統(tǒng)考試的一種延伸與變革,它可以充分利用網(wǎng)絡(luò)無限廣闊的空間,隨時(shí)隨地的對(duì)學(xué)生進(jìn)行考試,不受時(shí)間與空間的限制,大大地簡(jiǎn)化了考試的過程,減輕了繁重的考試管理工作,避免了考試過程中的人為因素,提高了考試考核水平和管理水平。與傳統(tǒng)的考試相比,網(wǎng)絡(luò)化考試系統(tǒng)的優(yōu)勢(shì)主要體現(xiàn)在如下幾個(gè)方面【

17、2】:(1) 保密性強(qiáng)在傳統(tǒng)考試中,通常下發(fā)試卷等環(huán)節(jié)需要較長(zhǎng)的時(shí)間,接觸的人員相對(duì)較多,給保密帶來一定的困難;而在線網(wǎng)絡(luò)考試系統(tǒng)則采用試題庫方式來提供試題來源,考前無任何成套試卷;考試時(shí)考卷由計(jì)算機(jī)現(xiàn)場(chǎng)隨機(jī)生成,各考生的試卷不完全相同,避免互相參看導(dǎo)致作弊現(xiàn)象或不公平成績(jī)等;試題庫可指定專人負(fù)責(zé)管理,從而增強(qiáng)保密性。(2) 客觀性較強(qiáng)采用傳統(tǒng)考試時(shí),由于出卷、印刷等問題,一般一次考試所印試卷套數(shù)較少,試卷整體覆蓋面有限,容易形成小范圍復(fù)習(xí)或猜題等傾向,影響了測(cè)試的客觀性;另一方面也容易形成作弊現(xiàn)象;而在線網(wǎng)上考試系統(tǒng)采用隨機(jī)抽題組卷的方式,試題抽取面相對(duì)較大,并且同時(shí)生成多套試卷,試卷整體覆

18、蓋面大,可基本反映考生的實(shí)際水平,防止突擊復(fù)習(xí)或猜題、作弊得高分等現(xiàn)象,從而保證考試的客觀準(zhǔn)確性。(3) 迅速準(zhǔn)確,公平公正對(duì)于標(biāo)準(zhǔn)化試題而言,在線網(wǎng)上考試系統(tǒng)可自動(dòng)評(píng)分,迅速準(zhǔn)確,無任何人為因素,從而避免人為誤差及人情分等問題,保證考試的公平公正。(4) 便于組織大規(guī)模的異地實(shí)時(shí)考試以網(wǎng)絡(luò)技術(shù)為支撐的現(xiàn)代計(jì)算機(jī)應(yīng)用己經(jīng)具備較大的規(guī)模并相當(dāng)普及,利用計(jì)算機(jī)網(wǎng)絡(luò)組織實(shí)施大規(guī)模的異地實(shí)時(shí)考試己成為現(xiàn)代考試中的一種重要的方式,在線網(wǎng)上考試系統(tǒng)是其中最關(guān)鍵的一環(huán)。(5) 降低考試成本,提高考務(wù)管理效率采用網(wǎng)絡(luò)考試方式可以把教育者從繁重的考務(wù)管理工作中解放出來,而把精力重點(diǎn)放在試題庫的精心組織和維護(hù)上,

19、這一方面可以有效的提高測(cè)試水平,另一方面也可以節(jié)約人力、物力、財(cái)力從而降低考試成本。網(wǎng)絡(luò)考試從根本上解決了傳統(tǒng)考試過程中的工作量大、效率低、反饋周期長(zhǎng)、反饋能力弱、資源浪費(fèi)等缺陷,成為現(xiàn)代教育技術(shù)發(fā)展與研究的方向【3】。在我國高等教育中,采用網(wǎng)絡(luò)考試系統(tǒng)對(duì)學(xué)生進(jìn)行考試測(cè)評(píng)是學(xué)校教學(xué)改革的一個(gè)新的嘗試。通過網(wǎng)絡(luò)考試系統(tǒng)有針對(duì)性的隨機(jī)抽取試題庫中的試題進(jìn)行考試和評(píng)卷,可以客觀、公正的評(píng)價(jià)學(xué)生的學(xué)習(xí)效果,更容易測(cè)量出學(xué)生的實(shí)際應(yīng)用水平,對(duì)節(jié)省教學(xué)管理資源、提升高校教育評(píng)價(jià)的理念水平具有一定的實(shí)際研究?jī)r(jià)值和使用價(jià)值【4】。1.3 現(xiàn)行系統(tǒng)調(diào)查隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,運(yùn)行在單機(jī)上的考試系統(tǒng)基本上趨于淘汰趨勢(shì)

20、,主要原因是單機(jī)運(yùn)行的考試系統(tǒng)雖然沒有網(wǎng)絡(luò)需求,但缺乏數(shù)據(jù)共享、集中管理等功能,這樣反而給管理人員增加了較大的負(fù)擔(dān)。目前,在一些硬件設(shè)施比較落后的地方,還有這樣的系統(tǒng)在使用;更多的是隨著硬件設(shè)施的提高,選用這樣系統(tǒng)自帶的題庫,完成自測(cè)工作。美國是率先將計(jì)算機(jī)技術(shù)應(yīng)用于教育測(cè)量的國家,目前己步入成熟應(yīng)用階段。許多國際著名的計(jì)算機(jī)和外語考試均采用基于網(wǎng)絡(luò)的考試平臺(tái),這種通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行的認(rèn)證考試使我們不出國門就可以獲得各種國際上通行的證書。例如微軟的認(rèn)證考試,考試沒有固定的時(shí)間,考生隨時(shí)可以到各授權(quán)考試中心報(bào)名,在確定了考試時(shí)間后,提前幾天通知考試中心,就可以參加考試【5】。提供遠(yuǎn)程考試服務(wù)也己

21、經(jīng)成為一項(xiàng)頗有前景的產(chǎn)業(yè),比如美國的思而文學(xué)習(xí)系統(tǒng)有限公司就是一家專業(yè)從事教育和計(jì)算機(jī)化考試服務(wù)的公司,計(jì)算機(jī)輔助測(cè)試是該公司主要經(jīng)營的業(yè)務(wù)之一。該公司組織的cat,考題可通過網(wǎng)絡(luò)傳送到遍及世界的各個(gè)考場(chǎng),考試大多采用標(biāo)準(zhǔn)選擇題,考生只需提前通過注冊(cè),便可以參加考試;考試結(jié)束后考生馬上就可以知道考試成績(jī),同時(shí)考生成績(jī)也會(huì)立即通過網(wǎng)絡(luò)傳送到相應(yīng)的授證機(jī)構(gòu)。當(dāng)今大部分的授證機(jī)構(gòu)(microsoft、cisco、oracle等)均委托思而文公司為其進(jìn)行測(cè)試、評(píng)估。國內(nèi)遠(yuǎn)程教育的發(fā)展也促成了一批遠(yuǎn)程在線考試系統(tǒng)或?qū)崿F(xiàn)類似功能的系統(tǒng),如上海交通大學(xué)遠(yuǎn)程教育中心嘗試開發(fā)了遠(yuǎn)程考試系統(tǒng),北京杰佛軟件技術(shù)開發(fā)

22、有限公司開發(fā)了杰佛通用考試系統(tǒng),英時(shí)軟件公司開發(fā)了powerexam通用網(wǎng)絡(luò)考試系統(tǒng),成都祥和源科技發(fā)展有限公司開發(fā)了neoexam在線考試系統(tǒng)等等【6】。目前較多的在線考試系統(tǒng)是采用c/s(客戶機(jī)/服務(wù)器)模式開發(fā)的,這種模式下的考試系統(tǒng)要求在客戶端單機(jī)和服務(wù)器上都安裝考試應(yīng)用軟件??蛻舳塑浖饕荚嚭妥詣?dòng)閱卷模塊,負(fù)責(zé)顯示考試界面、考試計(jì)時(shí)并提供自動(dòng)評(píng)卷及與服務(wù)器進(jìn)行聯(lián)絡(luò)的功能;服務(wù)器端軟件主要包括題庫管理和考試管理模塊,負(fù)責(zé)維護(hù)題庫、生成試卷、考試監(jiān)控及考后必需的人工閱卷、成績(jī)的收取、統(tǒng)計(jì)、匯總等工作??忌趩螜C(jī)上參加考試,考試結(jié)果被系統(tǒng)收集到服務(wù)器指定的目錄下。比如全國計(jì)算機(jī)等級(jí)考

23、試的一級(jí)、二級(jí)vf和vb的上機(jī)考試就是屬于這種模式的考試系統(tǒng)。這種模式下的考試系統(tǒng)對(duì)客戶端的軟件有很大的依賴性,不易維護(hù)并且維護(hù)成本較高,不適用于組織大范圍的考試。近幾年隨著asp、jsp等網(wǎng)頁交互技術(shù)的出現(xiàn),基于b/s(瀏覽器/服務(wù)器)模式的在線考試系統(tǒng)逐漸引人注目。這種模式下的考試系統(tǒng)是一個(gè)基于數(shù)據(jù)庫和web技術(shù)的遠(yuǎn)程在線實(shí)時(shí)測(cè)試系統(tǒng),這種系統(tǒng)的客戶端除了瀏覽器外,無需再安裝其它任何應(yīng)用軟件,而同樣具有自動(dòng)出題、自動(dòng)評(píng)卷、保存和匯總成績(jī)等功能,同時(shí)系統(tǒng)的維護(hù)和升級(jí)都非常方便??忌ㄟ^internet即可登錄參加考試,不再受地域和時(shí)間的限制。目前基于這種模式的網(wǎng)絡(luò)考試面向的主要是社會(huì)上的培訓(xùn)

24、認(rèn)證考試(如微軟的各種認(rèn)證考試)和遠(yuǎn)程教育的考試。這種方式適應(yīng)了現(xiàn)代教育的需要,特別是在遠(yuǎn)程教育日趨成熟的今天,它代表了未來考試系統(tǒng)的發(fā)展方向。本論文的研究課題就是基于b/s模式的在線考試系統(tǒng)的設(shè)計(jì)。眾所周知,考試需要監(jiān)考,那么隨時(shí)隨地可以進(jìn)入的網(wǎng)絡(luò)考試又如何實(shí)施呢?按照目前的情況,針對(duì)網(wǎng)絡(luò)考試的組織狀況將其分為三種類型:(1) 完全開放型:這種類型適合自我認(rèn)定性質(zhì)的考試,用于對(duì)所學(xué)知識(shí)進(jìn)行檢驗(yàn)的自我考核。它完全可以在互聯(lián)網(wǎng)上公開進(jìn)行,可在任何網(wǎng)絡(luò)環(huán)境中進(jìn)行,不需要監(jiān)考,任何時(shí)間、地點(diǎn)隨時(shí)考試。往往考試結(jié)果立即可知,非常方便,一般是不收取費(fèi)用的。如網(wǎng)上公開的一些小型知識(shí)問答。(2) 半開放型:

25、這種類型適用于社會(huì)上認(rèn)證性質(zhì)的考試。它需要被試者個(gè)人申請(qǐng),并按要求在指定的考點(diǎn)上網(wǎng)參加考試。這些考點(diǎn)是由所認(rèn)定的考試機(jī)構(gòu)專門開設(shè)的,有專人監(jiān)考,一般是隨機(jī)服務(wù)方式,隨到隨考,考完立即知曉成績(jī),一般是要收取一定考試費(fèi)用的。如微軟的各種認(rèn)證考試。(3) 組織型:這種類型適用于單位、學(xué)校及社會(huì)認(rèn)證性質(zhì)的考試。通過集體申請(qǐng),在認(rèn)定的考試機(jī)構(gòu)專門開設(shè)的大型考點(diǎn)上網(wǎng)參加考試,也有專人監(jiān)考,要定時(shí)定點(diǎn),收不收費(fèi)用由機(jī)構(gòu)自定,如學(xué)校機(jī)房針對(duì)在校學(xué)生的網(wǎng)上考試。以上這三種類型的網(wǎng)絡(luò)考試都僅僅需要瀏覽器就可以了,無須安裝考試系統(tǒng)和題庫,所有信息和考試結(jié)果都在服務(wù)器上。本系統(tǒng)就是基于完全開放型的在線考試系統(tǒng)設(shè)計(jì)與實(shí)

26、現(xiàn)。1.4 設(shè)計(jì)目標(biāo)針對(duì)傳統(tǒng)網(wǎng)絡(luò)考試存在的問題,本系統(tǒng)除了基本的考試功能外,還需要注意以下幾個(gè)方面:(1) 考試結(jié)束前的30 分鐘、15 分鐘、5 分鐘時(shí)對(duì)考生進(jìn)行提示(2) 考試結(jié)束后若考生沒有進(jìn)行試卷提交則自動(dòng)進(jìn)行試卷保存處理。(3) 系統(tǒng)要有防止考生無意關(guān)閉系統(tǒng)或者提交試卷而導(dǎo)致考試無法繼續(xù)進(jìn)行的機(jī)制。(4) 系統(tǒng)要有當(dāng)考生計(jì)算機(jī)出現(xiàn)故障時(shí)能夠轉(zhuǎn)移考試計(jì)算機(jī)的功能。(5) 系統(tǒng)對(duì)具體試卷的客觀題自行判分,主觀題則由老師判分。(6) 要保證在同一次考試中系統(tǒng)生成的各份試卷難易度保持在同一個(gè)水平。1.5 本章小結(jié)本章主要討論了本課題的研究背景和研究意義,并通過對(duì)現(xiàn)行系統(tǒng)存在問題的分析提出了本

27、課題的研發(fā)目標(biāo),并對(duì)該研發(fā)目標(biāo)進(jìn)行了社會(huì)效益、技術(shù)基礎(chǔ)、資源保障等全方位的可行性分析,從而為進(jìn)一步的開發(fā)指定一個(gè)明確的思路。2 系統(tǒng)開發(fā)環(huán)境與相關(guān)技術(shù)2.1 開發(fā)環(huán)境微軟開發(fā)的.net framework是一種新的計(jì)算平臺(tái),它簡(jiǎn)化了在高度分布式internet環(huán)境中的應(yīng)用程序開發(fā)。.net framework旨在實(shí)現(xiàn)下列目標(biāo):提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在internet上分布,或者是在遠(yuǎn)程執(zhí)行的。提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。提供一個(gè)保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。

28、提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。使開發(fā)人員的經(jīng)驗(yàn)在面對(duì)類型大不相同的應(yīng)用程序(如基于windows的應(yīng)用程序和基于windows的應(yīng)用程序)時(shí)保持一致。按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?net framework的代碼可與任何其他代碼集成。.net framework具有兩個(gè)主要組件:公共語言運(yùn)行庫(clr)和.net framework類庫(fcl)。公共語言運(yùn)行庫是.net framework的基礎(chǔ)。可以將運(yùn)行庫看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供核心服務(wù)(如內(nèi)存管理、線程管理和遠(yuǎn)程處理),而且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可確保安全性和可靠性的其他形式的代碼

29、準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.net framework的另一個(gè)主要組件是類庫,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图希梢允褂盟_發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面(cud應(yīng)用程序,也包括基于asp.net所提供的最新創(chuàng)新的應(yīng)用程序(如web窗體和xml/webservices)。.net framework可由非托管組件承載,這些組件將公共語言運(yùn)行庫加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.net framework

30、不但提供若干個(gè)運(yùn)行庫宿主,而且還支持第三方運(yùn)行庫宿主的開發(fā)。.net框架使開發(fā)人員更喜歡使用現(xiàn)在的(而不是早期的)開發(fā)平臺(tái)技術(shù)。尤其是.net框架確實(shí)實(shí)現(xiàn)了代碼重用、代碼規(guī)范化、資源管理、多語言開發(fā)、安全、部署和管理。新平臺(tái)通過clr和fcl提供了以下功能:一致的編程模型:現(xiàn)在的操作系統(tǒng)的某些功能是通過動(dòng)態(tài)鏈接庫訪問的,另一些功能則通過com對(duì)象訪問,而clr和fcl使所有的應(yīng)用程序服務(wù)都是通過一個(gè)公用的面向?qū)ο蟮木幊棠P驮L問的。簡(jiǎn)化編程模型:clr致力于簡(jiǎn)化win32和com所需的基礎(chǔ)結(jié)構(gòu)。尤其是,clr使開發(fā)人員無需理解以下概念:注冊(cè)表、全局唯一標(biāo)示符等。clr使開發(fā)人員無需了解這些概念,

31、這些概念并不以clr的任何形式存在。當(dāng)然,如果想編寫一個(gè)與現(xiàn)有的非.net框架交互的.net框架應(yīng)用程序,則必須熟悉這些概念。2.1.1 關(guān)于asp.netasp.net是一種用于創(chuàng)建基于web的應(yīng)用程序的編程模型。從本質(zhì)上來說,運(yùn)行時(shí)和.net framework類庫集可以用于創(chuàng)建動(dòng)態(tài)web頁。它需要在web服務(wù)器的環(huán)境中運(yùn)行,例如microsoft internet information server(microsoft互聯(lián)網(wǎng)信息服務(wù)器,iis),并且根據(jù)服務(wù)瀏覽器請(qǐng)求指示在服務(wù)器上執(zhí)行程序。與直接由web服務(wù)器提供的靜態(tài)html不同的是,asp.net頁面實(shí)際上是在服務(wù)器上執(zhí)行以后再產(chǎn)

32、生結(jié)果的。頁面的最后生成也許是由許多不同的指令和/或數(shù)據(jù)源構(gòu)造的。asp.net頁面以.aspx擴(kuò)展名存儲(chǔ)。頁面由程序員將文本、標(biāo)記(例如html)以及asp.net特定服務(wù)器標(biāo)記和腳本組合在一起,然后存儲(chǔ)在web服務(wù)器上。可以將存儲(chǔ)后的asp.net頁面看成是一套描述如何創(chuàng)建一個(gè)html頁面的指令。當(dāng)該頁面被請(qǐng)求瀏覽時(shí),服務(wù)器端程序?qū)?huì)用純標(biāo)記來創(chuàng)建一個(gè)客戶端瀏覽器可以讀懂并能呈現(xiàn)(render)的頁面。因?yàn)槌尸F(xiàn)后的輸出是純標(biāo)記,所以任何瀏覽器都能夠讀懂;所有的動(dòng)態(tài)過程都發(fā)生在web服務(wù)器端。asp.net特定服務(wù)器標(biāo)記非常強(qiáng)大,例如,它可以對(duì)用戶的動(dòng)作作出反應(yīng),連接至數(shù)據(jù)存儲(chǔ)以及自動(dòng)創(chuàng)建非

33、常復(fù)雜的html結(jié)構(gòu)。正像前面提到的那樣,asp.net只是.net framework的一部分,所以 asp.net頁面可以利用這個(gè)框架提供的所有服務(wù),包括連網(wǎng)、數(shù)據(jù)訪問、安全以及更多其他服務(wù)。因?yàn)閍sp.net可以使用所有這些服務(wù),所以相比以前,能夠創(chuàng)建更加豐富的web應(yīng)用程序。只需花少量的時(shí)間來構(gòu)建所有應(yīng)用程序所需的構(gòu)建塊,而將大多數(shù)時(shí)間用在應(yīng)用程序獨(dú)有的特殊邏輯上。asp.net還在web編程中引入了一些獨(dú)特的新技術(shù),可以在典型的動(dòng)態(tài)服務(wù)器頁面(active server pages,asp)上極大地改善開發(fā)模式:語言獨(dú)立性因?yàn)閍sp.net是.net framework的一部分,所以

34、可以使用您自己選擇的語言來構(gòu)建asp.net應(yīng)用程序,例如c#、vb或j#。而典型的asp則僅限于jscript或者vbscript頁面。編譯而不是解釋與典型的asp在每一次頁面請(qǐng)求時(shí)都解釋編程結(jié)構(gòu)不同,asp.net在服務(wù)器端動(dòng)態(tài)地將頁面編譯成可以運(yùn)行得非常快的本機(jī)編程指令。可以很明顯地看到典型的asp頁面的性能與相同asp.net頁面的性能之間相差的數(shù)量級(jí)別。事件驅(qū)動(dòng)編程模式在典型的asp中,頁面總是以自頂向下的線性方式執(zhí)行,并且html標(biāo)記常常與程序指令混合在一起。任何一個(gè)有一定asp經(jīng)驗(yàn)的人都知道這樣會(huì)使得頁面難以閱讀,甚至更加難以維護(hù)。asp.net引入了事件驅(qū)動(dòng)模型,這個(gè)模型允許您

35、將代碼與標(biāo)記內(nèi)容分離,將代碼并入處理專門任務(wù)的有意義的單元中,例如響應(yīng)客戶端的按鈕單擊動(dòng)作。這個(gè)類似vb的事件模型極大地提高了頁面的可讀性和可維護(hù)性。服務(wù)器控件典型的asp需要?jiǎng)討B(tài)地將html片斷代碼接合在一起呈現(xiàn),這樣做的結(jié)果就是在應(yīng)用程序中一遍又一遍地編寫相同的代碼(您需要多少次才能從數(shù)據(jù)庫查詢中構(gòu)建一張表格)。asp.net帶給web編程的一個(gè)最大的好處就是能夠?qū)⒐驳某尸F(xiàn)和行為封裝成服務(wù)器控件(server control),可以在應(yīng)用程序中很方便地重復(fù)使用。就像html標(biāo)記一樣,服務(wù)器控件以聲明的形式創(chuàng)建,但是表現(xiàn)為一個(gè)位于服務(wù)器端的可編程對(duì)象,它可以與代碼進(jìn)行交互并輸出定制的動(dòng)態(tài)h

36、tml呈現(xiàn)。asp.net包含了大約80多個(gè)服務(wù)器控件,這些控件封裝了從標(biāo)準(zhǔn)表單元素到復(fù)雜控件(如網(wǎng)格和菜單)的所有內(nèi)容??丶O(shè)計(jì)時(shí)間的改善(當(dāng)使用visual web developer時(shí)) 開發(fā)人員通過使用設(shè)計(jì)時(shí)間界面可以減少花費(fèi)在開發(fā)復(fù)雜頁面上的時(shí)間,這些界面包括敏捷任務(wù)面板、標(biāo)簽級(jí)導(dǎo)航欄和可以設(shè)置控件屬性的向?qū)?。asp.net的第一個(gè)版本(1.0和1.1)在2001年至2003年間迅速風(fēng)靡了microsoft的開發(fā)陣營。程序人員很快便感覺到他們通過使用強(qiáng)大和靈活的.net framework可以大大減少編碼時(shí)間,而且cio們也看到當(dāng)程序員花在解決客戶代碼的疑難問題上的時(shí)間減少時(shí),他們就

37、可以將更多的資源投入到更高級(jí)的it結(jié)構(gòu)的改善上。asp.net確實(shí)是一個(gè)里程碑式的版本,它簡(jiǎn)化了開發(fā)人員的工作。但是,就在第一個(gè)版本發(fā)布之前,microsoft的asp.net小組就已經(jīng)在為開發(fā)asp.net 2.0而工作了。他們以下面雄心勃勃的目標(biāo)來開始他們的工作:(1) 使創(chuàng)建一個(gè)典型的web應(yīng)用程序所需代碼行數(shù)減少70%。(2) 提供一套可擴(kuò)展的應(yīng)用程序服務(wù),用來為通用應(yīng)用程序任務(wù)提供構(gòu)建塊,例如成員、角色、個(gè)人化以及導(dǎo)航等。(3) 創(chuàng)建一系列基于任務(wù)的服務(wù)器控件,這些控件可以調(diào)節(jié)上述服務(wù),交付完全、可定制的用戶接口(ui),以最小的代碼量來展示這些服務(wù)。(4) 當(dāng)與.net frame

38、work協(xié)同工作提供頁面服務(wù)時(shí),改善iis的性能。(5) 提供管理功能,以便加強(qiáng)asp.net服務(wù)器的部署、管理和運(yùn)行。(6) 改善宿主公司所用的工具,以便可以支持多站點(diǎn)并能夠?qū)㈤_發(fā)人員的項(xiàng)目遷移至公共部署環(huán)境。(7) 讓asp.net的幾乎所有特性都能夠方便地?cái)U(kuò)展或者用定制的高級(jí)任務(wù)的執(zhí)行替換?;谝陨系姆治霰鞠到y(tǒng)采用的架構(gòu)實(shí)現(xiàn)。2.1.2 c#語言概述c#語言源于c和c+,是微軟專門為.net設(shè)計(jì)的語言。c#和.net framework同時(shí)出現(xiàn)和發(fā)展。由于c#出現(xiàn)較晚,吸取了許多其他語言的優(yōu)點(diǎn),解決了許多問題。簡(jiǎn)單的看來,c#僅僅是.net開發(fā)的一種語言。但事實(shí)上c#是.net開發(fā)中最好

39、的一門語言,這是由c#自身的設(shè)計(jì)決定的。作為專門為.net設(shè)計(jì)的語言,c#不但結(jié)合了c+強(qiáng)大靈活和java語言簡(jiǎn)潔的特性,還吸取了delphi和visual basic所具有的易用性。因而c#是一種使用簡(jiǎn)單,功能強(qiáng)大,表達(dá)力豐富的全新語言。應(yīng)用c#,可以進(jìn)行windows應(yīng)用程序、windows控件庫、web應(yīng)用程序、windows服務(wù)、web服務(wù)、報(bào)表應(yīng)用程序、office等開發(fā)。同時(shí),c#還具有大多數(shù)程序員所需要的特性:功能強(qiáng)大、語法簡(jiǎn)單、文檔齊全、支持良好。相對(duì)于其他編程語音,java有一個(gè)無庸置疑的優(yōu)點(diǎn):用戶以及編譯器第一次不必了解生成可執(zhí)行代碼的特定cpu細(xì)節(jié)。java引入了一個(gè)編譯

40、代碼中間層,叫做字節(jié)代碼,并使用一個(gè)虛擬抽象的機(jī)器,而不是一個(gè)真實(shí)的機(jī)器。當(dāng)java編譯器結(jié)束了一個(gè)源文件的編譯后,你所得到的不是可以立即在一個(gè)給定平臺(tái)上運(yùn)行的代碼,而是可以在任何真實(shí)的平臺(tái)上運(yùn)行的字節(jié)代碼,唯一的條件就是這個(gè)平臺(tái)要理解和支持java。這些發(fā)展包含著一個(gè)文化的變革。作為一個(gè)開發(fā)人員,你只需要確定java虛擬機(jī)(jvm)提供的抽象層,不同的os銷售商負(fù)責(zé)執(zhí)行代碼層,從而將中立于平臺(tái)的字節(jié)代碼映射到主機(jī)平臺(tái)的機(jī)構(gòu)中。在這種情況下,java似乎是統(tǒng)一分布式計(jì)算機(jī)世界的領(lǐng)袖候選人了?!熬帉懸淮危肋h(yuǎn)運(yùn)行”(并且無論在哪里)一度成為java誘人但卻真實(shí)的口號(hào)。那么為什么說java只是“似

41、乎”是一個(gè)好東西呢?跨平臺(tái)理論的發(fā)展很好地證明了這一點(diǎn)。我們看到,將java代碼從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái)java這個(gè)語言最重要和最受吹捧的特點(diǎn)并不像宣傳的那樣容易。任何java平臺(tái)都有其自己的虛擬機(jī),它可以理解通用的字節(jié)代碼,并且及時(shí)地將其編譯為本地代碼。矛盾由此產(chǎn)生,不同虛擬機(jī)的執(zhí)行也很不相同,這一點(diǎn)足以使代碼的移植比預(yù)期耗費(fèi)多得多的時(shí)間,而且基本上不是自動(dòng)的。那么,java模型的好處在哪里呢?首先,java是一種先進(jìn)的、面向?qū)ο蟮恼Z言,包含了預(yù)防常見錯(cuò)誤的內(nèi)置功能,并在僅僅一兩個(gè)對(duì)象中攜帶了許多經(jīng)常需要用到的功能。與c+相比,java更易于讀寫,不容易出錯(cuò),而且更加美觀,但是它速度較慢也

42、不太靈活。想實(shí)現(xiàn)在任何軟件和硬件平臺(tái)上都可虛擬移植,java盡可能少地使用了公分母模型,也就是說放棄了將每個(gè)平臺(tái)開發(fā)到極限的能力。第二,虛擬機(jī)的概念本身就是可移植和可共用的,因此對(duì)于分布式環(huán)境來說是理想的。java對(duì)于為非windows平臺(tái)開發(fā)代碼是最好的語言。那么對(duì)于windows平臺(tái)來說,java又怎么樣呢?讓java適應(yīng)windows是不可能的,這是由于sun的許可約束問題。但是java實(shí)在是太吸引人了,microsoft比誰都能更清楚這一點(diǎn)。因此,microsoft又一次采取了“拿來主義”的手法,很好地利用了java 的眾多特性,隆重推出了windows平臺(tái)的新銳力量,它就是相當(dāng)簡(jiǎn)單但

43、十分強(qiáng)大的面向?qū)ο蟮腸#編程語言。c#超過了c+,它天生就包含了.net框架類庫中的所有類,并使語法簡(jiǎn)單化??梢哉f,java具備的優(yōu)點(diǎn),c#都可以或者都將具備。c# 是.net的關(guān)鍵性語言,它是整個(gè).net平臺(tái)的基礎(chǔ)。與c#相比,.net所支持的其它語言顯然是配角身份。比如,vb.net的存在主要是對(duì)千萬個(gè)vb開發(fā)人員的負(fù)責(zé)。對(duì)于jscript.net和 managed c+ 也同樣可以這么說,后者只是增加了調(diào)用.net類的c+ 語言。c#是唯一沒有在設(shè)計(jì)思路中加入了前輩語言某種遺傳的新事物。.net平臺(tái)將 c#作為其固有語言,重溫了許多java的技術(shù)規(guī)則。c#中也有一個(gè)虛擬機(jī),叫做公用語言運(yùn)

44、行環(huán)境(clr),它的對(duì)象也具有同樣的層次。但是 c#的設(shè)計(jì)意圖是要使用全部的win32 api甚至更多。由于c#與 windows的體系結(jié)構(gòu)相似,因此 c# 很容易被開發(fā)人員所熟悉。 java的目的是要拯救分布式計(jì)算世界,c# 則不同。c#本質(zhì)上是c+的進(jìn)化產(chǎn)物,使用了包括聲明、表達(dá)式及操作符在內(nèi)的許多c+特征,但是 c#還有更多的增強(qiáng)功能,比如類型安全(type-safe)、事件處理、碎片帳集、代碼安全性等。鑒于c#強(qiáng)大的功能合易用性,本系統(tǒng)選擇c#語言而不是java,vb.net等其他語言。2.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)思想要想使開發(fā)的考試系統(tǒng)具有良好的穩(wěn)定性和可擴(kuò)展性,使用面向?qū)ο蟮拈_發(fā)方

45、法是目前最好的選擇。面向?qū)ο蠹夹g(shù)經(jīng)過多年的研究實(shí)踐,已經(jīng)成為一種成熟有效的開發(fā)方法。面向?qū)ο蟮姆椒ㄊ且环N分析方法、設(shè)計(jì)方法和思維方法。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和所追求的基本目標(biāo)是使人們分析、設(shè)計(jì)與實(shí)現(xiàn)一個(gè)系統(tǒng)的方法盡可能接近人們認(rèn)識(shí)一個(gè)系統(tǒng)的方法。也就是使描述問題的問題空間和解決問題的方法空間在結(jié)構(gòu)上盡可能一致。其基本思想是:對(duì)問題空間進(jìn)行自然分割,以更接近人類思維的方式建立問題域模型,以便對(duì)客觀實(shí)體進(jìn)行結(jié)構(gòu)模擬和行為模擬,從而使設(shè)計(jì)出的軟件盡可能直接地描述現(xiàn)實(shí)世界,構(gòu)造出模塊化的、可重用的、維護(hù)性好的軟件,同時(shí)限制軟件的復(fù)雜性和降低開發(fā)維護(hù)費(fèi)用。面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作融為一體,作

46、為一個(gè)相互依存、不可分割的整體來處理。它采用數(shù)據(jù)抽象和信息隱藏技術(shù),將對(duì)象及對(duì)象的操作抽象成一種新的數(shù)據(jù)類型,并且考慮到不同對(duì)象之間的聯(lián)系和對(duì)象類的重用性。面向?qū)ο蟪绦蛟O(shè)計(jì)所追求的目標(biāo)是將現(xiàn)實(shí)世界的問題求解盡可能簡(jiǎn)單化,采用符合人類處理問題的思維方式。它用“對(duì)象”表現(xiàn)事物,用“事件”表示處理事物的動(dòng)作,用“方法”表現(xiàn)處理事物的過程,用“消息”傳遞對(duì)象與對(duì)象之間的相互聯(lián)系。面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí),不再是單純地從代碼的第一行一直編寫到最后一行,而是考慮如何創(chuàng)建對(duì)象,利用對(duì)象來簡(jiǎn)化程序設(shè)計(jì),并提供代碼的可重用性。同時(shí)面向?qū)ο蟪绦蛟O(shè)計(jì)也吸取了結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)點(diǎn)。面向?qū)ο蟪绦蛟O(shè)計(jì)支持先進(jìn)的軟件開發(fā)策略:編

47、寫可重用代碼,編寫可維護(hù)的代碼,共享代碼,優(yōu)化己有的代碼等。有了高質(zhì)量的可重用代碼就能有效地降低軟件的復(fù)雜性,提高軟件開發(fā)效率。開發(fā)者在設(shè)計(jì)軟件時(shí)可以利用一些己經(jīng)精心設(shè)計(jì)好并且經(jīng)過測(cè)試的代碼,這些可重用的代碼被組織和存放在程序設(shè)計(jì)環(huán)境的類庫中,使以后程序設(shè)計(jì)過程變得更簡(jiǎn)單。面向?qū)ο蟪绦蛟O(shè)計(jì)方法具有模塊化、信息封裝與隱藏、抽象性、繼承性、多態(tài)性等特點(diǎn),它又解決了軟件系統(tǒng)設(shè)計(jì)與管理中所需的軟件可靠性、可重用性、可擴(kuò)充性、可維護(hù)性及提高開發(fā)效率等問題。在本系統(tǒng)設(shè)計(jì)過程中使用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì),利用面向?qū)ο蟮奶攸c(diǎn)對(duì)組卷邏輯、試題表等封裝和集成,當(dāng)需要添加新的組卷邏輯時(shí)候,無

48、需修改已有的程序,只要為新的組卷邏輯添加一個(gè)具體邏輯類。添加新的題型或題庫,也不需要大量改動(dòng)現(xiàn)有的程序結(jié)構(gòu),只要添加相應(yīng)的試題表類。2.3 系統(tǒng)架構(gòu)分析2.3.1 c/s結(jié)構(gòu)分析客戶機(jī)/服務(wù)器架構(gòu)的特點(diǎn)是由客戶機(jī)向服務(wù)器發(fā)出指令,而數(shù)據(jù)的存儲(chǔ)和處理均在服務(wù)器上進(jìn)行。在服務(wù)器完成對(duì)數(shù)據(jù)的處理后,將運(yùn)算結(jié)果返回給客戶機(jī),用戶就可以利用安裝在客戶機(jī)上的應(yīng)用程序?qū)Y(jié)果進(jìn)行二次處理。但由于c/s架構(gòu)主要是針對(duì)局域網(wǎng)的應(yīng)用環(huán)境設(shè)計(jì)的,因此適合在企業(yè)內(nèi)部的intranet上使用,而無法在internet上得以高效應(yīng)用,c/s結(jié)構(gòu)的弱點(diǎn)主要表現(xiàn)在:(1) 維護(hù)升級(jí)困難:由于客戶端與服務(wù)器共同分擔(dān)應(yīng)用計(jì)算,這就

49、要求在客機(jī)上安裝相應(yīng)的處理程序,這樣容易造成管理混亂,維護(hù)升級(jí)非常不方便。當(dāng)需要對(duì)客戶端應(yīng)用程序進(jìn)行更新或升級(jí)時(shí),必須對(duì)每個(gè)客戶端進(jìn)行相同的工作,給維護(hù)工作帶來很大困難。(2) 跨平臺(tái)差:不同開發(fā)工具開發(fā)的應(yīng)用程序只能在特定的平臺(tái)上運(yùn)行,一般不能移到其他的客戶平臺(tái)上運(yùn)行。(3) 缺乏開放性:c/s結(jié)構(gòu)中數(shù)據(jù)庫信息的使用,一般只限于局域網(wǎng)的范圍。系統(tǒng)之外的用戶(internet用戶)難以訪問系統(tǒng)資源,系統(tǒng)之內(nèi)的用戶也不能訪問系統(tǒng)之外的資源。(4) 由于開發(fā)工具或輔助工具往往要占據(jù)相當(dāng)大的硬盤空間,且運(yùn)行時(shí)占據(jù)相當(dāng)?shù)膬?nèi)存空間,從而造成了系統(tǒng)資源的巨大浪費(fèi)。2.3.2 b/s結(jié)構(gòu)分析90年代中期,隨

50、著internet的廣泛應(yīng)用和普及,人們從internet上得到了方便、快捷和更加多樣化的信息,而且不必了解網(wǎng)絡(luò)內(nèi)部實(shí)現(xiàn)的細(xì)節(jié),瀏覽器及服務(wù)器(b/s)結(jié)構(gòu)就是在這種背景下產(chǎn)生的。在b/s結(jié)構(gòu)中,將系統(tǒng)的應(yīng)用程序集中到服務(wù)器端,無需開發(fā)客戶端程序,服務(wù)器上所有應(yīng)用程序都可以通過web瀏覽器在客戶機(jī)上執(zhí)行。b/s結(jié)構(gòu)是真正的三層結(jié)構(gòu),它以訪問web服務(wù)器為中心,http為傳輸協(xié)議,客戶端通過瀏覽器(browser)訪問web服務(wù)器和與其相連的后臺(tái)數(shù)據(jù)庫,稱之為b/s(browser/server)模式。在b/s結(jié)構(gòu)中,客戶端只要安裝一個(gè)瀏覽器(browser),如internet explore

51、r??蛻魴C(jī)上中間層采用web服務(wù)器,它接受客戶端的請(qǐng)求,將其轉(zhuǎn)換為sql語句,通過odbc或其他手段傳給數(shù)據(jù)庫服務(wù)器,并將數(shù)據(jù)庫服務(wù)器返回的結(jié)果用http文件格式傳回給瀏覽器。瀏覽器實(shí)際上就是一個(gè)將標(biāo)準(zhǔn)語言轉(zhuǎn)化為界面的解釋器,應(yīng)用程序安裝在web服務(wù)器上,其運(yùn)行也是在這里進(jìn)行的。b/s結(jié)構(gòu)中分為三個(gè)層次:第一層是客戶端即瀏覽器,主要完成客戶和后臺(tái)的交互及最終查詢結(jié)果的輸出功能將不再需要應(yīng)用程序。在客戶端向指定的web服務(wù)器提出服務(wù)器請(qǐng)求,web服務(wù)器用http協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在www瀏覽器上;第二層web服務(wù)器是功能層,完成客戶的應(yīng)用功能,即web服務(wù)器接受客戶請(qǐng)求

52、,并與后臺(tái)數(shù)據(jù)庫連接,進(jìn)行申請(qǐng)?zhí)幚恚缓髮⑻幚斫Y(jié)果返回web服務(wù)器,再傳至客戶端;第三層數(shù)據(jù)庫服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫服務(wù)器應(yīng)客戶請(qǐng)求獨(dú)立地進(jìn)行各種處理。b/s結(jié)構(gòu)的優(yōu)點(diǎn):用戶方面:由于在前端采用了統(tǒng)一的瀏覽器界面,所以用戶在使用時(shí)簡(jiǎn)單易用,只需要掌握一些簡(jiǎn)單的web頁面操作方法,大大降低了培訓(xùn)、維護(hù)成本.系統(tǒng)的開發(fā)方面:整個(gè)軟件的開發(fā)可以集中在服務(wù)器端進(jìn)行,不需要對(duì)客戶端進(jìn)行特殊的設(shè)置和軟件安裝,降低了維護(hù)成本。系統(tǒng)維護(hù)方面:由于數(shù)據(jù)的處理、存儲(chǔ)都是在服務(wù)器上完成,因此將來對(duì)系統(tǒng)(無論是硬件還是軟件)的升級(jí)都只是對(duì)服務(wù)器進(jìn)行。所以,網(wǎng)絡(luò)應(yīng)用軟件易于管理和維護(hù),而且擴(kuò)展性好。2.3.3 本系統(tǒng)架

53、構(gòu)通過以上的分析我們知道了b/s和c/s的架構(gòu)的優(yōu)缺點(diǎn)。傳統(tǒng)的c/s模式主要是以局域網(wǎng)為基礎(chǔ)的環(huán)境下開展的應(yīng)用,雖然它的體系結(jié)構(gòu)采用了開放模式,但只是系統(tǒng)開發(fā)一級(jí)的開放性,在特定的應(yīng)用中無論是client端還是server端都還需要特定的軟件,沒有能提供用戶期望的真正的開放性。以internet為基礎(chǔ)進(jìn)行通信的,在這種結(jié)構(gòu)下,用戶界面完全通過web瀏覽器來實(shí)現(xiàn),一部分事務(wù)處理在前端實(shí)現(xiàn),但主要事務(wù)處理在服務(wù)器端實(shí)現(xiàn)。b/s結(jié)構(gòu)的前端是以tcp/ip協(xié)議為基礎(chǔ)的,后端的web服務(wù)器可以接受安裝有web瀏覽程序的internet終端訪問。作為最終用戶,只要通過web瀏覽器,各種處理任務(wù)都可以調(diào)動(dòng)系

54、統(tǒng)資源來完成,這樣大大簡(jiǎn)化了客戶端,減輕了系統(tǒng)維護(hù)與升級(jí)的成本。我們?cè)O(shè)計(jì)開發(fā)的在線考試系統(tǒng),其主要功能是實(shí)現(xiàn)將一般的有紙考試向基于internet的無紙化考試系統(tǒng)的移植,它包括整個(gè)考試流程的進(jìn)行,實(shí)現(xiàn)系統(tǒng)對(duì)不同用戶的權(quán)限管理,以及完成計(jì)算機(jī)自動(dòng)出卷、閱卷、評(píng)分等環(huán)節(jié)的處理。在c/s模式中,client(客戶機(jī))負(fù)責(zé)提供表達(dá)邏輯、顯示用戶界面信息、訪問數(shù)據(jù)庫服務(wù)器等,server(服務(wù)器)用于提供后臺(tái)數(shù)據(jù)管理服務(wù)。在b/s模式中,有客戶機(jī)與服務(wù)器,客戶機(jī)主要用于信息的瀏覽。b/s模式的最大優(yōu)點(diǎn)是可以不受時(shí)間和地域的限制,可以更靈活的處理實(shí)時(shí)性事件。對(duì)于在線考試系統(tǒng),其設(shè)計(jì)的根本目的在于實(shí)現(xiàn)實(shí)時(shí)考

55、試的遠(yuǎn)程無紙化。系統(tǒng)要求不受地域的限制,又有比較靈活的實(shí)時(shí)性要求,因此本系統(tǒng)采用b/s結(jié)構(gòu)來進(jìn)行設(shè)計(jì)??偟膩碚f,c/s模式在使用時(shí)需要對(duì)所有計(jì)算機(jī)進(jìn)行軟件安裝和設(shè)置,維護(hù)工作量較大,不適合在較大范圍內(nèi)推廣使用。與傳統(tǒng)的基于c/s模式的網(wǎng)絡(luò)考試系統(tǒng)相比,b/s體系將應(yīng)用邏輯與用戶界面和數(shù)據(jù)訪問相分離,使系統(tǒng)的維護(hù)變得簡(jiǎn)單(只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新),同時(shí)簡(jiǎn)化了客戶端的功能,用戶只需瀏覽器即可使用此考試系統(tǒng),更適合于互聯(lián)網(wǎng)上的考試?;跒g覽器/服務(wù)器架構(gòu)的進(jìn)行網(wǎng)上考試的諸多優(yōu)勢(shì),因此本人設(shè)計(jì)的網(wǎng)上考試系統(tǒng)的就采用這種b/s體系結(jié)構(gòu)。2.4 數(shù)據(jù)庫技術(shù)sql server是美國mi

56、crosoft公司推出的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。sql server是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)了與windows nt的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案。其主要特點(diǎn)如下:(1) 高性能設(shè)計(jì),可充分利用windows nt的優(yōu)勢(shì)。(2) 系統(tǒng)管理先進(jìn),支持windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。(3) 強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。(4) 支持對(duì)稱多處理器結(jié)構(gòu)、存儲(chǔ)過程、odbc,并具有自主的sql語言。 sql server以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與internet的緊

57、密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫平臺(tái)。 access 2000是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)軟件,它是microsoft公司推出的辦公自動(dòng)化系列軟件office 2000的組件之一。其主要特點(diǎn)如下: (1) 完善地管理各種數(shù)據(jù)庫對(duì)象,具有強(qiáng)大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。 (2) 強(qiáng)大的數(shù)據(jù)處理功能,在一個(gè)工作組級(jí)別的網(wǎng)絡(luò)環(huán)境中,使用access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的xbase(dbase、foxbase的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實(shí)現(xiàn)的客戶服務(wù)器(client/server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制,access具備了許多先進(jìn)的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論