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

下載本文檔

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

文檔簡介

在線考試系統(tǒng)論文在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)摘要在信息技術(shù)迅速發(fā)展的今天,網(wǎng)絡(luò)對于大多數(shù)人已不再陌生,并且其應(yīng)用在人們的工作、學(xué)習(xí)和生活中越來越多地發(fā)揮著不可替代的作用。很多學(xué)校也紛紛根據(jù)自身的需要,采用了先進(jìn)的信息技術(shù)來加強(qiáng)教學(xué)管理、提高教學(xué)質(zhì)量。網(wǎng)上考試作為網(wǎng)絡(luò)教育不可缺少的組成部分,它與傳統(tǒng)的考試相比較而言,減少了教師出題、組織考試、批改試卷等工作量,提高了教師的工作效率,并且使考試更客觀公正。但是目前很多考試系統(tǒng)都是由軟件開發(fā)公司來開發(fā)并且銷售的,多數(shù)考試系統(tǒng)力求功能全面,從而存在著設(shè)置參數(shù)過多、操作較難、成本較高等問題。所以開發(fā)一個適用于中等職業(yè)學(xué)校、實(shí)用夠用、操作簡單、使用方便、成本較低的考試系統(tǒng)是很必要的。本系統(tǒng)以哈爾濱市第一職業(yè)高級中學(xué)的網(wǎng)絡(luò)考試為背景,采用了當(dāng)前較為流行B/S三層體系結(jié)構(gòu),其客戶端采用瀏覽器來完成考試全過程;使用應(yīng)用廣泛的C#.NET語言進(jìn)行開發(fā),使用SQLServer2005作為后臺數(shù)據(jù)庫,本系統(tǒng)涉及多個科目和多種考題類型,在考試過程中實(shí)現(xiàn)了自動組卷、時間限制、在線批卷、題庫管理等多種功能、并且能很好地處理考試斷點(diǎn)情況。較以往的考試系統(tǒng)相比,這本系統(tǒng)最大的特點(diǎn)是增加了指紋識別功能,學(xué)生在報名參加考試的同時采集本人的指紋信息并將它保存到相應(yīng)的指紋數(shù)據(jù)庫里面,學(xué)生進(jìn)入考場之前通過計算機(jī)和指紋識別儀進(jìn)行指紋識別,指紋識別通過者才可以進(jìn)入考場準(zhǔn)備考試;本系統(tǒng)開發(fā)可以滿足我校的多種考試情況并且已經(jīng)成功地在校園網(wǎng)上運(yùn)行。它界面友好、可操作性強(qiáng)、性能穩(wěn)定、擴(kuò)展性良好。系統(tǒng)的使用改進(jìn)了學(xué)生考核手段,取消了以往考試對時間和地點(diǎn)的限制要求。為我校節(jié)約了大量的人力、物力和財力。關(guān)鍵詞:在線考試;指紋識別;自動組卷;Browser/Server;

