




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
西安石油大學本科畢業(yè)設計(論文)PAGEPAGE14西安石油大學本科畢業(yè)設計(論文)題庫與試卷生成系統(tǒng)的設計與開發(fā)摘要:教學效果評價是教學工作的一個重要環(huán)節(jié),通常的教學評價方式多為通過試卷進行考試,因而試卷的質量將直接影響到教學評價的結果。一般情況下,教師出試卷時要么到龐大的題庫里一道一道的把題目挑選出來,或是從幾本相關的書里把題挑選出來組成一份試卷,這樣既費時又費力,而且很難保證試題的覆蓋面和把握試卷的難度。為了將老師從繁重的命題工作中解放出來,為了提高命題的質量和管理的現(xiàn)代化、科學化、規(guī)范化,本文開發(fā)一個試卷生成系統(tǒng)。本文在充分的需求分析基礎上,設計和實現(xiàn)了一個試卷生成系統(tǒng),主要完成了手動生成試卷、自動生成試卷、抽取現(xiàn)有試卷和用戶管理等功能。通過測試,系統(tǒng)在Windows2000/XP/Vista平臺下能穩(wěn)定運行,且基本達到了預期的設計目標,有一定的實用價值。關鍵詞:試題庫;試卷生成;VisualC#;算法TestLabraryandPaperGenerationSystemDesignandDevelopmentAbstract:Valueofteachingisanimportanttatheforteaching,usuallyavalueofteachingisfromaexam,soaqualitypaperstraighttouchesthevalueofteaching.Thegeneralsituation,teacherthinksoutapaper,reachhugeexampooleachfindsoutthequestion,orshoulderthequestiontogetheroutfromseveralrelevantbooks.Time-consumingandalsostrenuouslikethis,andverydifficulttoguaranteecoveragerateandpaperdegreeofdifficultyofexaminationquestion.Helpingtheteacherdisengagesfromtheburdensomepropositionaboutexam,Inordertoimprovethequalityandmanagementpropositionofthemodern,scientific,standardized,thepaperdevelopedatestgenerationsystem.PaperGenerationSystemisdesignedandimplementedbasedonthesufficientneedsanalysisinthispaper,Itmainlyimplementssomefunctionsincludeinmanuallyandautomaticallygeneratingpapers,extratingsomeofexistingpapers,maintaininguserinformationandsoon,thesystemcanoperatestablyinWindows2000/XP/Vistaplatform,reachtheexpectedgoalandhavesomepracticalvalue.Keywords:testlibrary;papergeneration;visualC#;algorithmic西安石油大學本科畢業(yè)設計(論文)目錄39271緒論 1118741.1開發(fā)背景與研究現(xiàn)狀 115087論文組織 1208502開發(fā)工具簡介 2117362.1VisualC# 2316192.1.1數(shù)據庫連接方式 2250522.2SQLServer2005 463922.3SQL語言 4278053需求與可行性分析 68304用戶需求 627559功能需求 6156493.3業(yè)務流程圖 7147873.4性能需求 744453.4.1加載數(shù)據效率要求 723.4.2界面風格要求 7312083.5可行性分析 820883.5.1管理可行性 8167063.5.2經濟可行性 890473.5.3技術可行性 8271643.6數(shù)據流程分析 820269數(shù)據流程圖 9157983.6.2數(shù)據字典 9142663.7開發(fā)環(huán)境 15173.7.1軟件環(huán)境 15171073.7.2硬件環(huán)境 15108584系統(tǒng)設計 1667874.1系統(tǒng)功能模塊圖 16292584.2數(shù)據庫設計 1823728實體E-R圖 18190684.2.2數(shù)據庫的存儲結構 19131944.3組卷算法 21298844.3.1現(xiàn)有算法分析 21166404.3.2回溯試探法的應用 21240214.4自動生成設計 22120054.5手動生成設計 23326965系統(tǒng)實現(xiàn) 25207755.1登錄模塊設計 2585345.2系統(tǒng)主界面設計 2529378用戶管理模塊設計 26190125.4題庫和題型設置模塊 26225285.5試卷生成模塊 2826882結論 3127603參考文獻 322709致謝 331緒論1.1開發(fā)背景與研究現(xiàn)狀在以往的教學中,老師出試卷大多由手工出卷,這樣生成的試卷往往會有知識點分布太集中、難易程度不當、分值分布不均等一些缺點;這樣,既增加了老師的負擔,也沒有達到很好考查學生學習的真實水平,造成教學上的失誤。
基于以上的原因,有很多從事軟件開發(fā)的人員,在試卷自動生成方面做了很大的研究。目前這一領域也以良好的發(fā)展姿態(tài)而不斷進步,早期已經有了一些類似的系統(tǒng),但經過軟件開發(fā)人不斷的完善,大致形成了具備如下功能的系統(tǒng):添加刪除試題、試題交流、合并題庫、自定義試題參數(shù)等一些功能,其中試題共享功能非常實用,主要用于同事間交流試題。系統(tǒng)“體積”非常小,壓縮后只有幾百KB。平時只要將一些試題或從網絡下載的試題,按“科目”、“章節(jié)”、“題型”、“難易程度”四個參數(shù)進行歸類,錄入題庫,需要用時,只要輸入一些查詢條件即可查出所要找的試題。生成試卷非常方便,只需幾分鐘就可以生成一份試卷,生成的試卷還配有答案,更重要的是軟件能與WROD、WPS等的完美結合,試題、答案的編輯、試卷的排版打印全部由WORD來完成,試卷和答案都可保存為*.DOC格式或者*.RTF的富文本格式,如果你的電腦上沒有word這類文字處理軟件還可保存為*.TXT格式??梢?,試卷自動生成系統(tǒng)這方面的研究日益成熟,這不但減輕了教師的工作負擔,也使得教學評價更加科學化、規(guī)范化,有利用教育事業(yè)的發(fā)展。1.2論文組織論文全面詳細地介紹了試卷生成系統(tǒng)的設計思想、實現(xiàn)原理和使用技巧。論文按如下方式組織。第一部分是主要是對系統(tǒng)的開發(fā)背景和研究現(xiàn)狀進行詳細的介紹。第二部分主要是對開發(fā)工具的介紹。第三部分是主要是對本系統(tǒng)做詳細的需求和可行性分析。第四、五、六部分是本文的主要內容,是軟件的開發(fā)設計。第四部分主要對于系統(tǒng)組卷的設計,重點介紹了自動生成試卷,手動生成試卷和抽取現(xiàn)有試卷三種組卷算法。而第五部分是系統(tǒng)的實現(xiàn)部分,具體的分析了三種組卷算法的實現(xiàn)過程。同時也仔細說明了系統(tǒng)實現(xiàn)過程中的關鍵技術。第六部分是系統(tǒng)的測試部分,利用測試實例來說明系統(tǒng)的可用性和數(shù)據的準確性。
2開發(fā)工具簡介2.1VisualC#C#(讀做"Csharp",中文譯音暫時沒有。專業(yè)人士一般讀"Csharp",現(xiàn)在很多非專業(yè)一般讀"C井"。C#是微軟公司發(fā)布的一種面向對象的、運行于.NETFramework之上的高級程序設計語言。#是一種安全的、穩(wěn)定的、簡單的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。并且C#成為ECMA與ISO標準規(guī)范。C#看似基于C++寫成,但又融入其它語言如Delphi、Java、VB等。C#是一種現(xiàn)代的面向對象語言。它使程序員快速便捷地創(chuàng)建基于Microsoft.NET平臺的解決方案。這種框架使C#組件可以方便地轉化為XML網絡服務,同時他增強了開發(fā)者的效率,同時也致力于消除編程中可能導致嚴重結果的錯誤。C#使C/C++程序員可以快速進行網絡開發(fā),并保持了開發(fā)者所需要的強大性和靈活性。數(shù)據庫連接方式從簡單的文本文件到各種復雜的關系型數(shù)據庫,數(shù)據庫應用程序需要面對各種各樣的數(shù)據源。微軟的.NET平臺提供了作為應用程序和OLE-DB連接的橋梁。增強了對非連接編程模式的支持,并支持RICHXML.由于傳送的數(shù)據都是XML格式的,因此任何能夠讀取XML格式的應用程序都可以進行數(shù)據處理。事實上,接受數(shù)據的組件不一定要是ADO.NET組件,它可以是基于一個MicrosoftVisualStudio的解決方案,也可以是任何運行在其它平臺上的任何應用程序。
是一組用于和數(shù)據源進行交互的面向對象類庫。通常情況下,數(shù)據源是數(shù)據庫,但它同樣也能夠是文本文件、Excel表格或者XML文件。
允許和不同類型的數(shù)據源以及數(shù)據庫進行交互。然而并沒有與此相關的一系列類來完成這樣的工作。因為不同的數(shù)據源采用不同的協(xié)議,所以對于不同的數(shù)據源必須采用相應的協(xié)議。一些老式的數(shù)據源使用ODBC協(xié)議,許多新的數(shù)據源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據源,這些數(shù)據源都可以通過.NET的類庫來進行連接。
提供與數(shù)據源進行交互的相關的公共方法,但是對于不同的數(shù)據源采用一組不同的類庫。這些類庫稱為DataProviders,并且通常是以與之交互的協(xié)議和數(shù)據源的類型來命名的。表1列處了一些常見的dataproviders,以及它們所使用的API前綴,和允許進行交互的數(shù)據源類型。
包含的對象:
SqlConnection對象
和數(shù)據庫交互,你必須連接它。連接幫助指明數(shù)據庫服務器、數(shù)據庫名字、用戶名、密碼,和連接數(shù)據庫所需要的其它參數(shù)。connection對象會被command對象使用,這樣就能夠知道是在哪個數(shù)據庫上面執(zhí)行命令。
與數(shù)據庫交互的過程意味著你必須指明想要發(fā)生的操作。這是依靠command對象執(zhí)行的。你使用command對象來發(fā)送SQL語句給數(shù)據庫。command對象使用connection對象來指出與哪個數(shù)據庫進行連接。你能夠單獨使用command對象來直接執(zhí)行命令,或者將一個command對象的引用傳遞給SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據的命令。
sqlDataReader對象
許多數(shù)據操作要求你只是讀取一串數(shù)據。datareader對象允許你獲得從command對象的SELECT語句得到的結果??紤]性能的因素,從datareader返回的數(shù)據都是快速的且只是“向前”的數(shù)據流。這意味著你只能按照一定的順序從數(shù)據流中取出數(shù)據。這對于速度來說是有好處的,但是如果你需要操作數(shù)據,更好的辦法是使用Dataset。
DataSet對象
DataSet對象是數(shù)據在內存中的表示形式。它包括多個DataTable對象,而DataTable包含列和行,就象一個普通的數(shù)據庫中的表。你甚至能夠定義表之間的關系來創(chuàng)建主從關系(parent-childrelationships)。DataSet是在特定的場景下使用――幫助管理內存中的數(shù)據并支持對數(shù)據的斷開操作的。DataSet是被所有DataProviders使用的對象,因此它并不像DataProvider一樣需要特別的前綴。
SqlDataAdapter對象
某些時候你使用的數(shù)據主要是只讀的,并且你很少需要將其改變至底層的數(shù)據源。同樣一些情況要求在內存中緩存數(shù)據,以此來減少并不改變的數(shù)據被數(shù)據庫調用的次數(shù)。Dataadapter通過斷開模型來幫助你方便的完成對以上情況的處理。當在一單批次的對數(shù)據庫的讀寫操作的持續(xù)的改變返回至數(shù)據庫的時候,Dataadapter填充(fill)DataSet對象。dataadapter包含對連接對象以及當對數(shù)據庫進行讀取或者寫入的時候自動的打開或者關閉連接的引用。另外,dataadapter包含對數(shù)據的SELECT,INSERT,UPDATE和DELETE操作的command對象引用。你將為DataSet中的每一個table都定義dataadapter,它將為你照顧所有與數(shù)據庫的連接。所有你將做的工作是告訴dataadapter什么時候裝載或者寫入到數(shù)據庫。
總結:是與數(shù)據源交互的.NET技術。有許多的DataProviders,它將允許與不同的數(shù)據源交流――取決于它們所使用的協(xié)議或者數(shù)據庫。然而無論使用什么樣的DataProvider,你將使用相似的對象與數(shù)據源進行交互。SqlConnection對象管理與數(shù)據源的連接。SqlCommand對象允許你與數(shù)據源交流并發(fā)送命令給它。為了對進行快速的只“向前”地讀取數(shù)據,使用SqlDataReader。如果想使用斷開數(shù)據,使用DataSet并實現(xiàn)能進行讀取或者寫入數(shù)據源的SqlDataAdapter。2.2SQLServer2005SQLServer是一個關系數(shù)據庫管理系統(tǒng),它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的。于1988年推出了第一個OS/2版本在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了。Microsoft將SQLServer移植到WindowsNT系統(tǒng)上專注于開發(fā)推廣SQLServer的WindowsNT版本,Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應用。在系統(tǒng)中用到的是MicrosoftSQLServer以后簡稱為SQLServer或MSSQLServer。SQLServer2005是Microsoft公司推出的SQLServer數(shù)據庫管理系統(tǒng)的最新版本該版本繼承了(SQLServer2000)版本的優(yōu)點。同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows2000的膝上型電腦到運行MicrosoftWindowsVista的大型多處理器的服務器等多種平臺使用。目前被廣泛使用的數(shù)據庫有SQLServer、Oracle、Access等。Access是一個可視化工具,是風格與Windows完全一樣,用戶想要生成對象并應用,只要使用鼠標進行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設計器以及數(shù)據庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。但是access數(shù)據庫有一定的極限,如果數(shù)據達到100M左右,很容易造成服務器iis假死,或者消耗掉服務器的內存導致服務器崩潰。而SQLServer是基于服務器端的中型的數(shù)據庫,可以適合大容量數(shù)據的應用,在功能上管理上也要比Access要強得多。在處理海量數(shù)據的效率,后臺開發(fā)的靈活性,可擴展性等方面強大。因為現(xiàn)在數(shù)據庫都使用標準的SQL語言對數(shù)據庫進行管理,所以如果是標準SQL語言,兩者基本上都可以通用的。SQLServer還有更多的擴展,可以用存儲過程,數(shù)據庫大小無極限限制。因為本系統(tǒng)需求一個中型,而且安全性強的數(shù)據庫,所以選擇SQLServer做為該系統(tǒng)的數(shù)據庫。2.3SQL語言SQL(StructuredQueryLanguage,結構查詢語言)是一個功能強大的數(shù)據庫語言。SQL通常使用于數(shù)據庫的通訊。ANSI(美國國家標準學會)聲稱,SQL是關系數(shù)據庫管理系統(tǒng)的標準語言。SQL語句通常用于完成一些數(shù)據庫的操作任務,比如在數(shù)據庫中更新數(shù)據,或者從數(shù)據庫中檢索數(shù)據。使用SQL的常見關系數(shù)據庫管理系統(tǒng)有:Oracle、Sybase、MicrosoftSQLServer、Access等等。雖然絕大多數(shù)的數(shù)據庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統(tǒng)。但是,標準的SQL命令,比如“Select”、“Insert”、“Update”、“Delete”、“Create”和“Drop”常常被用于完成絕大多數(shù)數(shù)據庫的操作。MSSQLServer就是用的Transact-SQL。SQL語言有著非常突出的優(yōu)點,SQL語言是非過程化的語言、統(tǒng)一的語言、是所有關系數(shù)據庫的公共語言。非過程化語言:SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據提供自動導航。SQL允許用戶在高層的數(shù)據結構上工作,而不對單個記錄進行操作,可操作記錄集,所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。統(tǒng)一的語言:SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據庫管理員、應用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。所有關系數(shù)據庫的公共語言:由于所有主要的關系數(shù)據庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS(關系數(shù)據庫管理系統(tǒng))轉到另一個,所有用SQL編寫的程序都是可以移植的。SQL為許多任務提供了命令,其中包括:查詢數(shù)據、在表中插入、修改和刪除記錄、建立、修改和刪除數(shù)據對象、控制對數(shù)據和數(shù)據對象的存取、保證數(shù)據庫一致性和完整性等。以前的數(shù)據庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL將全部任務統(tǒng)一在一種語言中。SQL功能強大,是一種完備的數(shù)據處理語言,不僅用于數(shù)據庫查詢,而且用于數(shù)據庫中的數(shù)據修改和更新,概括起來,它可以分成以下幾組:DML(DataManipulationLanguage,數(shù)據操作語言):用于檢索或者修改數(shù)據;DDL(DataDefinitionLanguage,數(shù)據定義語言):用于定義數(shù)據的結構,比如創(chuàng)建、修改或者刪除數(shù)據庫對象;DCL(DataControlLanguage,數(shù)據控制語言):用于定義數(shù)據庫用戶的權限。
3需求與可行性分析考試是整個教學過程中的一個重要環(huán)節(jié),它是對學生所學知識和能力的一種評價,也是衡量教師教學效果優(yōu)劣的一種教育測量手段。但是,目前考試的實施過程不完全科學,命題內容,評分標準等缺乏普遍的可比性,考試不夠客觀和準確。隨著計算機科學的迅速發(fā)展和廣泛應用,計算機技術已進入現(xiàn)代教育領域,并形成了一門新興的邊緣科學—計算機輔助教學(ComputerAidedInstruction,CAI)。3.1用戶需求利用計算機建立試題庫,實現(xiàn)計算機自動選題組卷,是CAI工程的重要組成部分,也是實現(xiàn)教考分離的一個重要手段。利用計算機組卷,不僅能節(jié)省教師的寶貴時間,提高工作效率,而且能消除出卷人主觀意識的影響,使考試更加標準化,更加客觀,真實,全面地反映反映教學的實際效果,有利于教學質量的提高。建立了試題庫系統(tǒng)以后,可實行教考分離,促使任課老師必須按照教學大綱的要求認真?zhèn)湔n,認真組織教學內容,改進教學方法,對提高教學質量和整體教學水平有著非常重要的意義。每次考試后,還可利用計算機對試卷和考試分數(shù)進行分析和評價,使考試這一教學環(huán)節(jié)更加科學化和規(guī)范化。作為試題庫系統(tǒng)中的一部分,試卷生成系統(tǒng)必須滿足如下需求:(1)靈活多樣的組卷方式,如手工組卷和自動組卷。(2)既能臨時生成試卷,又能直接使用以前生成的試卷,也就是要求能對生成的試卷進行保存,以便下次直接使用,并能刪除不再需要的試卷。(3)試卷的保密性要求,只有授權人員才能生成和查閱試卷。(4)試卷生成速度不宜太慢。(5)生成的試卷按照規(guī)定的模板輸出,并能導出到word文檔中。(6)生成的試卷既可以直接打印,也可以在word中修改和打印。(7)友好的用戶界面。3.2功能需求本系統(tǒng)是題庫與試卷生成系統(tǒng),主要有三方面的功能需求,其分別是:題庫管理:為了用戶能方便管理龐大的試題題庫,實現(xiàn)各種常用或者自定義題型的錄入、修改、查詢、刪除、分類等功能。手動生成試卷:為了能按照用戶的意愿組卷,用戶可以按試題所涉及的知識點瀏覽各種題型,生成一份知識覆蓋面廣泛的試卷,并能保存試卷。(3)自動生成試卷:用戶能選擇生成試卷的題型,試題數(shù)量,試題難度,以及試卷分值,且有預覽試卷,預覽答案,保存試卷和答案的功能。3.3業(yè)務流程圖根據對用戶的調查,本系統(tǒng)有兩類用戶使用,分別是管理和教師。這兩種種身份的人具有不同權限,管理員負責管理系統(tǒng)帳號和系統(tǒng)的其他全部功能;教師不能管理用戶但是可以更新維護題庫,按需求生成和保存打印試題等。本系統(tǒng)主要是對題庫維護和試題組卷的管理,根據需求分析,可以得到系統(tǒng)流程如圖3-1所示。試題試題課程表題型表章節(jié)表題庫用戶用戶用戶自動生成試卷手動生成試卷圖3-1業(yè)務流程圖3.4性能需求加載數(shù)據效率要求本系統(tǒng)的使用不受時間限制,可以24小時正常使用,對于用戶登陸,試卷預覽,答案預覽,試卷生成功能響應時間不宜超過5秒鐘。界面風格要求整體以白色和淡藍色為主,輔助淡綠色給人清新,舒坦的感覺,在1024*768分辨率下達到最佳顯示效果,界面簡潔清爽,不能過于復雜。3.5可行性分析可行性分析的任務是明確開發(fā)應用項目的必要性和可行性。必要性來自實現(xiàn)開發(fā)任務的迫切性,而可行性則取決于實現(xiàn)應用系統(tǒng)的資源和條件。這項工程需要建立在初步調查的基礎上。管理可行性隨著科學技術的不斷發(fā)展,計算機科學的日漸成熟,其強大的功能已經為人們深刻認識,它己進入人類社會的各個領域并發(fā)揮著越來越重要的作用。MIS為計算機應用的一部分,使用計算機對學生的成績信息進行管理,具有手工管理所無法比擬的優(yōu)點。同時,為了適應時代發(fā)展,適應我國教育深化改革、全面實施素質教育的需要,教育部適時提出了加快普及信息技術,以教育信息化帶動教育現(xiàn)代化,努力實現(xiàn)我國教育水平的跨越式發(fā)展的戰(zhàn)略目標,所以開發(fā)題庫與試卷生成系統(tǒng)在管理上是可行的。經濟可行性采用計算機管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財力,降低了人工處理產生的錯誤。由于所開發(fā)的系統(tǒng)是一個單機版的系統(tǒng),在計算機配置方面的要求也不是很高,所以學校在軟、硬件不需要進行大的投入的前提下,開發(fā)題庫與試卷生成系統(tǒng)在經濟上是可行的。技術可行性因為開發(fā)所采用的工具全是可視化工具,開發(fā)出的應用程序均是圖形化界面,操作員幾乎不用記任何命令就可以操作此系統(tǒng)。另外,系統(tǒng)的操作員多為學校的教師,有較高的文化素質,他們其中大多已經基本會Windows的操作,即使不會操作Windows,經過短期的培訓也能熟練的使用本軟件,所以開發(fā)題庫與試卷生成系統(tǒng)在技術上是可行的。3.6數(shù)據流程分析該系統(tǒng)的數(shù)據流程分為兩部分,圖3-2為頂層數(shù)據流程圖,用戶由各種類型的試題根據相應需求生成試卷。圖3-3為第二層的數(shù)據流程圖,是對頂層數(shù)據流程的分解,將試卷的生成分為手動生成和自動生成。數(shù)據流程圖用用戶P1試卷生成處理D1D2D3圖3-2頂層數(shù)據流程圖用用戶試題題型章節(jié)課程題型設置題庫設置試題錄入試題題庫自動生成手動生成D4D5D6D2D3圖4-6第二層數(shù)據流程圖D1試題表D2自動生成試卷D3手動生成試卷D4題型表D5課程表D6章節(jié)表數(shù)據字典(1)數(shù)據項的定義:數(shù)據項編號:X01數(shù)據項名稱:用戶名類型:字符型長度:20數(shù)據項編號:X02數(shù)據項名稱:用戶密碼類型:字符型長度:20數(shù)據項編號:X03數(shù)據項名稱:姓名類型:字符型長度:20數(shù)據項編號:X04數(shù)據項名稱:教工號類型:整形長度:12數(shù)據項編號:X05數(shù)據項名稱:狀態(tài)類型:布爾型長度:1數(shù)據項編號:X06數(shù)據項名稱:題號類型:整形長度:6數(shù)據項編號:X07數(shù)據項名稱:題干類型:字符型長度:300 數(shù)據項編號:X08數(shù)據項名稱:答案類型:字符型長度:300數(shù)據項編號:X09數(shù)據項名稱:課程類型:字符型長度:50數(shù)據項編號:X10數(shù)據項名稱:章節(jié)類型:字符型長度:50數(shù)據項編號:X11數(shù)據項名稱:圖片路徑類型:字符型長度:50 數(shù)據項編號:X12數(shù)據項名稱:難度類型:整形長度:2數(shù)據項編號:X13數(shù)據項名稱:題型類型:字符型長度:50數(shù)據項編號:X14數(shù)據項名稱:是否選擇類型:布爾型長度:1數(shù)據項編號:X15數(shù)據項名稱:題型名類型:字符型長度:50數(shù)據項編號:X16數(shù)據項名稱:課程名類型:字符型長度:50(2)數(shù)據結構定義數(shù)據結構編號:DS01-01數(shù)據結構名稱:用戶表簡述:用戶基本情況記錄數(shù)據結構組成:X01+X02+X03+X04+X05數(shù)據結構編號:DS01-02數(shù)據結構名稱:試題表簡述:試題基本情況記錄數(shù)據結構組成:X06+X07+X08+X09+X10+X11+X12+X13+X14數(shù)據結構編號:DS01-03數(shù)據結構名稱:題型表簡述:動態(tài)題型記錄數(shù)據結構組成:X15數(shù)據結構編號:DS01-04數(shù)據結構名稱:課程表簡述:動態(tài)課程記錄數(shù)據結構組成:X16(3)數(shù)據流定義數(shù)據流編號:D1數(shù)據流名稱:試題表簡述:需要錄入試題數(shù)據庫的各種類型的試題數(shù)據流來源:試題錄入模塊數(shù)據流去向:試題存儲模塊數(shù)據流組成:題號+題干+答案+章節(jié)名+課程名+難度+題型+是否選擇+圖片路徑流通量:1份/題數(shù)據流編號:D2數(shù)據流名稱:自動生成試卷簡述:抽取題庫符合條件的試題自動組成試卷數(shù)據流來源:試卷設置模塊數(shù)據流去向:自動生成試題模塊數(shù)據流組成:課程名+題型+難度系數(shù)流通量:1份/試卷數(shù)據流編號:D3數(shù)據流名稱:手動生成試卷簡述:手動選擇所需題目組成試卷數(shù)據流來源:試卷設置模塊數(shù)據流去向:手動生成試題模塊數(shù)據流組成:題號+題型+章節(jié)名+課程名+難度系數(shù)流通量:1份/試卷數(shù)據流編號:D4數(shù)據流名稱:題型表簡述:根據需求動態(tài)生成題型數(shù)據流來源:題型設置模塊數(shù)據流去向:試題錄入模塊數(shù)據流組成:題型名流通量:1份/題庫數(shù)據流編號:D5數(shù)據流名稱:課程表簡述:設置試題所屬課程數(shù)據流來源:題庫設置模塊數(shù)據流去向:試題錄入模塊數(shù)據流組成:課程名流通量:1份/課程數(shù)據流編號:D6數(shù)據流名稱:章節(jié)表簡述:設置試題所屬章節(jié)數(shù)據流來源:題庫設置模塊數(shù)據流去向:試題錄入模塊數(shù)據流組成:課程名流通量:1份/試卷(4)數(shù)據存儲定義數(shù)據存儲編號:F1數(shù)據存儲名稱:試題庫簡述:試題的題號、題干、答案、課程、難度系數(shù)等信息數(shù)據存儲結構:題號+題干+答案+課程+章節(jié)+難度系數(shù)+題型+是否選擇關鍵詞:題號相關的處理:,,P2.5 數(shù)據存儲編號:F2數(shù)據存儲名稱:題型庫簡述:試題的題型信息數(shù)據存儲結構:題型名關鍵詞:題型名相關的處理:數(shù)據存儲編號:F3數(shù)據存儲名稱:課程庫簡述:試題所屬課程信息數(shù)據存儲結構:課程名關鍵詞:課程名相關的處理:數(shù)據存儲編號:F4數(shù)據存儲名稱:用戶庫簡述:用戶的相關信息數(shù)據存儲結構:用戶名+用戶密碼+用戶類型+姓名+狀態(tài)關鍵詞:用戶名相關的處理:,,,(5)處理邏輯定義處理邏輯編號:處理邏輯名稱:題型設置輸入:來自題型表輸出:去向題型設置模塊描述:設置題型激發(fā)條件:用戶的題型需求處理邏輯編號:處理邏輯名稱:題庫設置輸入:來自課程表、章節(jié)表輸出:去向題庫設置模塊描述:設置試題所屬的課程章節(jié)激發(fā)條件:試題的課程章節(jié)設置處理邏輯編號:處理邏輯名稱:試題錄入輸入:來自試題表輸出:去向試題庫描述:增加修改刪除試題激發(fā)條件:題庫的管理與維護處理邏輯編號:處理邏輯名稱:自動生成試卷輸入:自動生成試卷設置輸出:自動生成試題模塊模塊描述:根據需求自動生成試卷激發(fā)條件:用戶的試卷需求處理邏輯編號:處理邏輯名稱:手動生成試卷輸入:手動生成試卷設置輸出:手動生成試題模塊模塊描述:根據需求手動生成試卷激發(fā)條件:用戶的試卷需求3.7開發(fā)環(huán)境軟件環(huán)境操作系統(tǒng):
WindowsServer2003(Build3790)數(shù)據庫:
SQL
Server
2005開發(fā)語言:VisualC#開發(fā)工具:VisualStudio2005硬件環(huán)境CPU:Pentium內存:512MB以上硬盤:以上(可用空間最好在160MB以上)
4系統(tǒng)設計系統(tǒng)設計的目的是確定系統(tǒng)如何完成預定的任務,也就是確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序的結構。首先設想完成系統(tǒng)功能的若干種合理的物理方案,分析員應該仔細比較這些方案,并且和用戶共同選定一個最佳方案,然后,進行軟件結構設計,確定軟件由哪些模塊組成以及這些模塊之間的動態(tài)調用關系。進行軟件結構設計時應該遵循的最主要的原理是模塊獨立原理,也就是說:軟件應該由一組完成相對獨立的子功能模塊組成,這些模塊之間的接口關系應盡量簡單。自頂向下逐步求精是進行軟件結構設計的常用途經,在進行詳細的過程設計和編寫程序之前,首先進行結構設計,其好處在于可以在軟件開發(fā)的早期站在全局高度對軟件結構進行優(yōu)化,在這個時期進行優(yōu)化付出的代價不高,卻可以使軟件質量得到重大改進。試題管理系統(tǒng)和試卷生成系統(tǒng)是兩個連在一起的系統(tǒng),而本系統(tǒng)主要介紹的就是試卷生成系統(tǒng)的設計和方法。4.1系統(tǒng)功能模塊圖根據需求分析,將系統(tǒng)分為四個模塊:系統(tǒng)管理模塊,試卷生成管理模塊,數(shù)據庫管理系統(tǒng),系統(tǒng)幫助模塊。系統(tǒng)功能模塊結構如圖4-1所示。題庫與試卷生成系統(tǒng)題庫與試卷生成系統(tǒng)系統(tǒng)管理題庫管理試卷生成幫助和關于用戶管理密碼管理題型設置試題更新維護自動生成試卷手動生成試卷系統(tǒng)關于系統(tǒng)幫助圖4-1系統(tǒng)功能模塊圖下面對各功能模塊的子功能進行較詳細的討論。(1)系統(tǒng)管理模塊該模塊包括用戶管理模塊和用戶密碼管理模塊。系統(tǒng)啟動時調用此模塊,要求用戶先進行登陸。登陸功能模塊如圖4-2所示。用戶管理用戶管理系統(tǒng)管理管理員教師密碼管理題型設置題庫更新維護自動生成試卷手動生成試卷 圖4-2登陸模塊功能圖(2)試卷生成管理模塊試卷生成管理模塊主要包括如下子模塊:手動生成試卷模塊:顯示生成試卷,保存試卷功能。自動生成模塊:顯示生成試卷,預覽試卷,預覽答案,保存試卷功能。詳細的試卷生成管理功能模塊如圖4-3所示。試卷生成模塊試卷生成模塊手動生成試卷自動生成試卷試卷設置單題預覽試卷答案預覽保存輸出試卷試卷設置試卷答案預覽保存輸出試卷圖4-3試卷生成管理模塊功能圖(3)系統(tǒng)幫助模塊主要包括系統(tǒng)幫助和系統(tǒng)關于。系統(tǒng)幫助模塊結構如圖4-4所示。系統(tǒng)幫助系統(tǒng)幫助系統(tǒng)關于幫助圖-4系統(tǒng)幫助模塊功能圖4.2數(shù)據庫設計數(shù)據庫設計是在選定的數(shù)據庫管理系統(tǒng)基礎上建立數(shù)據庫的過程。實體E-R圖本系統(tǒng)的實體有:用戶實體、試題實體,各個實體具體的描述E-R圖如圖4-5、圖4-6所示。用戶用戶用戶名密碼姓名教工號狀態(tài)圖4-5用戶實體E-R圖試題試題題干答案課程章節(jié)難度圖片類型選擇題號 圖4-6試題實體E-R圖數(shù)據庫的存儲結構本系統(tǒng)采用SQLServer2005數(shù)據庫,系統(tǒng)數(shù)據庫名為MySchool,數(shù)據庫MySchool中包括5個數(shù)據表。(1)用戶表Admin,主要用來存儲系統(tǒng)管理員的相關信息,表結構如表4-1:表4-1Admin表字段名數(shù)據類型長度是否主鍵功能描述UserNamenchar50是用戶姓名UserPwdnchar50登錄密碼Namenchar50用戶姓名UserIDint12教工號(2)用戶表Teacher,主要用來存儲教師用戶的信息,表結構如表4-2:表4-2Teacher表字段名數(shù)據類型長度是否主鍵功能描述UserNamenchar50是用戶姓名UserPwdnchar50登錄密碼Namenchar50用戶姓名UserIDint12教工號UserStatebit1用戶狀態(tài)(3)試題表Question,主要用來存儲題庫中的試題,表結構如表4-3:表4-3Question表字段名數(shù)據類型長度是否主鍵功能描述QuestionIDint8是題號QuestionBodynchar300題干Answernchar300答案與解釋Objectnchar50課程名Chapternchar50章節(jié)ImgPathnchar100圖片路徑Difficultint4難度系數(shù)Typenchar50試題類型Choicebit1是否被選(4)題型表Type,用來存儲動態(tài)生成試題類型,表結構如表4-4:表4-4Type表字段名數(shù)據類型長度是否主鍵功能描述TypeNamenvarchar50是動態(tài)試題類型(5)課程表Object,用來存儲課程相關信息,表結構如表4-5:表4-5Object表字段名數(shù)據類型長度是否主鍵功能描述ObjectNamenvarchar50是試題章節(jié)4.3組卷算法現(xiàn)有算法分析自動組卷是考試系統(tǒng)自動化或半自動化操作的核心目標之一,而如何保證生成的試卷能最大程度的滿足用戶的不同需要,并具有隨機性、科學性、合理性,這是實現(xiàn)中的一個難點。尤其在交互式環(huán)境下用戶對于組卷速度要求較高,而一個理論上較完美的算法可能會以犧牲時間作為代價,往往不能達到預期的效果。因此,選擇一個高效、科學、合理的算法是自動組卷的關鍵。以往的具有自動組卷功能的考試系統(tǒng)大多采用隨機選取法和回溯試探法。隨機選取法根據狀態(tài)空間的控制指標,由計算機隨機的抽取一道試題放入試題庫,此過程不斷重復,直到組卷完畢,或已無法從題庫中抽取滿足控制指標的試題為止。該方法結構簡單,對于單道題的抽取運行速度較快,但是對于整個組卷過程來說組卷成功率低,即使組卷成功,花費時間也令人難以忍受。尤其是當題庫中各狀態(tài)類型平均出題量較低時,組卷往往以失敗而告終?;厮菰囂椒ㄟ@是將隨機選取法產生的每一狀態(tài)類型紀錄下來,當搜索失敗時釋放上次紀錄的狀態(tài)類型,然后再依據一定的規(guī)律變換一種新的狀態(tài)類型進行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點為止,這種有條件的深度優(yōu)先算法,對于狀態(tài)類型和出題量都較少的題庫系統(tǒng)而言,組卷成功率較好。分析上述兩種算法的優(yōu)缺點,不難發(fā)現(xiàn),在限制條件狀態(tài)空間的控制下,隨機選取法有時能夠抽取出一組令用戶滿意的試題。只不過由于它隨機選取試題的范圍太大,無法確定目前條件下哪些區(qū)域能夠抽取合適的試題,反而可能在那些已經證明是無法抽取合適試題的區(qū)域內反復選題,進行大量的無效操作進入死循環(huán),最終導致組卷失敗。回溯試探法組卷成功率高,但它是以犧牲大量的時間為代價的,由于本軟件只是個小型的單科考試組卷系統(tǒng),結構簡單,出題量也較少,所以本系統(tǒng)選擇相對簡單,組卷成功率較好的回溯試探法進行組卷?;厮菰囂椒ǖ膽没厮菟惴ㄒ步性囂椒?,它是一種系統(tǒng)地搜索問題的解的方法?;厮菟惴ǖ幕舅枷胧牵簭囊粭l路往前走,能進則進,不能進則退回來,換一條路再試。用回溯算法解決問題的一般步驟為:1、定義一個解空間,它包含問題的解;2、利用適于搜索的方法組織解空間;3、利用深度優(yōu)先法搜索解空間;4、利用限界函數(shù)避免移動到不可能產生解的子空間。問題的解空間通常是在搜索問題的解的過程中動態(tài)產生的,這是回溯算法的一個重要特性?;厮莘ㄊ且粋€既帶有系統(tǒng)性又帶有跳躍性的搜索算法。它在包含問題的所有解的解空間樹中,按照深度優(yōu)先的策略,從根結點出發(fā)搜索解空間樹。算法搜索至解空間樹的任一結點時,總是先判斷該結點是否肯定不包含問題的解。如果肯定不包含,則跳過對以該結點為根的子樹的系統(tǒng)搜索,逐層向其祖先結點回溯。否則,進入該子樹,繼續(xù)按深度優(yōu)先的策略進行搜索?;厮莘ㄔ谟脕砬髥栴}的所有解時,要回溯到根,且根結點的所有子樹都已被搜索遍才結束。而回溯法在用來求問題的任一解時,只要搜索到問題的一個解就可以結束。搜索:全面訪問所有可能的情況,分為兩種:不考慮給定問題的特有性質,按事先頂好的順序,依次運用規(guī)則,即盲目搜索的方法;另一種則考慮問題給定的特有性質,選用合適的規(guī)則,提高搜索的效率,即啟發(fā)式的搜索。本系統(tǒng)使用的是回溯法的啟發(fā)式搜索,以試題題型,試題分值和選題數(shù)量為約束條件進行隨機搜索,而把設置的試卷總分數(shù)作為一個解空間。如果各題型分值之和等于用戶設置的試卷總分數(shù),則產生一個有效解,系統(tǒng)生成一份試卷,試題的題型,編號,分值等信息儲存進試題庫表中。通過系統(tǒng)的預覽試卷功能,系統(tǒng)通過所存信息搜索數(shù)據庫,獲取試題內容,并輸入Word文檔中組成一份完整試卷。4.4自動生成設計自動組卷是時系統(tǒng)根據用戶要求,隨機選取試題,組成一份完整的試卷。本系統(tǒng)使用的是回溯探取法隨機選題。其主要過程如下:用戶輸入選題要求,如各題型數(shù)量,題型分值和題型難度,并設置試卷總分數(shù)初始化隨機數(shù)生成器。(3)系統(tǒng)根據題型數(shù)量和題型難度要求在Question表中隨機抽取試題,并將已經抽取過的試題Choice屬性值修改為True,為試題的輸出作為標記。(4)設置試卷模板。(5)預覽試卷,系統(tǒng)根據數(shù)據庫表Question中信息搜索題庫試題內容,并按設置好的試卷模板導入Word中,生成一份完整的試卷,并以*.doc文件的形式保存。自動生成試卷的流程如圖4-9所示。YYYN輸入試卷信息自動生成試題試卷生成失敗預覽試卷保存試卷保存答案自動選擇試題程序開始程序結束圖4-9自動生成試卷流程4.5手動生成設計由于自動生成的試卷,對于試卷知識覆蓋面的問題不好控制,為了解決這各問題,所以本軟件增加了另一種組卷方式,也就是手動生成試卷。此組卷方式的優(yōu)點在于,系統(tǒng)將各題型的試題具體的分到了此科考試的具體章節(jié)和知識點。用戶可以根據具體章節(jié)和知識點瀏覽此知識點下的各試題,并可以選擇加入試卷,組成一份知識覆蓋面廣的試卷。其主要組卷過程如下:(1)用戶選擇試題題型,題型分值,試題數(shù)量和知識點,并設置試卷總分值,系統(tǒng)根據用戶選擇的題型和知識點顯示所有試題。(2)用戶選擇試題,用戶在DateGridView中瀏覽選擇所需要的試題,并在checkbox中標記所有選擇的試題,單擊保存即可標識出所選擇的一個題型中的所有題目,然后依次選擇其他題型并保存。(3)設置試卷模板,并瀏覽修改相應格式。(4)生成試卷,系統(tǒng)根據數(shù)據庫表Question中已標記題庫試題內容,并按設置好的試卷模板導入Word中,生成一份完整的試卷,并以*.doc文件的形式保存。手動生成試卷的流程如圖4-10所示。 YYN手動選擇試題生成試卷失敗啟動生成試題預覽試卷保存試卷輸入試卷信息程序開始程序結束 圖4-10手動生成試卷流程圖5系統(tǒng)實現(xiàn)本系統(tǒng)是一個題庫與試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 包過培訓機構合同范本
- 勞工住宿合同范本
- 辦公用品購置合同范本
- 共享菜園轉讓合同范本
- 公司外包收債合同范本
- 健康產業(yè)合同范本
- 農村修橋工程合同范本
- 2024年重慶松山醫(yī)院招聘考試真題
- 寫退貨合同范本
- 2024年重慶市永川區(qū)三教鎮(zhèn)招聘公益性崗位人員筆試真題
- 新概念英語第一冊課文完整版
- 急救藥品搶救藥品培訓
- 人教鄂教版三年級下冊科學全冊教案
- 如何做好一名優(yōu)秀的項目經理
- (完整word版)中考定語從句精講+練習答案
- 110KV電纜敷設專項施工方案方案
- 醫(yī)師簽名(簽章)留樣備案表
- 0~6歲兒童眼保健和視力檢查標準技術操作
- 卷內目錄填寫式樣
- GB/T 15077-2008貴金屬及其合金材料幾何尺寸測量方法
- 項目7選購機箱和atx電源學習資料
評論
0/150
提交評論