




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
鄭州大學(xué)西亞斯國際學(xué)院本科畢業(yè)論文(設(shè)計(jì)) 題 目 試卷自動生成系統(tǒng) 專 業(yè)網(wǎng)絡(luò)信息技術(shù) 班級06網(wǎng)絡(luò)一班院 (系)電子信息工程學(xué)院計(jì)算機(jī)科學(xué)系完成時間 2010-4-2326試卷自動生成系統(tǒng)摘 要一般情況教師想出一份試卷,要么到龐大的題庫里一道一道的把題找出來,或是從幾本相關(guān)的書里把題一道一道挑出來。這樣即費(fèi)時又費(fèi)力,而且很難保證試題的覆蓋面和把握好試卷的難度。正是為了能夠幫助教師輕松的出一份高質(zhì)量的試卷而開發(fā)了本軟件。為了達(dá)到預(yù)期的目標(biāo)我們最終選擇了Microsoft Office Word做為本軟件的終端輸出。本軟件是在對現(xiàn)有控件的改進(jìn)和VBA編程的研究的基礎(chǔ)上開發(fā)的。本軟件實(shí)現(xiàn)了以下主要功能:1.手動生成試卷;2.自動生成試卷;3.抽取現(xiàn)有試卷;4.用戶管理;5.數(shù)據(jù)庫管理。大量的測試表明本軟件在Windows 98me2000XP平臺配合Office XP2003 的環(huán)境下程序運(yùn)行穩(wěn)定且各項(xiàng)功能運(yùn)行得都很正確,基本達(dá)到了預(yù)期的要求!結(jié)論:經(jīng)過老師的實(shí)際試用本軟件在界面上和功能上都有獨(dú)到之處!相信完全可以勝任出一份好的試卷任務(wù)。關(guān)鍵詞 題庫系統(tǒng)/試卷生成/ 數(shù)據(jù)庫 Paper Auto-Generation SystemABSTRACTThe general situation teacher thinks out a paper,reach huge exam pool each finds out the question, or shoulder the question together out from several relevant books. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. Helping the teacher thinks out a higt quality paper is the destination of develop this Software. In the cause of this we select the terminal is Microsoft Office Word. This Softwares base of develop is improve on control in existence and study the VBA programing. These functions of this software are as follows: One. Manual create paper; Two. Auto create paper; Three. Select from existential papers; Four. User manage; Five. Database manage. The result of many test is that this software is runing steady and these funtions of it is runing right in the environment which make up of Windows 98me2000XP and Office XP2003, it is basic reach the requests. In all: the result of real test by teacher is that this software are unique in interface and function. We must believe it can complete creating a high quality paper.KEYWORDS Item bank system,paper generation ,database目 錄摘 要IABSTRACTII1緒論31.1開發(fā)背景與研究現(xiàn)狀32開發(fā)工具簡介32.1Dephi7.0軟件開發(fā)工具介紹32.1.1Delphi 7.0的簡介32.1.2Delphi 7.0主要的控件及其屬性簡介42.2SQL Server 2000數(shù)據(jù)庫簡介52.2.1SQL Server 2000介紹52.2.2數(shù)據(jù)庫連接方式選擇63需求分析73.1需求分析的任務(wù)73.2用戶需求73.3功能需求83.4環(huán)境需求84設(shè)計(jì)階段84.1數(shù)據(jù)庫表設(shè)計(jì)84.2詳細(xì)設(shè)計(jì)124.2.1抽取現(xiàn)有試卷的流程圖:124.2.2自動生成試卷的流程圖:134.2.3手動生成試卷的流程圖:134.3試卷自動組卷算法設(shè)計(jì)144.3.1現(xiàn)有算法分析144.3.2回溯試探法的應(yīng)用145系統(tǒng)實(shí)現(xiàn)155.1登錄模塊設(shè)計(jì)155.2系統(tǒng)主界面設(shè)計(jì)165.3用戶管理模塊設(shè)計(jì)165.4題庫管理模塊設(shè)計(jì)175.4.1題庫錄入175.4.2題庫維護(hù)185.5試卷生成模塊195.5.1自動生成試卷195.5.2手動生成試卷206測試及改進(jìn)216.1系統(tǒng)的測試目的216.2測試說明226.2.1測試分類226.2.2測試集236.3測試過程236.4測試結(jié)果247開發(fā)總結(jié)24結(jié)束語24致 謝25參考文獻(xiàn)261 緒論1.1 開發(fā)背景與研究現(xiàn)狀在以往的教學(xué)中,老師出試卷大多由手工出卷,這樣生成的試卷往往會有知識點(diǎn)分布太集中、難易程度不當(dāng)、分值分布不均等一些缺點(diǎn);這樣,既增加了老師的負(fù)擔(dān),也沒有達(dá)到很好考查學(xué)生學(xué)習(xí)的真實(shí)水平,造成教學(xué)上的失誤。 基于以上的原因,有很多從事軟件開發(fā)的人員,在試卷自動生成方面做了很大的研究。目前這一領(lǐng)域也以良好的發(fā)展姿態(tài)而不斷進(jìn)步,早期已經(jīng)有了一些類似的系統(tǒng),但經(jīng)過軟件開發(fā)人不斷的完善,大致形成了具備如下功能的系統(tǒng):添加刪除試題、試題交流、合并題庫、自定義試題參數(shù)等一些功能,其中試題自動生成功能非常實(shí)用。系統(tǒng)“體積”非常小,壓縮后只有幾百KB。平時只要將一些試題或從網(wǎng)絡(luò)下載的試題,按 “章節(jié)”、“題型”、“難易程度”等參數(shù)進(jìn)行歸類,錄入題庫,需要用時,只要輸入一些查詢條件即可查出所要找的試題。生成試卷非常方便,只需幾分鐘就可以生成一份試卷,生成的試卷還配有答案,更重要的是軟件能與WROD的完美結(jié)合,試題、答案的編輯、試卷的排版打印全部由WORD來完成,試卷和答案都可保存為*.DOC格式。 可見,試卷自動生成系統(tǒng)這方面的研究日益成熟,這不但減輕了教師的工作負(fù)擔(dān),也使得教學(xué)評價更加科學(xué)化、規(guī)范化,有利用教育事業(yè)的發(fā)展。2 開發(fā)工具簡介2.1 Dephi7.0軟件開發(fā)工具介紹2.1.1 Delphi 7.0的簡介Delphi7.0是美國Borland公司出品的一種強(qiáng)大的可視化軟件快速開發(fā)工具。內(nèi)容包括:IDE環(huán)境與編程基礎(chǔ)、基本語法與數(shù)據(jù)類型、運(yùn)算操作、流程控制、面向?qū)ο蟪绦蛟O(shè)計(jì)、用戶界面編程、文件系統(tǒng)管理、圖形圖像多媒體編程、數(shù)據(jù)庫的開發(fā)與應(yīng)用、控件編程技術(shù)、高級系統(tǒng)編程應(yīng)用、網(wǎng)絡(luò)協(xié)議處理、WindowsNetwork編程應(yīng)用、撥號網(wǎng)絡(luò)編程、常用網(wǎng)絡(luò)編程技巧、Web編程應(yīng)用、程序的調(diào)試與異常處理等部分。2.1.2 Delphi 7.0主要的控件及其屬性簡介TForm類的控件:BorderIcons屬性:用來控制程序標(biāo)題按鈕的可用性。BorderStyle屬性:用來控制程序邊框的樣式。Color屬性:用來控制程序界面的顏色。Font屬性:用來控制程序界面的字體。Position屬性:用來控制程序運(yùn)行時界面的顯示位置。TADOConnection類的控件:ConnectionString屬性:用來控制鏈接字符串。LoginPrompt屬性:用來控制鏈接時是否要輸入密碼。Connected屬性:用來控制是否進(jìn)行鏈接。TADOQuery類的控件:Connection屬性:用來指定和哪個TADOConnection控件相連。SQL屬性:用來添加向數(shù)據(jù)庫提交的SQL語句。Add方法:用來向SQL屬性添加SQL語句。Open方法:用來執(zhí)行SQL語言中的Select語句。ExecSQL方法:用來執(zhí)行任何SQL語句。FieldByName屬性:用來給數(shù)據(jù)庫的字段賦值。FidldValues屬性:用來取出數(shù)據(jù)庫的字段的。Append方法:用來向數(shù)據(jù)庫添加一條記錄。Edit方法:用來編輯當(dāng)前的記錄。Post:用來向數(shù)據(jù)庫提交所做的修改。TADOTable類的控件:Connection屬性:用來指定和哪個TADOConnection控件相連。Open方法:用來打開數(shù)據(jù)庫中指定的表。FieldByName屬性:用來給數(shù)據(jù)庫的字段賦值。FidldValues屬性:用來取出數(shù)據(jù)庫的字段的。Append方法:用來向數(shù)據(jù)庫添加一條記錄。Edit方法:用來編輯當(dāng)前的記錄。Post:用來向數(shù)據(jù)庫提交所做的修改。TDataSource類的控件:DataSet:用來指定和哪個數(shù)據(jù)集相連。TDBGrid類的控件:DataSource:用來指定和哪個TDataSource控件相連。TPageControl類的控件:ActivePage屬性:用來指定當(dāng)前活動的Page頁。TCheckTree類的控件:ReadOnly屬性:用來控制TCheckTree內(nèi)的Item是否可編輯。Item屬性:用來控制TCheckTree包含的所有樹形結(jié)點(diǎn)。Images屬性:用來指點(diǎn)TCheckTree中結(jié)點(diǎn)的圖標(biāo)。OnMouseUp事件:用來添加鼠標(biāo)放開事件所執(zhí)行的程序代碼。OnStateChange事件:用來添加結(jié)點(diǎn)狀態(tài)改變時的程序代碼。TFlatButton類的控件:Caption屬性:用來指定TFlatButton的標(biāo)題。OnClick事件:用來添加按鈕的單擊事件所執(zhí)行的程序代碼。2.2 SQL Server 2000數(shù)據(jù)庫簡介2.2.1 SQL Server 2000介紹SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的。于1988 年推出了第一個OS/2 版本在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了。Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上專注于開發(fā)推廣SQL Server 的Windows NT 版本,Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。在系統(tǒng)中用到的是Microsoft SQL Server 以后簡稱為SQL Server或MS SQL Server。SQL Server 2000 數(shù)據(jù)庫簡介數(shù)據(jù)庫(Database)是按一定的結(jié)構(gòu)和規(guī)則組織起來的相關(guān)數(shù)據(jù)的集合是綜合各用戶數(shù)據(jù)形成的數(shù)據(jù)集合,是存放數(shù)據(jù)的倉庫。數(shù)據(jù)庫技術(shù)目前是計(jì)算機(jī)處理與存儲數(shù)據(jù)的最有效、最成功的技術(shù);計(jì)算機(jī)網(wǎng)絡(luò)的特點(diǎn)則是資源共享;數(shù)據(jù)+資源共享這兩種技術(shù)結(jié)合在一起即成為在今天廣泛應(yīng)用的網(wǎng)絡(luò)數(shù)據(jù)庫(也叫 WEB Database)。SQL Server 是 微 軟 公 司 開 發(fā) 的 一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),以Transact_SQL 作為它的數(shù)據(jù)庫查詢和編程語言9。T-SQL 是結(jié)構(gòu)化查詢語言 SQL的一種,支持 ANSI SQL-92 標(biāo)準(zhǔn),它由 SQL Server 中具有存儲檢索數(shù)據(jù)功能的客戶端組件組成。SQL Server 使用分層通信體系結(jié)構(gòu),將應(yīng)用程序與基礎(chǔ)的網(wǎng)絡(luò)和協(xié)議層次分離。這種體系結(jié)構(gòu)就可以支持在不同的網(wǎng)絡(luò)環(huán)境中部署相同的應(yīng)用程序。SQL Server 采用二級安全驗(yàn)證、登錄驗(yàn)證及數(shù)據(jù)庫用戶帳號和角色的許可驗(yàn)證。SQL Server 支持兩種身份驗(yàn)證模式:Windows NT 身份驗(yàn)證和 SQL Server身份驗(yàn)證。SQL Server 為公共的管理功能提供了預(yù)定義的服務(wù)器和數(shù)據(jù)庫角色,可以很容易為某一特定用戶授予一組選擇好的許可權(quán)限。SQL Server包含了客戶端組件和服務(wù)器組件,可以在不同的操作平臺上運(yùn)行,支持多種不同類型的網(wǎng)絡(luò)協(xié)議如 TCP/IP、IPX/SPX、Apple Talk 等。SQLServer 在服務(wù)器端的軟件運(yùn)行平臺是 Windows NT, Windows9x,在客戶端可以是 Windows3.x,Windows NT, Windows9x,也可以采用其它廠商開發(fā)的系統(tǒng)如Unix,Apple Macintosh 等。2.2.2 數(shù)據(jù)庫連接方式選擇Delphi連接數(shù)據(jù)庫的主要方式有兩種:一是:BDE ,二是ADO 。現(xiàn)在我們來大致比較一下這兩種技術(shù)的優(yōu)缺點(diǎn):BDE(Borland Database Engine)是Delphi頗具特色的數(shù)據(jù)庫連接管理技術(shù)。憑借窗體和報(bào)表,BDE可以訪問諸如Paradox,dBASE,本地InterBase服務(wù)器的數(shù)據(jù)庫,也可訪問遠(yuǎn)程數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫,如Oracle,SyBase,Informix等 CS數(shù)據(jù)庫中的數(shù)據(jù)庫,也可訪問經(jīng)ODBC可訪問的數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)庫。ADO(ActiveX Data Objects)是微軟提供的一項(xiàng)技術(shù)。通過ADO,可以方便的訪問各種類型的數(shù)據(jù)庫,特別是OLEDB數(shù)據(jù)庫。ADO已成為訪問數(shù)據(jù)庫的新的標(biāo)準(zhǔn)接口。從Delphi 6.0開始Delphi添加了對ADO的支持,以便讓用戶能迅速實(shí)現(xiàn)對終端用戶用來做商業(yè)決策的數(shù)據(jù)庫的一致性訪問,結(jié)合Delphi本身的開發(fā)式數(shù)據(jù)組件結(jié)構(gòu),程序員可以很快地建立應(yīng)用程序,用來把自己的商業(yè)數(shù)據(jù)庫通過Internet發(fā)送給客戶,最終用戶以及整個銷售環(huán)節(jié)。通過ADO,Delphi 7.0也能讓用戶快速訪問關(guān)系或非關(guān)系數(shù)據(jù)庫以及E-Mail和商務(wù)文件系統(tǒng)。這兩者提供了幾乎相同的功能,在進(jìn)行產(chǎn)品開發(fā)時,勢必要做一個精心的比較。雖然ADO技術(shù)提出的時間不長,并被定位為工業(yè)標(biāo)準(zhǔn)的,而且其在性能上由于當(dāng)前沒有良好的數(shù)據(jù)庫引擎支持,其性能還不夠完美,但是,我們應(yīng)該要注意到Borland公司已經(jīng)宣布停止發(fā)展BDE了,其性能被ADO超越也是遲早的事,因此,在開發(fā)長期應(yīng)用的產(chǎn)品時,推薦采用ADO技術(shù)。這樣還有另一個好處是,在進(jìn)行產(chǎn)品分發(fā)時,可以避開大量BDE的鏈接庫DLL的分發(fā)?;谝陨显蛭覀冞x擇了ADO做為我們的數(shù)據(jù)庫訪問組件。3 需求分析需求分析簡單的說就是分析用戶的要求。需求分析是設(shè)計(jì)數(shù)據(jù)庫的起,需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。3.1 需求分析的任務(wù)需求分析的任務(wù)就是解決“做什么”的問題,就是要全面地理解用戶的各項(xiàng)要求,并準(zhǔn)確地表達(dá)所接受的用戶需求。可行性研究階段產(chǎn)生的文檔,特別是數(shù)據(jù)流圖,是需求分析的出發(fā)點(diǎn)。數(shù)據(jù)流圖中已經(jīng)劃分出系統(tǒng)必須完成的許多基本功能,在需求分析階段系統(tǒng)分析員將仔細(xì)研究這些功能并將它們具體化。在這個階段結(jié)束時形成的文檔中應(yīng)該包括詳細(xì)的數(shù)據(jù)流圖、數(shù)據(jù)字典和一組簡明的算法描述。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。在需求分析的過程中,應(yīng)該劃分出系統(tǒng)必須完成的功能有那些,并且應(yīng)該明確地列出某些功能雖然不屬于當(dāng)前系統(tǒng)開發(fā)范疇,將來很可能會提出來的要求。這樣做的目的是在設(shè)計(jì)過程中對系統(tǒng)將來可能的擴(kuò)充和修改做準(zhǔn)備,以便一旦需要可以比較容易地進(jìn)行這種擴(kuò)充和修改。任何一個軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計(jì)都有很大影響,因此,必須分析系統(tǒng)的數(shù)據(jù)需求。3.2 用戶需求1) 系統(tǒng)管理員用戶的基本權(quán)限和操作 系統(tǒng)管理員用戶登陸后除了可以進(jìn)行對試卷的自動生成,手動生成,題庫的錄入,題庫的維護(hù)等功能進(jìn)行操作,還可以對本軟件的選項(xiàng)設(shè)置一個選項(xiàng)可以進(jìn)行用戶的管理(用戶的增加,用戶的修改),數(shù)據(jù)庫管理(數(shù)據(jù)庫的備份)等操作。2) 普通用戶的基本權(quán)限和操作普通用戶登陸后除了選項(xiàng)設(shè)置按鈕不可以用外,其他的基本功能都可以進(jìn)行操作。3.3 功能需求本系統(tǒng)是試卷自動生成系統(tǒng),主要有二方面的功能需求,其分別是:(1) 試卷功能:其中手動生成試卷是為了能按照用戶的意愿組卷,用戶可以按試題所涉及的知識點(diǎn)瀏覽各種題型,生成一份知識覆蓋面廣泛的試卷,并能保存試卷。自動生成試卷:用戶能選擇生成試卷的題型,試題數(shù)量,試題難度,以及試卷分值,且有預(yù)覽試卷,預(yù)覽答案,保存試卷和答案的功能。(2) 題庫功能:為了用戶能方便管理龐大的試題題庫,實(shí)現(xiàn)各種常用或者自定義題型的錄入、修改、查詢、刪除等功能。3.4 環(huán)境需求操作系統(tǒng):Windows 2000Windows XP數(shù)據(jù)庫:SQLServer2000開發(fā)環(huán)境:Dephi 7.0開發(fā)語言: Visual Basic4 設(shè)計(jì)階段4.1 數(shù)據(jù)庫表設(shè)計(jì)根據(jù)任務(wù)書的規(guī)定,現(xiàn)設(shè)計(jì)如下的數(shù)據(jù)庫表格:表:用戶表(YH)字段中文名字段英文名字段類型字段長度主鍵姓名UserName文本20是密碼Password文本18組GroupID數(shù)字長整型權(quán)限QXID數(shù)字長整型 表:題型(Type)字段中文名字段英文名字段類型字段長度主鍵編號TypeID自動編號是名稱TypeName文本20分值FZ數(shù)字長整型 表:難易度(NYD)字段中文名字段英文名字段類型字段長度主鍵編號BH自動編號是難易度NYD文本表:用戶組(UserGroup)字段中文名字段英文名字段類型字段長度主鍵編號GroupID自動編號是組名GroupName文本20表:選擇題(XuanZeTi)字段中文名字段英文名字段類型字段長度主鍵題號TH自動編號是題型TypeID數(shù)字長整型題目TM備注選項(xiàng)AA文本255選項(xiàng)BB文本255選項(xiàng)CC文本255選項(xiàng)DD文本255正確答案DA文本難易度NY數(shù)字長整型出自章節(jié)CZ文本50表:填空題(TianKong)字段中文名字段英文名字段類型字段長度主鍵題號BH自動編號是題型TypeID數(shù)字長整型題目TM備注空1K1文本100空2K2文本100空3K3文本100空4K4文本100空5K5文本100應(yīng)填數(shù)YTS數(shù)字長整型難易度NY數(shù)字長整型出自章節(jié)CZ文本50表:簡答題(JianDaTi)字段中文名字段英文名字段類型字段長度主鍵題號BH自動編號是題型TypeID數(shù)字長整型題目TM備注答案DA備注難易度NY數(shù)字長整型出自章節(jié)CZ文本50表8:原理論述題(YuanLiLunShu)字段中文名字段英文名字段類型字段長度主鍵題號BH自動編號是題型TypeID數(shù)字長整型題目TM備注答案DA備注難易度NY數(shù)字長整型出自章節(jié)CZ文本50表9:系統(tǒng)設(shè)計(jì)題(XiTongSheJi)字段中文名字段英文名字段類型字段長度主鍵題號BH自動編號是題型TypeID數(shù)字長整型題目TM備注表格BG文本100答案DA備注難易度NY數(shù)字長整型出自章節(jié)CZ文本50答案表格DABG文本50題目表格TMBG文本50表10:系統(tǒng)操作題(XiTongCZ)字段中文名字段英文名字段類型字段長度主鍵題號BH自動編號是題型TypeID數(shù)字長整型題目TM備注難易度NY數(shù)字長整型出自章節(jié)CZ文本50題目表格TMBG文本50問1答案W1DA文本255問1答案表格W1DABG文本50問2答案W2DA文本255問2答案表格W2DABG文本50問3答案W3DA文本255問3答案表格W3DABG文本50問4答案W4DA文本255問4答案表格W4DABG文本50問5答案W5DA文本255問5答案表格W5DABG文本50問題數(shù)WTS數(shù)字長整型4.2 詳細(xì)設(shè)計(jì)4.2.1 抽取現(xiàn)有試卷的流程圖:圖 14.2.2 自動生成試卷的流程圖:圖 24.2.3 手動生成試卷的流程圖:圖 34.3 試卷自動組卷算法設(shè)計(jì)4.3.1 現(xiàn)有算法分析自動組卷是考試系統(tǒng)自動化或半自動化操作的核心目標(biāo)之一,而如何保證生成的試卷能最大程度的滿足用戶的不同需要,并具有隨機(jī)性、科學(xué)性、合理性,這是實(shí)現(xiàn)中的一個難點(diǎn)。尤其在交互式環(huán)境下用戶對于組卷速度要求較高,而一個理論上較完美的算法可能會以犧牲時間作為代價,往往不能達(dá)到預(yù)期的效果。因此,選擇一個高效、科學(xué)、合理的算法是自動組卷的關(guān)鍵。以往的具有自動組卷功能的考試系統(tǒng)大多采用隨機(jī)選取法和回溯試探法。隨機(jī)選取法根據(jù)狀態(tài)空間的控制指標(biāo),由計(jì)算機(jī)隨機(jī)的抽取一道試題放入試題庫,此過程不斷重復(fù),直到組卷完畢,或已無法從題庫中抽取滿足控制指標(biāo)的試題為止。該方法結(jié)構(gòu)簡單,對于單道題的抽取運(yùn)行速度較快,但是對于整個組卷過程來說組卷成功率低,即使組卷成功,花費(fèi)時間也令人難以忍受。尤其是當(dāng)題庫中各狀態(tài)類型平均出題量較低時,組卷往往以失敗而告終?;厮菰囂椒ㄟ@是將隨機(jī)選取法產(chǎn)生的每一狀態(tài)類型紀(jì)錄下來,當(dāng)搜索失敗時釋放上次紀(jì)錄的狀態(tài)類型,然后再依據(jù)一定的規(guī)律變換一種新的狀態(tài)類型進(jìn)行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點(diǎn)為止,這種有條件的深度優(yōu)先算法,對于狀態(tài)類型和出題量都較少的題庫系統(tǒng)而言,組卷成功率較好。 分析上述兩種算法的優(yōu)缺點(diǎn),不難發(fā)現(xiàn),在限制條件狀態(tài)空間的控制下,隨機(jī)選取法有時能夠抽取出一組令用戶滿意的試題。只不過由于它隨機(jī)選取試題的范圍太大,無法確定目前條件下哪些區(qū)域能夠抽取合適的試題,反而可能在那些已經(jīng)證明是無法抽取合適試題的區(qū)域內(nèi)反復(fù)選題,進(jìn)行大量的無效操作進(jìn)入死循環(huán),最終導(dǎo)致組卷失敗。回溯試探法組卷成功率高,但它是以犧牲大量的時間為代價的,由于本軟件只是個小型的單科考試組卷系統(tǒng),結(jié)構(gòu)簡單,出題量也較少,所以本系統(tǒng)選擇相對簡單,組卷成功率較好的回溯試探法進(jìn)行組卷。4.3.2 回溯試探法的應(yīng)用回溯算法也叫試探法,它是一種系統(tǒng)地搜索問題的解的方法?;厮菟惴ǖ幕舅枷胧牵簭囊粭l路往前走,能進(jìn)則進(jìn),不能進(jìn)則退回來,換一條路再試。用回溯算法解決問題的一般步驟為: 1、 定義一個解空間,它包含問題的解;2、 利用適于搜索的方法組織解空間;3、 利用深度優(yōu)先法搜索解空間;4、 利用限界函數(shù)避免移動到不可能產(chǎn)生解的子空間。 問題的解空間通常是在搜索問題的解的過程中動態(tài)產(chǎn)生的,這是回溯算法的一個重要特性。 回溯法是一個既帶有系統(tǒng)性又帶有跳躍性的搜索算法。它在包含問題的所有解的解空間樹中,按照深度優(yōu)先的策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。算法搜索至解空間樹的任一結(jié)點(diǎn)時,總是先判斷該結(jié)點(diǎn)是否肯定不包含問題的解。如果肯定不包含,則跳過對以該結(jié)點(diǎn)為根的子樹的系統(tǒng)搜索,逐層向其祖先結(jié)點(diǎn)回溯。否則,進(jìn)入該子樹,繼續(xù)按深度優(yōu)先的策略進(jìn)行搜索。回溯法在用來求問題的所有解時,要回溯到根,且根結(jié)點(diǎn)的所有子樹都已被搜索遍才結(jié)束。而回溯法在用來求問題的任一解時,只要搜索到問題的一個解就可以結(jié)束。搜索:全面訪問所有可能的情況,分為兩種:不考慮給定問題的特有性質(zhì),按事先頂好的順序,依次運(yùn)用規(guī)則,即盲目搜索的方法;另一種則考慮問題給定的特有性質(zhì),選用合適的規(guī)則,提高搜索的效率,即啟發(fā)式的搜索。本系統(tǒng)使用的是回溯法的啟發(fā)式搜索,以試題題型,試題分值和選題數(shù)量為約束條件進(jìn)行隨機(jī)搜索,而把設(shè)置的試卷總分?jǐn)?shù)作為一個解空間。如果各題型分值之和等于用戶設(shè)置的試卷總分?jǐn)?shù),則產(chǎn)生一個有效解,系統(tǒng)生成一份試卷,試題的題型,編號,分值等信息儲存進(jìn)試題庫表中。通過系統(tǒng)的預(yù)覽試卷功能,系統(tǒng)通過所存信息搜索數(shù)據(jù)庫,獲取試題內(nèi)容,并輸入Word文檔中組成一份完整試卷。5 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)是一個題庫與試卷生成管理系統(tǒng),重點(diǎn)在于組卷,所以主要是對關(guān)于試卷生成的實(shí)現(xiàn)的說明。本系統(tǒng)包括題庫更新與維護(hù),自動生成試卷和手動生成試卷三大功能。5.1 登錄模塊設(shè)計(jì)下圖軟件的登陸界面(圖 4)圖 4在這里輸入用戶名及密碼就可以進(jìn)行入軟件的主界面了!5.2 系統(tǒng)主界面設(shè)計(jì)系統(tǒng)的主界面是我們工作的主要區(qū)域,在這里有系統(tǒng)的所有功能的控制面板。其中主要的功能模塊有用戶管理、題庫設(shè)置、題型設(shè)置、試卷管理、試卷生成等。其中用戶管理只有在系統(tǒng)管理員用戶登錄時可用。系統(tǒng)管理員可以管理其他系統(tǒng)管理員的用戶和一般用戶的權(quán)限。系統(tǒng)主界面見圖5:圖 55.3 用戶管理模塊設(shè)計(jì)用戶管理功能有系統(tǒng)管理員和一般用戶的添加修改,用戶權(quán)限的修改。系統(tǒng)管理員通過登陸后點(diǎn)擊 選項(xiàng)設(shè)置 可以增加,修改,刪除其他的管理員,一般用戶的選項(xiàng)設(shè)置按鈕是不可用狀態(tài)。如下圖6所示:圖 65.4 題庫管理模塊設(shè)計(jì)題庫管理模塊是整個系統(tǒng)的管理模塊,可以對系統(tǒng)的中的題庫的錄入和題庫維護(hù)。5.4.1 題庫錄入通過題庫錄入按鈕我們可以向題庫中添加我們想要以后用的試題,可以錄入的試題可以是選擇題,填空題,簡答題,原理論述題,系統(tǒng)設(shè)計(jì)題,系統(tǒng)操作題。如下圖7所示: 圖 75.4.2 題庫維護(hù)題庫維護(hù)是對已經(jīng)錄入的題目進(jìn)行更新,主要進(jìn)行試題的修改,刪除,查詢等功能的實(shí)現(xiàn)。如圖7所示: 圖 75.5 試卷生成模塊試卷的生成主要有兩種形式,一是手動生成試卷,該方法生成的試卷由于是人為生成知識面覆蓋較好,適合試題范圍小,試題數(shù)目不多的情況。二是自動生成試卷,該方法生成試卷速度快,適合出題范圍比較大的試卷生成。試卷生成時我們可以先預(yù)覽要生成的試卷確定滿意后再輸出為我們學(xué)要的格式如doc。5.5.1 自動生成試卷下圖 8是自動生成試卷的界面:圖 8上圖中標(biāo)為“第一部分”的樹形控件是用來設(shè)置要生成的試卷的試題的抽取范圍。上圖中標(biāo)為“第二部分”的是用來設(shè)置各種題型的量及其分?jǐn)?shù)。上圖中標(biāo)為“第三部分”的是功能按鈕,其中“生成試卷”用來根據(jù)“第二部分”的設(shè)置自動生成一份試卷?!邦A(yù)覽試卷”是用來預(yù)覽剛生成的試卷。“試卷答案”是用來查看剛生成的試卷的答案。“保存試卷”是用來保存剛生成的試卷的信息。5.5.2 手動生成試卷下圖是手動生成試卷的界面圖:圖 9上圖中標(biāo)為“第一部分”的樹形控件是用來設(shè)置要生成的試卷的試題的抽取范圍。上圖中標(biāo)為“第二部分”的是用來設(shè)置各種題型的量及其分?jǐn)?shù)。上圖中標(biāo)為“第三部分”的是用來設(shè)置試卷的部分。上圖中標(biāo)為“第五部分”的是用來選擇要加入試卷的試題。上圖中標(biāo)為“第四部分”的是功能按鈕,其中“加入試卷”用來把在“第五部分”的選擇試題加入到要生成的試卷中?!氨4嬖嚲怼笔怯脕肀4鎰偵傻脑嚲淼男畔?。6 測試及改進(jìn)在系統(tǒng)初步完成到實(shí)際應(yīng)用期間,做過了多反面的測試,例如:功能性測試,測試系統(tǒng)是否能滿足用戶需求的基本功。數(shù)據(jù)校驗(yàn),檢查輸入輸出以及運(yùn)算是否正確。安全性測試,檢驗(yàn)系統(tǒng)對非法信息的過濾情況,以保證系統(tǒng)運(yùn)行安全。6.1 系統(tǒng)的測試目的為保證軟件質(zhì)量,必須重視軟件開發(fā)后期進(jìn)行的軟件驗(yàn)收與確認(rèn)階段進(jìn)行的軟件測試工作,即軟件可靠性測試。除了由開發(fā)人員對自己開發(fā)的模塊、子系統(tǒng)和系統(tǒng)進(jìn)行自測試外,為了保證測試的客觀性,還必須由非直接參與開發(fā)的測試組人員對開發(fā)的軟件系統(tǒng)進(jìn)行“第方測試”。作為計(jì)算機(jī)軟件產(chǎn)品,有時還需要由專業(yè)的測試機(jī)構(gòu)進(jìn)行測試。本系統(tǒng)的測試過程分為以下三個階段單元測試由開發(fā)人員進(jìn)行。集成測試由開發(fā)人員進(jìn)行。驗(yàn)收測試由非直接進(jìn)行開發(fā)的人員組成的測試組進(jìn)行,開發(fā)人員進(jìn)行相關(guān)配合。軟件測試是通過運(yùn)行測試集進(jìn)行的。測試集是根據(jù)軟件設(shè)計(jì)的總體目標(biāo)、系統(tǒng)設(shè)計(jì)說明和分子系統(tǒng)模塊子模塊的設(shè)計(jì)說明功能目標(biāo)和性能指標(biāo)而設(shè)計(jì)的測試實(shí)例的集合。測試集由測試組和組內(nèi)的測試?yán)M成。測試?yán)x相關(guān)輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果,通過測試?yán)膱?zhí)行,發(fā)現(xiàn)程序運(yùn)行狀況的正確與否。對輸出結(jié)果不符合預(yù)期結(jié)果的程序給出測試失敗的結(jié)論,并由測試人員和開發(fā)人員進(jìn)行分析和以便對程序進(jìn)行修改對符合預(yù)期結(jié)果的程序得出測試通過的結(jié)論。6.2 測試說明6.2.1 測試分類軟件系統(tǒng)的測試通常采用“黑盒子”的測試方法,即通過輸入測試數(shù)據(jù)觀察被測對象的外部可觀察的行為。軟件系統(tǒng)的測試可分為兩大類:功能測試性能測試功能測試的目的在于通過測試數(shù)據(jù)的輸入,觀察被測對象的輸出是否符合期望值。測試覆蓋范圍包括用戶界面的設(shè)置是否符合設(shè)計(jì)要求、被測對象是否全面覆蓋了設(shè)計(jì)說明中要求的全部功能、每個功能模塊子模塊對輸入數(shù)據(jù)的響應(yīng)是否符合期望值對正常范圍的輸入數(shù)據(jù)的正確響應(yīng)和對超界輸入數(shù)據(jù)的拒絕和提示,會否引起系統(tǒng)死鎖等。性能測試的主要目的在于通過測試數(shù)據(jù)的輸入或測試程序的運(yùn)行觀察被測對象的處理能力和獲取相關(guān)的定量測試指標(biāo)。性能測試還可能包括其它一些指標(biāo),如可靠性、容錯性。本系統(tǒng)的性能測試主要從兩個方面進(jìn)行非法輸入測試和疲勞測試。其中,非法輸入測試指的是通過越界數(shù)據(jù)或非約定類數(shù)據(jù)的輸入,觀察被測系統(tǒng)對數(shù)據(jù)刊接受性的檢測和應(yīng)答承受能力。鑒于本系統(tǒng)的輸入數(shù)據(jù)主要來自用戶鍵盤輸入,輸入數(shù)據(jù)率不可能很高,因此,疲勞測試主要是針對需要進(jìn)行大量數(shù)據(jù)處理的功能進(jìn)行,通過高強(qiáng)度的計(jì)算查詢、計(jì)算等來測試整個系統(tǒng)的承受能力,附帶地考驗(yàn)響應(yīng)時間是否能夠?yàn)橛脩羲萑獭?.2.2 測試集 測試點(diǎn)的設(shè)置如表6-1:表6-1 測試集設(shè)置表測試類型測試點(diǎn)功能單元測試分別由各模塊和其子模塊功能設(shè)置的“測試用例”組成。對規(guī)定范圍輸入數(shù)據(jù)的正確響應(yīng),對越界的輸入數(shù)據(jù)進(jìn)行越界提示。權(quán)限功能測試針對系統(tǒng)動態(tài)設(shè)置的權(quán)限構(gòu)建的“權(quán)限與可操作模塊操作能力的控制”檢查以及用戶對數(shù)據(jù)讀、寫、修改能力的控制檢查。響應(yīng)時間測試分別針對各角色的用戶操作響應(yīng)時間測試:常規(guī)非大量處理性用戶鍵入后響應(yīng)時間=1秒查詢響應(yīng)時間=5秒壓力測試多個用戶同時訪問系統(tǒng),模擬巨大的工作負(fù)荷查看應(yīng)用程序在峰值使用情況下如何執(zhí)行操作,是否能正常運(yùn)行6.3 測試過程根據(jù)開發(fā)階段、測試人員和測試目的,選擇測試組、測試用例。運(yùn)行相應(yīng)的測試組、用例,每個測試用例重復(fù)次,將測試結(jié)果相同的與預(yù)期的功能模塊比較,如果相符合,則對此步驟的測試結(jié)果值為通過,否則為不通過。對未通過的測試組、例進(jìn)行分析,找出失敗原因,并對程序進(jìn)行相應(yīng)的修改。對次測試不同的進(jìn)行更多的測試并分析原因。根據(jù)以上測試過程,如果每項(xiàng)均符合要求,即每項(xiàng)測試結(jié)果值均為“通過”,則表示本系統(tǒng)的測試己經(jīng)通過。6.4 測試結(jié)果對試卷自動生成系統(tǒng)的測試工作除發(fā)現(xiàn)了部分編程錯誤外,在進(jìn)程同步、負(fù)載和安全性方面也存在一些問題。經(jīng)過多次測試,在己定義的測試集
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防齲洗牙護(hù)理常規(guī)
- 手術(shù)麻醉插管護(hù)理
- 肺部結(jié)節(jié)術(shù)后護(hù)理措施
- 開腹術(shù)后護(hù)理要點(diǎn)
- 河北2025年河北肅寧縣招聘107名事業(yè)單位工作人員筆試歷年參考題庫附帶答案詳解
- 云南2025年云南盈江縣農(nóng)業(yè)農(nóng)村局林業(yè)和草原局下屬事業(yè)單位引進(jìn)研究生筆試歷年參考題庫附帶答案詳解
- 2025至2031年中國濃咖啡沖泡機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國數(shù)顯四開切紙機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國平衡重式電動車行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國工業(yè)吸塑包裝制品行業(yè)投資前景及策略咨詢研究報(bào)告
- 汽車4S店老客戶關(guān)懷活動方案
- 非相干散射雷達(dá)調(diào)研報(bào)告
- 醫(yī)院崗位設(shè)置與人員編制標(biāo)準(zhǔn)
- 板式家具生產(chǎn)工藝PPT通用課件
- 原油管道工程動火連頭安全技術(shù)方案
- 系統(tǒng)生物學(xué)(課堂PPT)
- 土石方場地平整施工組織方案
- 外周血單個核細(xì)胞分離方法探討
- LED亮度自動調(diào)節(jié)系統(tǒng)設(shè)計(jì)
- SD7V16可變排量汽車空調(diào)壓縮機(jī)_圖文
- 食品安全信用等級評分表 餐飲類
評論
0/150
提交評論