AbstractToday,withtherapiddevelopmentofinformationtechnology,networkisnolongerstrangetomostpeople.Itsapplicationinpeople'swork,studyandlifemoreandmoreplayanirreplaceablerole.Manyschoolshaveadoptedtheadvancedinformationtechnologytostrengthenschoolmanagementandimprovethequalityofinstructionontheirownneeds.On-linetestasanindispensablepartofthenetwork’seducation,comparingwithtraditionaltest,reducestheteacher’sworkofthepapersetting,theexaminationorganizingandtheexaminationpapers’marking,etc,improvestheteacher’sefficiency,andmakesthetestbemoreobjective.Butthereisalotoftheexaminationsystemsaredevelopedandsalebysoftwaredevelopmentcompany,Mostoftheexaminationsystemswantafullfunctionthattheyhavemanyproblems,suchassettingtoomuchparameter,hardoperationandhigh-cost.Soitisnecessarytodevelopanexaminationsystemwhichareusefulandenough,operationeasy,usingconvenientandfitsformiddlevocationalschool.ThissystemusesHarbinNo.1VocationalSchool'sfirstnetworktestforthebackground,itadoptsB/Sthree-tierarchitecturewhichismorepopularatthecurrent.Itsclientusesthebrowsertocompletethewholeprocessofexamination.ItusestheC#.NETlanguagetodevelopwhichiswidelyused,itusesSQLServer2005asdatabase.Thissysteminvolvesanumberofsubjectsandavarietyofquestiontypes.Intheexamination,itachievestheautomatictestpaper,timeconstraints,onlinebatchvolume,examinationmanagementandotherfunctions,anditcanwellhandlethesituationofbreakpointduringthetest.Comparedwiththeoldexaminationsystems,thebiggestcharacteristicofthesystemisthatitincreasesfingerprintingcapabilities.Itgathersone’sinformationoffingerprintsandkeepsthemtotherelateddatabasewhenthestudentsapplyfortheexamination.Beforethestudentsentertheexaminationroomtheymustpassthefingerprintrecognitionbycomputerandfingerprintidentificationdevice,thenthemcanentertheclassroomtopreparefortheexam.Thedevelopingofthissystemcanmeetavarietyoftestconditionsofourschoolandhasbeenrunningsuccessfullyinthecampusnetwork.Itsinterfaceisfriendly,operabilityisstrong,performanceisstable,andscalabilityisgood.Theusingofthesystemimprovethestudents’assessmenttools.Itcancelsrestrictedrequirementstothetimeandaddressoftheoldexaminations.Itsavesalotofmanpower,materialandfinancialresources.Keywords:onlineexamination;fingerprintidentification;automaticgeneration;Browser/Server目錄中文摘要 IIAbstract III第1章緒論 5課題背景 5課題目的和意義 5國內(nèi)外研究現(xiàn)狀 6項(xiàng)目的研究內(nèi)容 8第2章本課題相關(guān)技術(shù)的簡介 9軟件工程 9軟件工程的概念和目標(biāo) 9軟件的特點(diǎn)及其要素 9軟件工程常用的開發(fā)模型 102.2B/S模式 122.3ASP技術(shù)簡介 142.3.1什么是ASP 142.3.2ASP的特性 142.4ADO技術(shù) 152.4.1ADO介紹 152.4.2ADO與數(shù)據(jù)庫交互技術(shù) 152.5SQLServer2005介紹 162.5.1SOL語句介紹 162.5.2SQLServer2000的特點(diǎn) 162.6C#語言的特點(diǎn) 182.7本章小結(jié) 19第3章系統(tǒng)需求分析 203.1系統(tǒng)的目標(biāo)分析 203.2可行性分析 203.2.1技術(shù)可行性 213.2.2經(jīng)濟(jì)可行性 213.2.3操作可行性 213.3系統(tǒng)需求問題描述 223.3.1系統(tǒng)功能需求 223.3.2系統(tǒng)非功能性需求 233.4系統(tǒng)開發(fā)環(huán)境 233.4.1硬件平臺 243.4.2軟件平臺與開發(fā)工具 243.5本章小結(jié) 24第4章系統(tǒng)的設(shè)計與實(shí)現(xiàn) 254.1考試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖 254.2系統(tǒng)實(shí)現(xiàn) 264.2.1實(shí)現(xiàn)過程概述 264.2.2主要功能模塊設(shè)計 264.3關(guān)鍵技術(shù) 304.3.1常見的組卷算法 304.3.2算法實(shí)現(xiàn) 324.3.3考試中斷與恢復(fù)處理 35指紋識別技術(shù) 36指紋識別的概況 36指紋識別的原理 36指紋識別算法 394.5數(shù)據(jù)庫的分析與設(shè)計 40第5章系統(tǒng)測試 435.1系統(tǒng)測試目標(biāo) 435.2系統(tǒng)測試的基本原則 435.3系統(tǒng)測試的方法 44界面測試 45系統(tǒng)功能測試 45兼容性測試 46負(fù)載測試 465.9系統(tǒng)測試結(jié)果與分析 47總結(jié) 48參考文獻(xiàn) 49致謝 50第1章緒論課題背景在當(dāng)下的信息不斷發(fā)展時代,計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)被越來越廣泛地應(yīng)用于各個領(lǐng)域,它改變著人們的生活、工作、學(xué)習(xí)甚至思維方式,同時也引起了教育領(lǐng)域的重大變革。信息技術(shù)的不斷發(fā)展,是現(xiàn)代教育發(fā)展的需要,是計算機(jī)考試發(fā)展的必然趨勢,考試作為衡量人的能力的重要手段,在現(xiàn)代生活中的地位進(jìn)一步提高,并深入到社會的各個層面。在線考試是改革教育模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。針對我校的情況,人數(shù)眾多,每次考試會浪費(fèi)大量的人力物力,特此研究在線考試系統(tǒng),不僅能實(shí)現(xiàn)計算機(jī)類課程考試的需求,還能實(shí)現(xiàn)其他各類課程考試的需求,試題類型可以是客觀題,也可以是主觀題。目的是可以直接和學(xué)校的教學(xué)體系接軌,改變原有的以傳統(tǒng)筆試為主的考試方法,提高學(xué)生動手能力,使其應(yīng)用知識的能力得到增強(qiáng),更重要的是便于以后系統(tǒng)的擴(kuò)充。目前試題庫的趨勢是用大規(guī)模的計算機(jī)網(wǎng)絡(luò)考試模式,隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的教學(xué)、生產(chǎn)生活正變得越來越流行,傳統(tǒng)的考試,布置考場、檢查、組織成績有效管理和考生考試模式發(fā)生了很大的變化。因此,如何讓現(xiàn)在考試過程就會變得更快,更方便、更公平、更高效、是現(xiàn)代教育一個很重要的問題。網(wǎng)上考試系統(tǒng)是一種傳統(tǒng)的考試的改革,是傳統(tǒng)的考試的延伸,它利用了強(qiáng)大的網(wǎng)絡(luò),可以在任何時間、任何地點(diǎn)對學(xué)生考試,加上先進(jìn)的數(shù)據(jù)庫技術(shù)的采用,從而大大簡化了傳統(tǒng)的測試過程。有此可以看出網(wǎng)絡(luò)考試系統(tǒng)是現(xiàn)實(shí)現(xiàn)代化教學(xué)不可缺少的一個重要環(huán)節(jié)。有趨勢表明,考試的標(biāo)準(zhǔn)化、計算機(jī)網(wǎng)絡(luò)化已當(dāng)今考試的發(fā)展方向,當(dāng)前國際上許多考試認(rèn)證,例如GRE、CISCO,其出題、答卷以及評分都是在計算機(jī)上完成的[1]。對傳統(tǒng)的考試形式已不能適應(yīng)發(fā)展的需要。一般來說,組織一個傳統(tǒng)的測試至少通過五步驟,即人工出題,考生考試,人工閱卷、評估試卷和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試。那么基于網(wǎng)絡(luò)的考試系統(tǒng)恰恰能彌補(bǔ)這些不足?;诰W(wǎng)絡(luò)考試系統(tǒng)是傳統(tǒng)的考試的延伸,加上數(shù)據(jù)庫技術(shù)使用,大大簡化了傳統(tǒng)的測試過程,并可使用足夠標(biāo)準(zhǔn)化測驗(yàn),使用計算機(jī)判卷,大大提高閱讀效率,考試更趨于客觀性、公證、更激發(fā)學(xué)生的學(xué)習(xí)興趣。還可以直接把取得的考試成績保存到數(shù)據(jù)庫、進(jìn)行統(tǒng)計和排序操作。其運(yùn)行成本低廉,有效和靈活的優(yōu)良性能,因此,老師所要做的是精心設(shè)計的試題,維護(hù)題庫,不組織考試,從而大大減少教師的負(fù)擔(dān),這表明其經(jīng)濟(jì)可行性是相當(dāng)大的[2]。為了適應(yīng)新形勢的發(fā)展,為了配合中等職業(yè)學(xué)??荚囍贫鹊母母铮Y(jié)合中職學(xué)校的特點(diǎn):中職在校學(xué)生人數(shù)較多,各中職學(xué)校開設(shè)的專業(yè)課相對來說也很多。并且,大部分學(xué)生都來自于初中,中職學(xué)校以培養(yǎng)學(xué)生的動手能力為主,學(xué)習(xí)文化課為輔;多年來,絕大多數(shù)的學(xué)校所有課目都是采用傳統(tǒng)的考試方法。由于,學(xué)生人數(shù)眾多、班級數(shù)目多、學(xué)生考試的科目較多,而教師相對來說又較少,每年的各種考試只能按照不同的年級在不同的時間段進(jìn)行,既費(fèi)時又費(fèi)力。為了改變現(xiàn)狀、提高效率、充分利用中職學(xué)校現(xiàn)有的計算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源實(shí)現(xiàn)考試,我們有意開發(fā)一個在線考試系統(tǒng),爭取以后中職學(xué)校的文化課實(shí)現(xiàn)在線考試。利用考試系統(tǒng)實(shí)現(xiàn)本地及遠(yuǎn)程考試則可大大簡化考試的過程和復(fù)雜度,可以很好地解決中職學(xué)校人員不足問題;利用考試系統(tǒng)還可以不斷地充實(shí)題庫,解決教師反復(fù)出題的工作壓力;利用考試系統(tǒng)可以由計算機(jī)來完成閱卷,減少人工閱卷的工作量并充分保證了閱卷的公平性與客觀性。綜上所述,我會針對中職學(xué)校的考試特點(diǎn)進(jìn)行全面的分析、詳細(xì)的設(shè)計、并結(jié)合中職學(xué)校的實(shí)際情況,提出一種基于Web的網(wǎng)上考試系統(tǒng),并用SQLSever2000數(shù)據(jù)庫與C#.NET技術(shù)結(jié)合進(jìn)行具有中等職業(yè)學(xué)校特色的考試系統(tǒng)的開發(fā)。國內(nèi)外研究現(xiàn)狀在國內(nèi),目前絕大多數(shù)考試還停留在傳統(tǒng)考試方式上,網(wǎng)絡(luò)實(shí)際應(yīng)用的限制在線登記工作和在線測試成績查詢,還沒有真正形成的在線測試的規(guī)模。網(wǎng)上考試系統(tǒng)作為現(xiàn)代教育的一個子系統(tǒng),是保證教育教學(xué)質(zhì)量的重要手段。在傳統(tǒng)的考試方式下,組織考試要經(jīng)過出題、考試、評卷、試卷分析等步驟,隨著考試類型的增加及考試要求的提高,教師的工作量將會越來越大,并且其工作非常容易出錯,在一定程度上說,傳統(tǒng)的考試方式已經(jīng)存在著改革的必要了[3]。Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了劃時代的變化,考試從傳統(tǒng)的紙筆考試到計算機(jī)輔助考試再發(fā)展到基于Web的網(wǎng)上考試成為現(xiàn)實(shí)。作為網(wǎng)絡(luò)考試系統(tǒng),國外很早以前就開始使用了,并且在題庫建設(shè)、統(tǒng)計措施等方面取得許多重要理論的結(jié)果,如我們熟知它們的經(jīng)典測量理論、概化理論、項(xiàng)目反應(yīng)理論、題庫理論、自適應(yīng)檢驗(yàn)理論等。網(wǎng)上考試在一些國家已經(jīng)得到了蓬勃發(fā)展,人們學(xué)習(xí)課程和考試都是通過網(wǎng)絡(luò)來進(jìn)行的。例如國外一些著名的考試,如Microsoft公司的MCSE(Microsoft系統(tǒng)工程師認(rèn)證考試)、GMAT(工商管理碩士入學(xué)考試)、托福考試、GRE(美國研究生入學(xué)考試)等,都是采用網(wǎng)上考試的形式進(jìn)行的[4]。

然而,軟件的研究人員在客戶應(yīng)用調(diào)查中發(fā)現(xiàn),當(dāng)前大多數(shù)的在線考試應(yīng)用都還處于把紙面的考卷搬到網(wǎng)頁上,然后使用電腦進(jìn)行自動批卷的簡單應(yīng)用水平上。但也有一些機(jī)構(gòu)已開始利用互聯(lián)網(wǎng)獨(dú)有技術(shù)特點(diǎn),針對一些學(xué)習(xí)點(diǎn),創(chuàng)新出一些網(wǎng)上考試特別的考試問題??梢灶A(yù)見,連同其他不同創(chuàng)新性在線考試的應(yīng)用的不斷出現(xiàn),將會有越來越多的考察考生能力測試是通過在線考試系統(tǒng)提供的。另一個趨勢是隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,在一定程度上通過技術(shù)手段,保證了公平的考試,使之能應(yīng)用到更廣泛的領(lǐng)域?,F(xiàn)在,在線考試系統(tǒng)已實(shí)現(xiàn)了很多網(wǎng)絡(luò)上特有的防作弊功能,如:網(wǎng)絡(luò)監(jiān)控功能、隨機(jī)出卷、題目混編等功能??梢哉f,在某些特定應(yīng)用領(lǐng)域,考試的公正性是可以得到很好的保證的,現(xiàn)在一些行業(yè)的資格認(rèn)證考試,一些單位的任職資格考試都已經(jīng)漸漸有了網(wǎng)絡(luò)考試代替?zhèn)鹘y(tǒng)的考試方式了。同時,隨著教育改革的不斷深入,教育行業(yè)的分專業(yè)化,這是不可避免的,往往有一批優(yōu)秀的教師、科研人員將會逐步轉(zhuǎn)向提供精品的課件和題庫,而其他教師則會使用這些優(yōu)秀教學(xué)資源去輔導(dǎo)更多的學(xué)生。在這樣一個發(fā)展趨勢下,只有有效地保護(hù)題庫創(chuàng)作者的知識產(chǎn)權(quán),才能更好地推動整個產(chǎn)業(yè)價值鏈的發(fā)展。從整個業(yè)界發(fā)展來看,一方面提供良好的教學(xué)資源(包括題庫)的交換渠道,另一方面實(shí)現(xiàn)對題庫創(chuàng)作者的知識產(chǎn)權(quán)的有效保護(hù),這些都是在線考試系統(tǒng)未來將面臨的主要問題[5]。在目前,在線考試系統(tǒng)的開發(fā)技術(shù)的主流有已經(jīng)相當(dāng)成熟,且很好地適合于動態(tài)站點(diǎn)設(shè)計和基于網(wǎng)絡(luò)數(shù)據(jù)庫訪問的要求,是當(dāng)前網(wǎng)上考試軟件實(shí)現(xiàn)的主流技術(shù)之一。在對大量關(guān)于網(wǎng)上考試系統(tǒng)資料的研究和學(xué)習(xí)后,根據(jù)工作的需要,針對本校實(shí)際情況特別是教學(xué)的需求,利用學(xué)校校園網(wǎng)絡(luò)存在的基本條件,研究、開發(fā)適合本校使用的基于Web的網(wǎng)上考試系統(tǒng)。項(xiàng)目的研究內(nèi)容為了保障整個系統(tǒng)的安全性,在線考試系統(tǒng)實(shí)現(xiàn)了分類驗(yàn)證的登錄模塊。通過此模塊,可以對不同身份的登錄用戶進(jìn)行驗(yàn)證,確保了不同身份的用戶操作系統(tǒng)。在抽取試題上,系統(tǒng)使用隨機(jī)試題的方式,體現(xiàn)了考試的客觀與公正。在考生考試過程當(dāng)中會出現(xiàn)計時器,提醒考生考試時間。當(dāng)考生答題完畢之后,提交試卷即可得知本次考試的得分,體現(xiàn)了系統(tǒng)的高效性。在后臺管理員管理模塊和試題管理模塊。其分別適應(yīng)不同的用戶,前者只有系統(tǒng)高級的管理員才能進(jìn)入,對整個系統(tǒng)進(jìn)行管理。而后者只允許教師登錄,教師可以對自己任教的科目試題進(jìn)行增加、修改、刪除等操作,并且可以查看所有參加過自己任教科目的學(xué)生成績。綜合上述內(nèi)容,本文的組織結(jié)構(gòu)是這樣安排的:第1章:介紹了課題的背景、目的和意義以及考試系統(tǒng)的國內(nèi)外發(fā)展的現(xiàn)狀。第2章:介紹了軟件工程的相關(guān)知識,講述B/S三層體系統(tǒng)結(jié)構(gòu)、C#.NET開發(fā)語言和ASP的相關(guān)知識以及訪問數(shù)據(jù)庫的相關(guān)知識。第3章:通過認(rèn)真地分析和討論,提出了在線考試系統(tǒng)的目標(biāo)、考試系統(tǒng)的可行性分析、功能需求和非功能需求。第4章:根據(jù)系統(tǒng)功能模塊的劃分進(jìn)行總體框架設(shè)計、數(shù)據(jù)庫設(shè)計、界面設(shè)計和系統(tǒng)優(yōu)化設(shè)計。第5章:詳細(xì)介紹系統(tǒng)的實(shí)現(xiàn)技術(shù),對關(guān)鍵技術(shù)進(jìn)行分析并提出解決方案。第6章:系統(tǒng)測試與維護(hù)的相關(guān)論述,分析系統(tǒng)的成功與不足,并對未來工作做進(jìn)一步的探討和展望。第2章本課題相關(guān)技術(shù)的簡介軟件工程軟件工程的概念和目標(biāo)許多計算機(jī)和軟件科學(xué)家嘗試,把其他工程領(lǐng)域中行之有效的工程學(xué)知識運(yùn)用到軟件開發(fā)工作中來。經(jīng)過不斷實(shí)踐和總結(jié),最后得出一個結(jié)論:按工程化的原則和方法組織軟件開發(fā)工作是有效的,是擺脫軟件危機(jī)的一個主要出路。軟件工程到底是什么?答案很簡單。如外行人理解的,軟件工程是工程原理在軟件上的應(yīng)用。進(jìn)一步細(xì)化則可以將工程定義為:將科學(xué)和數(shù)學(xué)原理應(yīng)用于實(shí)際目的,如設(shè)計、制造和操作有效且經(jīng)濟(jì)的結(jié)構(gòu)、機(jī)器、過程和系統(tǒng)。如果將工程的這個定義應(yīng)用于軟件,軟件工程則可定義為:將科學(xué)和數(shù)學(xué)原理應(yīng)用于軟件設(shè)計、制造以獲得有效的和經(jīng)濟(jì)的軟件、軟件開發(fā)過程和軟件系統(tǒng)。軟件工程的目標(biāo)是:在給定\o"成本"成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難。軟件的特點(diǎn)及其要素如果我們考慮周圍的各種產(chǎn)品,如計算機(jī)及各種電子設(shè)備,它們好像存在某種程度的共性。軟件也是一種產(chǎn)品,但它與上述產(chǎn)品有一些本質(zhì)的不同,其區(qū)別在于軟件不是物理實(shí)體。軟件是一個邏輯實(shí)體,因而它具有抽象性。軟件常見的特點(diǎn)如下:(1)軟件不開發(fā)的,不是制造的盡管像其他產(chǎn)品一樣,軟件必須先設(shè)計,然后制作,但是它不是從自動裝配線上生產(chǎn)出來的。盡管有很多計算機(jī)輔助軟件工程工具可以使用,但是許多方面取決于開發(fā)人員的個人技能和創(chuàng)造能力,這些很難詳細(xì)說明,更難以量化,而且事實(shí)上不可能標(biāo)準(zhǔn)化。因此管理軟件的開發(fā)和控制軟件的質(zhì)量成為非常具有挑戰(zhàn)性的工作。CASE是一個將各種軟件工具和一個存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來的軟件工程環(huán)境。(2)軟件具有柔性通常對于大多數(shù)工程產(chǎn)品而言,如果需要修改,首先修改設(shè)計。但是對于軟件,可以很容易地修改產(chǎn)品本身,而不需要修改設(shè)計。因此軟件具有高度柔性,所以不同于其他產(chǎn)品。然而軟件容易修改這一特點(diǎn)經(jīng)常被濫用。假定用嚴(yán)格的原則進(jìn)行控制,軟件的柔性特性可以得到有利的利用。這里用于修改的手續(xù)和質(zhì)量標(biāo)準(zhǔn)就變得很重要。(3)軟件不磨損與其他機(jī)械產(chǎn)品不同,軟件從不磨損。但是,軟件也會不能用,因?yàn)樵谧畛蹰_發(fā)之后軟件的功能多年不變,其對不斷變化的需求的適用性會隨著時間的推移而降低。如果對軟件進(jìn)行修改以滿足不斷增加的需求,很可能就會產(chǎn)生缺陷,因而破壞軟件的質(zhì)量。更重要的是,對于其他工程產(chǎn)品,可以很容易地用備件更換缺陷部件,與此不同,軟件沒有備件的概念。軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它包括三個要素:程序、數(shù)據(jù)和文檔。其中,程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料。2.1.3軟件工程常用的開發(fā)模型與其它任何工程學(xué)科相同,軟件工程也有一些用于軟件開發(fā)的結(jié)構(gòu)模型,軟件開發(fā)生命周期模型是從軟件項(xiàng)目可行性分析直至軟件經(jīng)使用后廢棄為止,跨越整個生存周期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。隨著軟件工程的發(fā)展,已經(jīng)產(chǎn)生了多種SDLC模型,用的開了模型有四種:瀑布模型、原型模型、增量模型和螺旋模型。本節(jié)重點(diǎn)討論瀑布模型和螺旋模型。瀑布模型包括可行性分析、需求分析、系統(tǒng)設(shè)計、編碼、測試、部署和維護(hù)七個階段,第一個階段自上而下,相互銜接,次序固定。瀑布模型具有很強(qiáng)的順序性和依賴性,即:下一階段必須以上一階段的完成為前提。如同瀑布流水,逐級下落。因此,引用“瀑布”一詞做些模型的名稱。如圖2-1所示:可行性分析可行性分析需求和分析系統(tǒng)設(shè)計編碼測試維護(hù)部署圖2-1軟件工程的瀑布模型Fig2-1softwareengineeringwaterfallmodel螺旋模型是瀑布模型的改版,它的演變過程從中心開始,近順時針方向移動,每個周期都包含計劃、風(fēng)險分析、工程、客戶評估、客戶通信幾個階段。開發(fā)過程每迭代一次,螺旋線就增加一周,軟件開發(fā)前進(jìn)一個層次,系統(tǒng)生成一個新版本,軟件開發(fā)時間與成本又有新投入,經(jīng)過多次的迭代最終可以得一個用戶滿意的軟件版本[6]。如圖2-2所示:圖2-2軟件工程的瀑布模型Fig2-2softwareengineeringwaterfallmodel2.2B/S模式B/S(Browser/Server):它是瀏覽器/服務(wù)器結(jié)構(gòu),一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。它只需要安裝維護(hù)一個服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行結(jié)構(gòu)是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。它只需要安裝維護(hù)一個服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。它也是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu),其結(jié)構(gòu)如圖2-3所示。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分全都集中到了服務(wù)器上,簡化系統(tǒng)的開發(fā)、使用和維護(hù)。在這種結(jié)構(gòu)下,通過瀏覽器為用戶進(jìn)行工作,在前端(Browser)實(shí)現(xiàn)的只是很少部分事務(wù)邏輯,服務(wù)器端(Server)來實(shí)現(xiàn)主要事務(wù)邏輯,形成所謂三層結(jié)構(gòu)。這種三層結(jié)構(gòu)分別指:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層,三層結(jié)構(gòu)在層與層之間都是相互獨(dú)立的,任何一層有所改變都不會影響其它層次的功能。這樣就可以很大程度上將客戶端電腦的負(fù)荷大量減少,并將系統(tǒng)的維護(hù)和升級的成本與工作量減輕了不少,使用戶的總體成本降低。伴隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個非常大的進(jìn)步[7]。圖2-3Browser/Server結(jié)構(gòu)Fig2-3Browser/ServerstructureB/S(Browser/Server)結(jié)構(gòu)有如下優(yōu)點(diǎn):(1)維護(hù)方便:因?yàn)锽/S結(jié)構(gòu)管理軟件只需要安在服務(wù)器(Server)上,網(wǎng)絡(luò)的管理員只需要管理好服務(wù)器(Sever)就行了,這樣不僅能夠降低總體成本,而且方便維護(hù)。軟件所有的維護(hù)、升級工作都只在服務(wù)器上進(jìn)行,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新即獲得最新版本的軟件。這減輕了異地用戶系統(tǒng)維護(hù)與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢明顯客戶端在運(yùn)行軟件時,類似于我們平時上網(wǎng)瀏覽網(wǎng)頁,只要有瀏覽器就可以,不用安裝其它軟件。(2)安全性好:客戶端請求都是過DBMS(SQLServer2000)來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險,因此系統(tǒng)的架構(gòu)就采用了B/S設(shè)計模式。服務(wù)器端程序的實(shí)現(xiàn)技術(shù)也很多,本系統(tǒng)選用了當(dāng)前比較流行的網(wǎng)絡(luò)編程技術(shù)——ASP(ActiveServerPages)作為主要實(shí)現(xiàn)手段(配合JavaServlet、JavaBean、HTML等)。(3)成本降低在原有的C/S兩層結(jié)構(gòu)中,軟件一般是采用兩層結(jié)構(gòu)的。而B/S采用的是三層結(jié)構(gòu),其結(jié)構(gòu)如2-4圖所示。兩層結(jié)構(gòu)中,客戶端接受用戶的請求,客戶端向數(shù)據(jù)庫服務(wù)提出請求,數(shù)據(jù)庫服務(wù)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進(jìn)行計算(可能涉及到運(yùn)算、匯總、統(tǒng)計等等)并將結(jié)果呈現(xiàn)給用戶。采用三層結(jié)構(gòu)的B/S的配置可以是提高服務(wù)器的配置,降低客戶端的配置。這樣增加的只是一臺服務(wù)器(應(yīng)用服務(wù)和數(shù)據(jù)庫服務(wù)可以放在同一臺計算機(jī)電腦中)的價格,而降低的卻是幾十臺客戶端機(jī)器的價格。起到了降低總體擁有成本的作用[8]。圖2-4Browser/Server結(jié)構(gòu)Fig2-4Browser/ServerstructureASP技術(shù)簡介什么是ASPASP(ActiveServerPages)本身并不是一種腳本語言,它只是提供了一種使鑲嵌在HTML頁面中的腳本程序得以運(yùn)行的環(huán)境。ASP文件是以.asp為擴(kuò)展名的文本文件,可以使用任何一種文本編輯器(如Windows中的記事本、寫字板)創(chuàng)建ASP文件。ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。ASP本身還提供了五個內(nèi)置的對象。這五個內(nèi)置對象可被ASP腳本直接使用,它們是分別是ee1.Request從客戶端取得信息傳遞給服務(wù)器,是ASP讀取用戶輸入的主要方法。2.Response服務(wù)器將信息傳遞給用戶3.Server提供訪問服務(wù)器的方法和屬性4.Application在一個應(yīng)用程序的多個主頁之間保留和使用某些共同的信息,負(fù)責(zé)管理所有會話信息,可用來在指定的應(yīng)用程序的所有用戶之間共享信息。。ASP的一大特色,是可以用來編寫具有協(xié)作機(jī)制的應(yīng)用程序,在多個用戶的多個主頁之間共享信息。使用內(nèi)置的Application和Session對象可實(shí)現(xiàn)這些功能[9]。使用那些帶有ASP增強(qiáng)支持的編輯器將更提高效率,如FrontPage,Dreamweaver等。想要學(xué)好ASP程序的設(shè)計,必須掌握腳本的編寫。腳本就是由一系列的腳本命令所組成的,類似一般程序,腳本可以將值賦給變量,也可以命令WEB服務(wù)器發(fā)送一個值到客戶瀏覽器,還可以將一系列命令定義成一個過程。要編寫腳本,至少要掌握一門腳本語言,如JavaScript。在ASP文件中通常包含文本、HTML、標(biāo)記和腳本命令,這三部分的內(nèi)容以各種組合混雜在ASP文件中,需要使用不同的符號進(jìn)行區(qū)分。ASP的特性ASP具有如下幾個重要特性面向?qū)ο螅篈SP提供了幾種內(nèi)置對象。通過使用這些內(nèi)置對象可以使腳本功能更強(qiáng)。另外,利用這些對象還可以從客戶端瀏覽器中獲得信息或者向客戶端瀏覽器發(fā)送信息。具有保密性:ASP是在服務(wù)器端運(yùn)行,送到客戶端瀏覽器的是ASP的執(zhí)行結(jié)果所生成的HTML頁面,因此ASP程序具有保密性。無須編譯:容易編寫,可在服務(wù)器端直接執(zhí)行數(shù)據(jù)處理方便:使用附加組件可以擴(kuò)展ActiveServerPage。ActiveServerPage可以同幾個標(biāo)準(zhǔn)的服務(wù)器端ActiveX組件捆綁在一起。與數(shù)據(jù)庫連接:ASP可以與數(shù)據(jù)庫(如SOLServer,MicrosoftAccess等)建立連接,通過對數(shù)據(jù)庫的操作建立功能強(qiáng)大的Web應(yīng)用程序。2.4ADO技術(shù)ADO介紹ADO的全名是ActiveXDataObject(ActiveX數(shù)據(jù)對象),是一組優(yōu)化的訪問數(shù)據(jù)庫的專用對象集,在多數(shù)的應(yīng)用程序中,程序都要根據(jù)用戶的需要操作數(shù)據(jù)庫,ADO對象在服務(wù)器端執(zhí)行,并向客戶端提供含有數(shù)據(jù)庫信息的內(nèi)容,客戶端可以根據(jù)指定的權(quán)限對數(shù)據(jù)庫進(jìn)行讀寫等操作,這些技術(shù)可以操作如Ms-Access、SQLServer和Oracle等數(shù)據(jù)庫。當(dāng)用戶需要數(shù)據(jù)時,ADO就可以訪問存儲在數(shù)據(jù)庫中的數(shù)據(jù)。它為ASP提供了完整的站點(diǎn)數(shù)據(jù)庫訪問解決方案[10]。它可作用于服務(wù)器端,以提供含有數(shù)據(jù)庫信息的主頁內(nèi)容。通過執(zhí)行SQL命令,讓用戶在瀏覽器畫面中輸入、更新和刪除站點(diǎn)服務(wù)器的數(shù)據(jù)庫信息。ADO與數(shù)據(jù)庫交互技術(shù)使用ADO訪問數(shù)據(jù)庫的設(shè)計要領(lǐng)是掌握ASP腳本的幾個典型語句,它們是:1.定義數(shù)據(jù)庫組件。有兩種定義方法:使用"Server.CreateObject"建立連接的對象。Set·使用<OBJECT>標(biāo)記建立連接的對象。<OBJECTRUNAT=ServerID=ConnCLASSID="Clsid:00000293-0000-0010-8000-00AA006D2EA4"></OBJECT>2.可以用"Open"命令打開要訪問的數(shù)據(jù)庫:Conn.Open"DSN名稱"3.設(shè)定SQL語句,使用"Execute"命令,即可開始執(zhí)行訪問數(shù)據(jù)庫的動作:SetRS=Conn.Execute("SQL語句")其中RS為結(jié)果集對象(RecordSets)。4.利用RecordSets對象所提供的屬性顯示查詢結(jié)果,如下例將查詢結(jié)果顯示于一個表格中:(其中<%和%>是ASP腳本的專用定界符)ASP與組件對象的使用[11]。2.5SQLServer2005介紹2.5.1SOL語句介紹SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEMR開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強(qiáng)大,簡單易學(xué),所以自IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)用。如今無論是Oracle,Sybase,Informix,SQLserver這些大型數(shù)據(jù)庫管理系統(tǒng),還是VisualFoxporo,PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。StructuredQueryLanguage包含4個部分:數(shù)據(jù)查詢語言DQL-DataQueryLanguageSELECT數(shù)據(jù)操縱語言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE數(shù)據(jù)定義語言DQL-DataDefinitionLanguageCREATE,ALTER,DROP數(shù)據(jù)控制語言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK[12]。2.5.2SQLServer2000的特點(diǎn)MicrosoftSQLServer2000是一代大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),支持高容量的事務(wù)處理以及數(shù)據(jù)倉庫和決策支持系統(tǒng)而設(shè)計的,是一個后臺數(shù)據(jù)庫管理系統(tǒng)。它在企業(yè)數(shù)據(jù)處理、數(shù)據(jù)倉庫和數(shù)據(jù)庫解決方案等應(yīng)用中起著重要的核心作用,為企業(yè)的數(shù)據(jù)管理提供了強(qiáng)大的支持,對數(shù)據(jù)庫中的數(shù)據(jù)提供有效的管理,并采用有效的管理措施實(shí)現(xiàn)數(shù)據(jù)的完整性及數(shù)據(jù)的安全性[13]。它的特性包括:1、易于安裝和使用SQLServer2000中包括一連串的開發(fā)與管理工具,這些工具可改進(jìn)在多個站點(diǎn)上安裝與部署、管理與使用SQLServer的過程。SQLServer2000同時也支持基于標(biāo)準(zhǔn)的、與WindowsDNA一體化的優(yōu)化程序設(shè)計模型,使SQLServer數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無縫部分。這些功能讓你迅速交付SQLServer應(yīng)用程序,讓客戶僅有很小的安裝和管理開銷執(zhí)行這些應(yīng)用。2、完全的Web支持SQLServer2000提供了以Web標(biāo)準(zhǔn)為基礎(chǔ)的擴(kuò)展數(shù)據(jù)庫編程功能。豐富的XML和Internet標(biāo)準(zhǔn)支持允許您使用內(nèi)置的存儲過程以XML格式輕松存儲和檢索數(shù)據(jù)。您還可以使用XML更新程序容易地插入、更新和刪除數(shù)據(jù)。通過Web輕松訪問數(shù)據(jù)。有了SQLServer2000,可以使用來向數(shù)據(jù)庫發(fā)送查詢、對數(shù)據(jù)庫中存儲的文檔執(zhí)行全文搜索、以及通過Web進(jìn)行自然語言查詢。強(qiáng)大而靈活的基于Web的分析。SQLServer2000分析服務(wù)功能被擴(kuò)展到了Internet??梢酝ㄟ^Web瀏覽器來訪問和控制多維數(shù)據(jù)。3、可伸縮性和可用性使用SQLServer2000可以獲得非凡的可伸縮性和可靠性。通過向上伸縮和向外擴(kuò)展的能力,SQLServer滿足了苛刻的電子商務(wù)和企業(yè)應(yīng)用程序要求。SQLServer2000中包括一系統(tǒng)管理和開發(fā)工具,這些工具可改進(jìn)同時在多個站點(diǎn)上安裝、部署和使用SQLServer的過程。SQLServer2000利用了對稱多處理器(SMP)系統(tǒng)實(shí)現(xiàn)了向上伸縮,SQLServerEnterpriseEdition最多可以使用32個處理器和64GBRAM。向外擴(kuò)展可以將數(shù)據(jù)庫和數(shù)據(jù)負(fù)載分配給多臺服務(wù)器。它還支持基于標(biāo)準(zhǔn)的、與WindowsDNA集成的程序設(shè)計模型,使SQLServe數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強(qiáng)大的可伸縮性系統(tǒng)的無縫部分。這些功能可以快速交付SQLServer應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序。4、企業(yè)級數(shù)據(jù)庫功能SQLServer2000分布式查詢讓使用者可以引用來自不同數(shù)據(jù)源的數(shù)據(jù),這些數(shù)據(jù)就好像是SQLServer2000數(shù)據(jù)庫的一部分似的,分布式數(shù)據(jù)更新的完整性可以由分布式事務(wù)支持并得到充分保護(hù)。SQLServer2000關(guān)系數(shù)據(jù)庫引擎能夠支持目前非常嚴(yán)格的數(shù)據(jù)處理環(huán)境所需要功能。數(shù)據(jù)庫引擎很有效地保護(hù)了數(shù)據(jù)的完整性,同時這能夠很好地管理數(shù)以千計個并發(fā)修改數(shù)據(jù)庫的用戶的開銷削減到最低[14]。5、數(shù)據(jù)倉庫SQLServer2000能夠很好地提供數(shù)據(jù)倉庫功能,這個功能只有在Orcle和其他更昂貴的DBMS中才有。SQLServer2000中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理(OLAP)的工具。SQLServer中還包括一些工具,可用來直觀地設(shè)計數(shù)據(jù)庫并通過EnglishQuery來分析數(shù)據(jù)[15]。2.6C#語言的特點(diǎn)C#是一種功能強(qiáng)大的面向?qū)ο蟮恼Z言,程序員可以使用它快速開發(fā)種類豐富的應(yīng)用程序。C#可以用于開發(fā)功能強(qiáng)大的windows/web應(yīng)用程序,還能用于開發(fā)移動設(shè)備、手提設(shè)備和其他設(shè)備應(yīng)用程序。由于C#具有一流的面向?qū)ο笤O(shè)計,使其成為從構(gòu)建組件形式的高級商業(yè)對象到構(gòu)造系統(tǒng)級應(yīng)用程序的最佳選擇。C#的目標(biāo)是為開發(fā)人員提供一種簡單而有效的面向?qū)ο笳Z言語,它易于被具有C/C++知識的人員所掌握,它能支持功能強(qiáng)大的面向?qū)ο蟮慕M件的開發(fā),它既提供C++沒的的許多功能,同時又保留了C++強(qiáng)大的控制能力;它可用于編寫桌面應(yīng)用程序、移動設(shè)備的應(yīng)用程序和Web應(yīng)用程序。在很長一段時間里,C/C++是最具有生命力的程序開發(fā)語言,它們?yōu)殚_發(fā)人員提供了豐富的功能(如高度的靈活性和強(qiáng)大的底層控制能力),但這一切都是建立在犧牲開發(fā)效率上的。由于它們編寫的代碼難于控制,開發(fā)效率低下,所以開發(fā)人員必須忍受學(xué)習(xí)的艱苦和開發(fā)周期的長期性。隨著Internet的飛速發(fā)展,Web應(yīng)用程序日新月異,網(wǎng)絡(luò)時時刻刻地展現(xiàn)著豐富多彩的一面。然而,這一切對C/C++開發(fā)人員來說卻是巨大的痛苦,因?yàn)镃/C++和Web結(jié)合得并非很好。面對這種情況,C#應(yīng)運(yùn)而生。它與C/C++有著很大程度的相似性,使得C/C++開發(fā)人員很快就能掌握,并且提供強(qiáng)大的應(yīng)用Internet能力和對底層的控制能力,使得C#其迅速成為當(dāng)今最為流行的開發(fā)語言之一。C#是專門為.NET應(yīng)用開發(fā)的一種編程語言,從根本上保證了與.NET的完美結(jié)合。在.NET運(yùn)行庫的支持下,C#的優(yōu)點(diǎn)展現(xiàn)得淋漓盡致。下面列舉了一些C#突出的特點(diǎn):優(yōu)秀的面向?qū)ο蟮脑O(shè)計C#具有一切OOP語言的特性,除面向?qū)ο蟊貍涞姆庋b、繼承、多態(tài)等特性,還吸收了VB的快速開發(fā)經(jīng)驗(yàn),另外還有只允許單繼承、沒有了全局函數(shù)和全局變量、取消了全局常數(shù)、所有方法都必須封裝在類中以及名稱空間的使用、強(qiáng)類型的使用等特點(diǎn)。簡潔的語法C#使用的語法是當(dāng)今最為流行的語法結(jié)構(gòu),它所帶來的最大的特色是沒有了指針通過對名稱空間的使用使代碼結(jié)構(gòu)更加合理。在通過名稱空間后加符號“.”,就可以使用這個名稱空間下的類及類中的方法,程序結(jié)構(gòu)使程序開發(fā)人員一目了然。C#在托管代碼中去掉了指針這個危險而又難以控制的功能,使程序越來越安全,也使開發(fā)程序越來越容易。精心地面向?qū)ο笤O(shè)計C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性。在C#的類型系統(tǒng)中,每種類型都可以看作一個對象。與Web的緊密結(jié)合在.NET框架的支持下,網(wǎng)絡(luò)服務(wù)對C#來說就像是本地對象。使用C#可以十分方便地開發(fā)Web服務(wù)組件。使用C#語言,還可以輕松地利用ASP.NET技術(shù)快速開發(fā)基于Web的應(yīng)用程序。良好的安全性和錯誤處理安全性和錯誤處理是衡量一種開發(fā)語言是否優(yōu)秀的重要依據(jù)。C#在這方面的處理非常出色,強(qiáng)類型的檢查提高了代碼的安全性,例如不能使用未初始化的變量。C#具有優(yōu)秀的錯誤處理能力,可以輕松地捕獲各種異常,不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生,使程序更加穩(wěn)健。實(shí)現(xiàn)了標(biāo)準(zhǔn)化C#已由歐洲計算機(jī)制造商協(xié)會標(biāo)準(zhǔn)化,成為標(biāo)準(zhǔn)化的程序開發(fā)語言。靈活性和兼容性在簡化語法的同時,C#并沒有失去靈活性。C#允許將某些類或者類的某些方法聲明為非安全的。例如C#不支持類的多繼承,但是通過對接口的繼承,可以實(shí)現(xiàn)這種多重繼承[16]。本章小結(jié)目前,開發(fā)在線考試系統(tǒng)的技術(shù)有很多,選擇合適的技術(shù)對開發(fā)在線考試系統(tǒng)的性能有著決定性的作用。因此,在開發(fā)本系統(tǒng)前,對技術(shù)的選擇具有很關(guān)鍵的作用。本章概述了開發(fā)本系統(tǒng)所需求的一些技術(shù),首先介紹了軟件工程的應(yīng)用及其常見的模型,其次介紹了什么是B/S及其特點(diǎn)。然后介紹了開發(fā)在線考試系統(tǒng)中所使用到的各種軟件,如ASP、SQLServer、ADO和面向?qū)ο蟮恼Z言C#。這些技術(shù)是本系統(tǒng)開發(fā)的理論依據(jù)和技術(shù)基礎(chǔ)。第3章系統(tǒng)需求分析3.1系統(tǒng)的目標(biāo)分析本系統(tǒng)主要實(shí)現(xiàn)的目標(biāo)如下:1、整個考試系統(tǒng)界面美觀,操作簡單,實(shí)用性強(qiáng),能夠?qū)忌孕畔⑦M(jìn)行管理,能對試題進(jìn)行管理、使添加、修改試題的操作簡單化。2、無地區(qū)限制,對于已經(jīng)注冊的考生來說,可以隨時隨地通過Internet瀏覽器登錄進(jìn)行考試及查詢成績等操作,不受地區(qū)的限制。3、對于參加在線考試系統(tǒng)的考生,提供一個公平合理的考試,在考生參加考試過程中提供考試時間倒計時功能,讓考生隨時了解考試剩余時間。4、本系統(tǒng)具有自動交卷的功能,通過隨機(jī)選取算法提供組卷的功能。并且能自動閱卷,為學(xué)生快速、公平、準(zhǔn)確地提供考試成績。5、本系統(tǒng)運(yùn)行良好、狀態(tài)穩(wěn)定、安全性較高[17]。3.2可行性分析在線考試系統(tǒng)的推廣應(yīng)用,從狹義上看,它實(shí)現(xiàn)了計算機(jī)基礎(chǔ)教育現(xiàn)代化;從廣義上看,推廣本項(xiàng)研究提出的在線考試系統(tǒng),對推進(jìn)教育改革、加快教學(xué)現(xiàn)代化進(jìn)程都具有重要意義,有著廣闊的應(yīng)用前景和顯著的社會效益。在政府部門推廣和應(yīng)用在線考試系統(tǒng)組織和普及計算機(jī)知識活動,可以推動“數(shù)字北京工程”;同時,通過考核手段,可以促進(jìn)公務(wù)員提高計算機(jī)操作水平和業(yè)務(wù)水平面,進(jìn)而提高工作效率。在線考試系統(tǒng)在學(xué)校的使用,是對校園網(wǎng)建設(shè)的補(bǔ)充和使用情況的檢驗(yàn),促進(jìn)“校校通工程”的實(shí)施。在線考試系統(tǒng)在培訓(xùn)機(jī)構(gòu)的使用,可直接服務(wù)于首都人才培訓(xùn)體系?!盁o紙化”模式的采用,能節(jié)約大量的紙張,為“環(huán)保工程”做出實(shí)際貢獻(xiàn)。實(shí)施在線考試能極大推動信息技術(shù)教育的普及,基本建立起信息技術(shù)教室,徹底掃清了少數(shù)學(xué)校在黑板上講計算機(jī)的死角,并基本配備了專用教室,在一定程度上保證了學(xué)生的上機(jī)時間,為培養(yǎng)學(xué)生實(shí)踐能力提供了基礎(chǔ)設(shè)施的保障。而且在安裝高度在線考試軟件過程中,通過對一定量的專職老師進(jìn)行集中培訓(xùn),專職教師的計算機(jī)專業(yè)知識水平,特別是對網(wǎng)絡(luò)和系統(tǒng)維護(hù)能力普遍有所提高。為更迅速地獲取有關(guān)考試的信息,各校紛紛加快實(shí)現(xiàn)“校校通”工程的步伐,使基礎(chǔ)教育信息化建設(shè)又有了長足的進(jìn)展[18]。技術(shù)可行性在開發(fā)某一項(xiàng)目時,必須確定實(shí)施定義的問題在技術(shù)上是否可行,研究可能影響完成一個可接受系統(tǒng)的能力的功能、性能和約束。以本系統(tǒng)為例,我們可以從二個方面來分析:1、軟件:本系統(tǒng)在開發(fā)過程中,根據(jù)預(yù)想設(shè)定目標(biāo),結(jié)合本人的知識水平,可以熟練就等各種軟件,而且這些軟件足可以保證實(shí)現(xiàn)本系統(tǒng)的目標(biāo)。2、硬件:做出以上軟件的清單之后,找出用于開發(fā)解決方案的軟件對硬件的要求,確定我?,F(xiàn)有的硬件可以滿足這些軟件對硬件的要求。由此可見,從技術(shù)角度來看,本系統(tǒng)開發(fā)是可行的經(jīng)濟(jì)可行性根所我校實(shí)際情況:學(xué)生人數(shù)眾多、班級數(shù)目多、學(xué)生考試的科目較多,而教師相對來說又較少,每年的各種考試只能按照不同的年級在不同的時間段進(jìn)行,既費(fèi)時又費(fèi)力。在線考試系統(tǒng),可以很好地解決中職學(xué)校人員不足問題;利用考試系統(tǒng)還可以不斷地充實(shí)題庫,解決教師反復(fù)出題的工作壓力;利用考試系統(tǒng)可以由計算機(jī)來完成閱卷,減少人工閱卷的工作量并充分保證了閱卷的公平性與客觀性。在線考試系統(tǒng)改變了現(xiàn)狀、提高了效率、充分利用學(xué)?,F(xiàn)有的計算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源。由此可見,從經(jīng)濟(jì)角度來看,本系統(tǒng)開發(fā)是可行的[19]。3.2.3操作可行性本系統(tǒng)可以運(yùn)行于各種操作平臺,界面友好,操作方便,用戶可以很快熟悉操作。本系統(tǒng)穩(wěn)定性強(qiáng),易于維護(hù)。由此可見,從操作角度來看,本系統(tǒng)開發(fā)是可行的。3.3系統(tǒng)需求問題描述為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。在收集需求時,開發(fā)人員努力從用戶的角度來理解問題,而不是考慮技術(shù)或系統(tǒng)設(shè)計。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設(shè)計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)者帶來煩惱。需求分析是軟件定義時期的最后一個階段,他的基本任務(wù)是準(zhǔn)確回答“系統(tǒng)必須做什么?”這個問題。在線考試系統(tǒng)中生成題目、提交試卷、評閱成績等全部都有計算機(jī)自動完成。只要提前擁有一套完整的題庫就可以實(shí)現(xiàn)考試的自動化。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),需求分析在軟件開發(fā)生命周期中的作用非常重要。無論軟件的實(shí)現(xiàn)做多么好,如果需求分析階段在某個點(diǎn)上沒能準(zhǔn)確地傳達(dá)用戶的需求,該實(shí)現(xiàn)就存在缺陷[20]。通過討論,將得到“在線考試系統(tǒng)”的一系列情景,以及對每個情景的詳細(xì)描述。這些情景共同組成了系統(tǒng)的一個通俗易懂完整的需求。此需求對于相關(guān)人員復(fù)審用戶需求,項(xiàng)目的工作量估算和設(shè)計、測試系統(tǒng)都是十分重要的。系統(tǒng)功能需求通過與用戶的面談,并結(jié)合我校的實(shí)際情況可以確定該在線系統(tǒng)中共有三個實(shí)體對象:管理員、教師和學(xué)生。管理員參與的情景有:學(xué)生信息管理、教師信息管理、試題信息管理、考試結(jié)果管理、管理員信息維護(hù)。教師參與的情景有:創(chuàng)建考試、增加考題、修改考題等。學(xué)生參與的情景有:登錄模塊、隨機(jī)抽取試題和查詢本人成績。此外,所用的用戶必須能“登錄”到系統(tǒng)。系統(tǒng)的功能需求如下:(1)考生信息功能:主要是實(shí)現(xiàn)顯示考生的注冊信息,以及考生信息的加、刪除和修改密碼的功能。(2)在線考試功能:主要是實(shí)現(xiàn)管理員生成試卷、控制考試、考生在線題、提交答案等功能。(3)管理員功能:主要是實(shí)現(xiàn)添加、刪除管理員的功能。(4)成績統(tǒng)計功能:主要是實(shí)現(xiàn)顯示考試成績、控制查看成績的等功能(5)題目管理功能:主要是實(shí)現(xiàn)添加、刪除、修改題目功能。3.系統(tǒng)非功能性需求功能性需求定義系統(tǒng)應(yīng)該提供的服務(wù)和功能,而非功能需求描述它必須具備的質(zhì)量和特性。這些是對系統(tǒng)所提供的服務(wù)或功能的約束,其中包括時間的約束、對開發(fā)過程和標(biāo)準(zhǔn)的約束。在線考試系統(tǒng)在充分考慮到了功能需求外,還應(yīng)該具有如下非功能性需求[21]:實(shí)用性開發(fā)在線考試系統(tǒng)的首要任務(wù)就是實(shí)用性,它能夠滿足選擇題、填空題和判斷題等題型在線開始考試的要求。準(zhǔn)確性在線考試系統(tǒng)應(yīng)該具有準(zhǔn)確性,在考生參加完考試后能夠及時給出準(zhǔn)確的成績,并在學(xué)生考試過程中準(zhǔn)確地計時,為每一個考生提供一個公平、準(zhǔn)確無誤的考試環(huán)境。3、安全性在線考試系統(tǒng)充分地考慮到了非正常情況的出現(xiàn),使數(shù)據(jù)不丟失或者是盡可能地少丟失數(shù)據(jù)。例如考試過程中遇到網(wǎng)絡(luò)突然中斷、機(jī)器故障、電源斷電等,可以采用一定的技術(shù)手段,將學(xué)生答題情況進(jìn)行保存,在考生恢復(fù)考試后能夠重新調(diào)用數(shù)據(jù)還原試卷接著答題,不用在重新開始,充分保證了學(xué)生考試的公平性。4.、系統(tǒng)的簡單易用性在線考試系統(tǒng)要本著讓用戶很容易找到他們期望進(jìn)行的各種操作;易學(xué)需要軟件系統(tǒng)通過在線幫助,導(dǎo)航,向?qū)У雀鞣N方式保證軟件是可自學(xué)習(xí)的;易用的重點(diǎn)則在軟件在熟練使用后應(yīng)該可以更快的進(jìn)行各項(xiàng)操作。這三者相互間也存在沖突,需要平衡,而平衡的一個重點(diǎn)就是真正的做到以用戶為中心進(jìn)行設(shè)計,需要去細(xì)分場景和用戶[22]。3.4系統(tǒng)開發(fā)環(huán)境選擇何種開發(fā)工具是軟件開發(fā)成功的要素之一。開發(fā)工具的選擇主要決定于系統(tǒng)的最終用戶和開發(fā)人員。評估一種開發(fā)工具的好壞,不僅要看它的設(shè)計模式、對象結(jié)構(gòu)以及管理的支撐情況,還要適應(yīng)具體的使用環(huán)境、開發(fā)方法、結(jié)構(gòu)體系等。3.4.1硬件平臺主要功能:處理考試系統(tǒng)的WEB請求,集中存儲和管理數(shù)據(jù)庫的數(shù)據(jù)。配置要求:PentiumIVCPU及其以上產(chǎn)品;4GB內(nèi)存;100M網(wǎng)卡;120G主要功能:通過IE瀏覽器訪問考試系統(tǒng),完成各項(xiàng)操作。配置要求:PentiumⅢCPU或與之相當(dāng)?shù)腃PU產(chǎn)品;256M內(nèi)存;硬盤空間4GB以上;10/100M網(wǎng)卡;支持1024*768顯示器。3、網(wǎng)絡(luò)要求考試用計算機(jī)需要安裝網(wǎng)絡(luò)適配器(網(wǎng)卡),并保證其能正常瀏覽Internet??际覒?yīng)使用穩(wěn)定的網(wǎng)絡(luò)接入方式,如專線、光纖等。3.4.2軟件平臺與開發(fā)工具Web服務(wù)器:IIS5.0及其以上版本;服務(wù)器核心組件:.NETFramework。服務(wù)器數(shù)據(jù)庫:SOLServe2005中文企業(yè)版及其以上產(chǎn)品。服務(wù)器操作系統(tǒng):Windows2000Server及其以上產(chǎn)品客戶機(jī)操作系統(tǒng):MicrosoftWindows2000/XPSP2及其以上產(chǎn)品;開發(fā)語言:C#語言,技術(shù)框架編寫。5及其以上產(chǎn)品。本章小結(jié)在本章中首先簡述了本系統(tǒng)所要實(shí)現(xiàn)的目標(biāo)、然后從技術(shù)可行性和經(jīng)濟(jì)可行性論證了開發(fā)本系統(tǒng)的必要性。并進(jìn)一步敘述了開發(fā)本系統(tǒng)所要滿足的功能需求和非功能需求。根所需求分析選擇系統(tǒng)合適的軟、硬件運(yùn)行環(huán)境。第4章系統(tǒng)的設(shè)計與實(shí)現(xiàn)考試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖根據(jù)需求分析階段對在線考試系統(tǒng)的功能分析,系統(tǒng)軟件模塊可劃分為:管理員登錄,題庫管理,考試管理,新生注冊,學(xué)生登錄,在線考試,成績查詢,密碼修改,教師登錄等模塊[23]。系統(tǒng)層次圖如圖4-1所示:前臺功能結(jié)構(gòu)圖前臺功能結(jié)構(gòu)圖隨機(jī)抽取試題自動評分模塊選擇考試科目開始考試登錄模塊閱讀考試規(guī)則在線考試系統(tǒng)在線考試系統(tǒng)教師登錄教師登錄試題添加選擇題管理試題添加選擇題管理試題修改填空題管理試題修改填空題管理判斷題管理試題管理模塊判斷題管理試題管理模塊試題刪除試題刪除后臺管理結(jié)構(gòu)圖后臺管理結(jié)構(gòu)圖考試結(jié)果管理管理員登錄管理員登錄學(xué)生信息管理學(xué)生信息管理教師信息管理教師信息管理試題信息管理后臺管理員模塊試題信息管理后臺管理員模塊考試結(jié)果管理考試結(jié)果管理管理員信息維護(hù)管理員信息維護(hù)圖4-1系統(tǒng)結(jié)構(gòu)圖Fig4-1systemstructure4.2系統(tǒng)實(shí)現(xiàn)4.2.1實(shí)現(xiàn)過程概述本系統(tǒng)的總體設(shè)計思想是:在線考試系統(tǒng)設(shè)計目標(biāo)是用基于Internet的無紙張考試模式代替?zhèn)鹘y(tǒng)的紙張考試模式。因此在線考試系統(tǒng)應(yīng)具備傳統(tǒng)考試的所有功能,如出題、判分、閱卷、成績查詢等功能,除此之外,還應(yīng)具有用戶管理、系統(tǒng)管理和系統(tǒng)安全等功能[24]。通過調(diào)查了解我校教學(xué)工作和學(xué)生考核的基本情況,結(jié)合軟件項(xiàng)目開發(fā)的理論知識,提出一套合理可行的技術(shù)解決方案,實(shí)現(xiàn)教學(xué)管理工作的信息化與網(wǎng)絡(luò)化,將學(xué)校教學(xué)管理中成績考核工作通過網(wǎng)絡(luò)在線考試系統(tǒng)來完成,為全校師生提供了現(xiàn)代化的教學(xué)管理服務(wù)[25]。4.2.2主要功能模塊設(shè)計在線考試系統(tǒng)的合法用戶有三類:分別是學(xué)生、教師和管理員。三類不同的用戶具有不同的訪問權(quán)限,成功登錄以后可以訪問相應(yīng)的頁面。下面我們根所用戶的類型不同,把它們分為三個模塊:即學(xué)生模塊、教師模塊和管理員模塊。1、學(xué)生模塊概述結(jié)束學(xué)生用戶參與的事件是登錄、考試、查詢成績。考生必須輸入正確的學(xué)號、姓名和密碼才能登錄到系統(tǒng)中,學(xué)生成功登錄后,選擇考試科目,系統(tǒng)自動抽題組卷,開始考試[26]。學(xué)生參加活動時序如圖4-2所示。在開始考試過程中,頁面會出現(xiàn)計時器,提醒考生考時間,考生答完試題或是考試時間到,系統(tǒng)會自動結(jié)束考試。學(xué)生參加考試考生在結(jié)束考試后,可以查到考試成績。系統(tǒng)自動計算出學(xué)生考試的正確率,最終得出學(xué)生分?jǐn)?shù),學(xué)生可在任何時間查詢自己的考試結(jié)果,包括姓名、時間和分?jǐn)?shù)[27]。結(jié)束學(xué)生登錄界面和參加考試界面分別如圖4-3、4-4所示。2、教師模塊概述教師登錄本系統(tǒng)后:能對考試科目進(jìn)行管理,對試題進(jìn)行瀏覽、增加、修改和刪除等操作,設(shè)置考題的答案及分?jǐn)?shù),對試題庫進(jìn)行擴(kuò)展或精簡,以適應(yīng)不同的考試人群。教師參加活動時序如圖4-5所示。試題庫在本系統(tǒng)中占有舉足輕重的地位,它的好壞直接關(guān)系到考試的質(zhì)量。一般情況來說,只有教師這種用戶類型,才能對試題庫進(jìn)行管理,以此來避免其它用戶對數(shù)據(jù)庫進(jìn)行非法的操作,對數(shù)據(jù)進(jìn)行破壞,影響整個考試系統(tǒng)[28]。教師活動界面如圖4-6所示。開始開始驗(yàn)證合法性驗(yàn)證身份管理員模塊教師模塊考試模塊答題交卷查詢本次成績學(xué)生圖4-2學(xué)生活動時序圖Fig4-2studentoperationsequence圖4-3學(xué)生登錄圖Fig4-3studentlogin圖4-4在線考試圖Fig4-4on-lineexam試題管理試題管理考試科目及題型選擇身份驗(yàn)證開始增加、刪除修改數(shù)據(jù)庫表教師確認(rèn)圖4-5教師活動時序圖Fig4-5teacheroperationsequence圖4-6教師界面Fig4-6teacherinterface(1)增加考題教師用戶每增加一道考試題時,都需要填寫題目的科目、問題描述、分?jǐn)?shù)及標(biāo)準(zhǔn)答案。教師輸入后,可以點(diǎn)擊保存按鈕,將試題存入到題庫中,待遇到創(chuàng)建考試時就可以使用它出卷。但是如果教師輸入的試題編號或是內(nèi)容已經(jīng)存在于試題庫中,或是輸入的內(nèi)容不完整,系統(tǒng)會將錯誤及其詳細(xì)信息通知教師用戶,以便教師及時改正。考慮到如果教師在新增加考題中包含圖片的可能,可以在服務(wù)器上建立指定的文件夾,用于存放終端的這些圖片[29]。如果教師需要新增加考試科目,系統(tǒng)會根據(jù)已經(jīng)設(shè)定的字段建立新的科目考試表,教師只需要添寫好新增加的科目名稱及表名。添加試題界面如圖4-7所示:圖4-7添加試題圖Fig4-7additionexamination(2)修改考題教師可以修改系統(tǒng)的一個或多個已有試題的信息,并將修改后試題重新存入到試題庫中。其操作過程是:教師用戶按科目或問題描述所含關(guān)鍵字查詢出所有的試題列表,教師選擇一個試題,修改其問題的描述或是答案選項(xiàng),教師還可以繼續(xù)選擇其他試題進(jìn)行修改,并將修改的試題信息保存到數(shù)據(jù)庫中[30]。但是,對于試題各表中的主鍵中不用修改,以免造成數(shù)據(jù)庫中數(shù)據(jù)混亂的現(xiàn)象。如果教師執(zhí)行了非法操作,系統(tǒng)無法查詢出試題列表或無法保存修改結(jié)果,系統(tǒng)將錯誤及其詳細(xì)信息通知教師用戶。(3)刪除考題教師可以根據(jù)情況來刪除不再需要的一個或是多個試題,在刪除操作后,系統(tǒng)會出一個確認(rèn)信息,來確認(rèn)是否真的要刪除此試題,一旦刪除后,將通過SQL語句從數(shù)據(jù)庫中刪除該題,無法恢復(fù)[31]。試題管理界面如圖4-8所示。圖4-8試題管理圖Fig4-8examinationmanagement(4)查找考題教師用戶可以根據(jù)試題序號、試題科目、試題類型等條件在數(shù)據(jù)庫中進(jìn)行查詢。3、管理員模塊概述在線考試系統(tǒng)中只能有一名管理員,它屬于考試系統(tǒng)中最高級的用戶類型,它擁有本系統(tǒng)的最高權(quán)限??梢怨芾韺W(xué)生、教師這兩類用戶,并能指定用戶類型,它對用戶權(quán)限限制是通過對用戶信息管理來實(shí)現(xiàn)的。對教師和學(xué)生兩類用戶信息,具有增加、修改、刪除等操作;它還可以管理本系統(tǒng)的試題庫。同時,管理員還能監(jiān)控在線考試的全過程,包括考生參加考試情況、考生信息、考生成績、考試科目的管理等多方面查詢[32]。4.3關(guān)鍵技術(shù)4.3.1常見的組卷算法1、隨機(jī)選取算法隨機(jī)選取算法的核心:隨機(jī)選取法根據(jù)利用計算機(jī)提供的隨機(jī)函數(shù)或隨機(jī)量,由計算機(jī)隨機(jī)的抽取一道試題放入試卷表中,計算機(jī)不斷地重復(fù)這種過程,直到完成組卷,或者是無法從試題庫中得到滿足控制參數(shù)的試題為止[33]。由些可見,隨機(jī)選取算法結(jié)構(gòu)簡單,它對于單道題的抽取運(yùn)行速度較快,非常適合于小型的試題庫。2、回溯試探算法回溯試探法的核心:它是一種深度優(yōu)先算法,它可以系統(tǒng)地搜索一個問題的所有解或任一解,它是一種組織得井井有條的、能避免不必要重復(fù)搜索的窮舉式搜索算法,它是將隨機(jī)選取法產(chǎn)生的每一狀態(tài)類型紀(jì)錄下來,按照深度優(yōu)先方式繼續(xù)搜索,當(dāng)搜索失敗時把上次記錄的狀態(tài)類型釋放掉,然后再依據(jù)一定的規(guī)律變換一種新的狀態(tài)類型進(jìn)行試探,通過不斷地回溯試探直到試卷生成完畢或退回至出發(fā)點(diǎn)為止[34]。這種算法,對于出題量和試題類型等條件比較少的系統(tǒng)而言,組卷成功率較好。但是在具體到一個應(yīng)用時我們會看到這種算法對內(nèi)存的占用量比較大,而且選取試題缺乏了隨機(jī)性,組卷時間較長,因此它并不算是一種很好的用來自動組卷的算法。其算法可以描述為:①建立2個數(shù)組:Z(S)和U(X),線性表LIST,含義同上文中隨機(jī)算法中的Z(S)、U(X),LIST。②如U(X)>Z(S),則按一定策略減少狀態(tài)為S的U(X)值,并且增加與之相近的另一狀態(tài)U(X)的值,并修改相應(yīng)的LIST值,直到U(X)<Z(S)為止,否則,產(chǎn)生隨機(jī)數(shù)N1,N1=INT(RAND(-1)×Z(S)),其值小于Z(S),讀取N1記錄,并對該記錄作讀取標(biāo)志,抽取下一道題目時,有讀取標(biāo)志的記錄不再有效。③若U(X)不等于0,則U(X)=U(X)-1,重復(fù)步驟2。④若LIST未滿,則轉(zhuǎn)向步驟1;否則,組卷成功。⑤算法結(jié)束[35]。3、遺傳算法遺傳算法的核心:它是一種并行的、能夠有效優(yōu)化的算法,具有運(yùn)算快捷、容錯性強(qiáng)等特點(diǎn)。它是進(jìn)化算法的一種,最初是借鑒了進(jìn)化生物學(xué)中的一些現(xiàn)象而發(fā)展起來的,這些現(xiàn)象包括遺傳、突變、優(yōu)勝劣汰的自然選擇以及適者生存的進(jìn)化機(jī)制等。在解決各類非線性問題時表現(xiàn)出的全局最優(yōu)性、可并行處理性及高效率而深受喜愛[36]。運(yùn)用遺傳算法求解問題與變量無關(guān),首先需將所要求解的問題表示成二進(jìn)制編碼,然后根據(jù)環(huán)境進(jìn)行基本的操作。搜索過程時處理得出的解,降低了局部最優(yōu)解的可能性,最后收斂到一個最適應(yīng)環(huán)境條件的個體上,得到問題的最優(yōu)解。遺傳算法具有簡單通用、全局尋優(yōu)、收斂速度快等特點(diǎn),并且適用于并

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論