題庫(kù)與試卷生成系統(tǒng)_第1頁
題庫(kù)與試卷生成系統(tǒng)_第2頁
題庫(kù)與試卷生成系統(tǒng)_第3頁
題庫(kù)與試卷生成系統(tǒng)_第4頁
題庫(kù)與試卷生成系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(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è)設(shè)計(jì)(論文)題庫(kù)與試卷生成系統(tǒng)題庫(kù)與試卷生成系統(tǒng)的設(shè)計(jì)與開發(fā)的設(shè)計(jì)與開發(fā)摘摘 要:要:教學(xué)效果評(píng)價(jià)是教學(xué)工作的一個(gè)重要環(huán)節(jié),通常的教學(xué)評(píng)價(jià)方式多為通過試卷進(jìn)行考試,因而試卷的質(zhì)量將直接影響到教學(xué)評(píng)價(jià)的結(jié)果。一般情況下,教師出試卷時(shí)要么到龐大的題庫(kù)里一道一道的把題目挑選出來,或是從幾本相關(guān)的書里把題挑選出來組成一份試卷,這樣既費(fèi)時(shí)又費(fèi)力,而且很難保證試題的覆蓋面和把握試卷的難度。為了將老師從繁重的命題工作中解放出來,為了提高命題的質(zhì)量和管理的現(xiàn)代化、科學(xué)化、規(guī)范化,本文開發(fā)一個(gè)試卷生成系統(tǒng)。本文在充分的需求分析基礎(chǔ)上,設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)試卷生成系統(tǒng),主要完成了手動(dòng)生成試卷、自動(dòng)生成試卷、抽取現(xiàn)

2、有試卷和用戶管理等功能。通過測(cè)試,系統(tǒng)在 Windows 2000XP/Vista 平臺(tái)下能穩(wěn)定運(yùn)行,且基本達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),有一定的實(shí)用價(jià)值。關(guān)鍵詞:關(guān)鍵詞:試題庫(kù);試卷生成;Visual C#;算法畢業(yè)設(shè)計(jì)(論文)Test Labrary and Paper Generation System Design and Development Abstract :Value of teaching is an important tathe for teaching,usually a value of teaching is from a exam ,so a quality paper

3、 straight touches the value of teaching. The 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 a

4、nd paper degree of difficulty of examination question. Helping the teacher disengages from the burdensome proposition about exam, In order to improve the quality and management proposition of the modern, scientific, standardized, the paper developed a test generation system.Paper Generation System i

5、s designed and implemented based on the sufficient needs analysis in this paper,It mainly implements some functions include in manually and automatically generating papers,extrating some of existing papers,maintaining user information and so on ,the system can operate stably in Windows2000/XP/Vista

6、platform ,reach the expected goal and have some practical value.Keywords: test library;paper generation;visual C#;algorithmic畢業(yè)設(shè)計(jì)(論文)I目目 錄錄1 緒論.11.1 開發(fā)背景與研究現(xiàn)狀 .11.2 論文組織.12 開發(fā)工具簡(jiǎn)介.22.1 VISUAL C#.22.1.1 數(shù)據(jù)庫(kù)連接方式.22.2 SQL SERVER2005.42.3 SQL 語言.43 需求與可行性分析.63.1 用戶需求.63.2 功能需求.63.3 業(yè)務(wù)流程圖 .73.4 性能需求 .73.

7、4.1 加載數(shù)據(jù)效率要求.73.4.2 界面風(fēng)格要求.73.5 可行性分析 .83.5.1 管理可行性.83.5.2 經(jīng)濟(jì)可行性.83.5.3 技術(shù)可行性.83.6 數(shù)據(jù)流程分析 .8 3.6.1 數(shù)據(jù)流程圖.9 3.6.2 數(shù)據(jù)字典 .93.7 開發(fā)環(huán)境 .153.7.1 軟件環(huán)境.153.7.2 硬件環(huán)境.154 系統(tǒng)設(shè)計(jì).164.1 系統(tǒng)功能模塊圖 .164.2 數(shù)據(jù)庫(kù)設(shè)計(jì) .184.2.1 實(shí)體 E-R 圖.184.2.2 數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu).194.3 組卷算法 .214.3.1 現(xiàn)有算法分析.214.3.2 回溯試探法的應(yīng)用.214.4 自動(dòng)生成設(shè)計(jì) .224.5 手動(dòng)生成設(shè)計(jì) .2

8、35 系統(tǒng)實(shí)現(xiàn).255.1 登錄模塊設(shè)計(jì) .255.2 系統(tǒng)主界面設(shè)計(jì) .255.3 用戶管理模塊設(shè)計(jì).26畢業(yè)設(shè)計(jì)(論文)II5.4 題庫(kù)和題型設(shè)置模塊 .265.5 試卷生成模塊 .28結(jié)論.31參考文獻(xiàn).32致謝.33畢業(yè)設(shè)計(jì)(論文)11 緒論緒論1.1 開發(fā)背景與研究現(xiàn)狀開發(fā)背景與研究現(xiàn)狀在以往的教學(xué)中,老師出試卷大多由手工出卷,這樣生成的試卷往往會(huì)有知識(shí)點(diǎn)分布太集中、難易程度不當(dāng)、分值分布不均等一些缺點(diǎn);這樣,既增加了老師的負(fù)擔(dān),也沒有達(dá)到很好考查學(xué)生學(xué)習(xí)的真實(shí)水平,造成教學(xué)上的失誤。 基于以上的原因,有很多從事軟件開發(fā)的人員,在試卷自動(dòng)生成方面做了很大的研究。目前這一領(lǐng)域也以良好的

9、發(fā)展姿態(tài)而不斷進(jìn)步,早期已經(jīng)有了一些類似的系統(tǒng),但經(jīng)過軟件開發(fā)人不斷的完善,大致形成了具備如下功能的系統(tǒng):添加刪除試題、試題交流、合并題庫(kù)、自定義試題參數(shù)等一些功能,其中試題共享功能非常實(shí)用,主要用于同事間交流試題。系統(tǒng)“體積”非常小,壓縮后只有幾百 KB。平時(shí)只要將一些試題或從網(wǎng)絡(luò)下載的試題,按“科目” 、 “章節(jié)” 、 “題型” 、“難易程度”四個(gè)參數(shù)進(jìn)行歸類,錄入題庫(kù),需要用時(shí),只要輸入一些查詢條件即可查出所要找的試題。生成試卷非常方便,只需幾分鐘就可以生成一份試卷,生成的試卷還配有答案,更重要的是軟件能與 WROD、WPS 等的完美結(jié)合,試題、答案的編輯、試卷的排版打印全部由 WORD

10、 來完成,試卷和答案都可保存為*.DOC 格式或者*.RTF 的富文本格式,如果你的電腦上沒有 word 這類文字處理軟件還可保存為*.TXT 格式。 可見,試卷自動(dòng)生成系統(tǒng)這方面的研究日益成熟,這不但減輕了教師的工作負(fù)擔(dān),也使得教學(xué)評(píng)價(jià)更加科學(xué)化、規(guī)范化,有利用教育事業(yè)的發(fā)展。1.2 論文組織論文組織論文全面詳細(xì)地介紹了試卷生成系統(tǒng)的設(shè)計(jì)思想、實(shí)現(xiàn)原理和使用技巧。論文按如下方式組織。第一部分是主要是對(duì)系統(tǒng)的開發(fā)背景和研究現(xiàn)狀進(jìn)行詳細(xì)的介紹。第二部分主要是對(duì)開發(fā)工具的介紹。第三部分是主要是對(duì)本系統(tǒng)做詳細(xì)的需求和可行性分析。第四、五、六部分是本文的主要內(nèi)容,是軟件的開發(fā)設(shè)計(jì)。第四部分主要對(duì)于系統(tǒng)

11、組卷的設(shè)計(jì),重點(diǎn)介紹了自動(dòng)生成試卷,手動(dòng)生成試卷和抽取現(xiàn)有試卷三種組卷算法。而第五部分是系統(tǒng)的實(shí)現(xiàn)部分,具體的分析了三種組卷算法的實(shí)現(xiàn)過程。同時(shí)也仔細(xì)說明了系統(tǒng)實(shí)現(xiàn)過程中的關(guān)鍵技術(shù)。第六部分是系統(tǒng)的測(cè)試部分,利用測(cè)試實(shí)例來說明系統(tǒng)的可用性和數(shù)據(jù)的準(zhǔn)確性。畢業(yè)設(shè)計(jì)(論文)22 開發(fā)工具簡(jiǎn)介開發(fā)工具簡(jiǎn)介2.1 Visual C#C#(讀做 C sharp,中文譯音暫時(shí)沒有。專業(yè)人士一般讀C sharp,現(xiàn)在很多非專業(yè)一般讀C 井。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework 之上的高級(jí)程序設(shè)計(jì)語言。#是一種安全的、穩(wěn)定的、簡(jiǎn)單的,由 C 和C+衍生出來的面向?qū)ο蟮木幊陶Z言

12、。它在繼承 C 和 C+強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承) 。C#綜合了 VB 簡(jiǎn)單的可視化操作和 C+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET 開發(fā)的首選語言。并且 C#成為ECMA 與 ISO 標(biāo)準(zhǔn)規(guī)范。C#看似基于 C+寫成,但又融入其它語言如Delphi、Java、VB 等。C#是一種現(xiàn)代的面向?qū)ο笳Z言。它使程序員快速便捷地創(chuàng)建基于 Microsoft .NET 平臺(tái)的解決方案。這種框架使 C#組件可以方便地轉(zhuǎn)化為 XML 網(wǎng)絡(luò)服務(wù),同時(shí)他增強(qiáng)了開發(fā)者的效率,同時(shí)也致力于消除編程中可能

13、導(dǎo)致嚴(yán)重結(jié)果的錯(cuò)誤。C#使C/C+程序員可以快速進(jìn)行網(wǎng)絡(luò)開發(fā),并保持了開發(fā)者所需要的強(qiáng)大性和靈活性。2.1.1 數(shù)據(jù)庫(kù)連接方式數(shù)據(jù)庫(kù)連接方式 從簡(jiǎn)單的文本文件到各種復(fù)雜的關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)應(yīng)用程序需要面對(duì)各種各樣的數(shù)據(jù)源。微軟的.NET 平臺(tái)提供了 ADO.NET 作為應(yīng)用程序和 OLE-DB 連接的橋梁。ADO.NET 增強(qiáng)了對(duì)非連接編程模式的支持,并支持 RICH XML.由于傳送的數(shù)據(jù)都是 XML 格式的,因此任何能夠讀取 XML 格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是 ADO .NET 組件,它可以是基于一個(gè) Microsoft Visual Studio

14、 的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。ADO.NET 是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel 表格或者 XML 文件。ADO.NET 允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒有與此相關(guān)的一系列類來完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用 ODBC 協(xié)議,許多新的數(shù)據(jù)源使用 OleDb 協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過.NET 的 ADO.NET 類庫(kù)來進(jìn)行連接。ADO.NET 提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的

15、公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫(kù)。這些類庫(kù)稱為 Data Providers,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來命名的。表 1 列處了一些常見的 data providers,以及它們所使用畢業(yè)設(shè)計(jì)(論文)3的 API 前綴,和允許進(jìn)行交互的數(shù)據(jù)源類型。ADO.NET 包含的對(duì)象:SqlConnection 對(duì)象和數(shù)據(jù)庫(kù)交互,你必須連接它。連接幫助指明數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)名字、用戶名、密碼,和連接數(shù)據(jù)庫(kù)所需要的其它參數(shù)。connection 對(duì)象會(huì)被 command 對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)庫(kù)上面執(zhí)行命令。與數(shù)據(jù)庫(kù)交互的過程意味著你必須指明想要發(fā)生的操作。這

16、是依靠 command 對(duì)象執(zhí)行的。你使用 command 對(duì)象來發(fā)送 SQL 語句給數(shù)據(jù)庫(kù)。command 對(duì)象使用connection 對(duì)象來指出與哪個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接。你能夠單獨(dú)使用 command 對(duì)象來直接執(zhí)行命令,或者將一個(gè) command 對(duì)象的引用傳遞給 SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。sqlDataReader 對(duì)象許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。data reader 對(duì)象允許你獲得從command 對(duì)象的 SELECT 語句得到的結(jié)果??紤]性能的因素,從 data reader 返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意

17、味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來說是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用 Dataset。DataSet 對(duì)象DataSet 對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個(gè) DataTable 對(duì)象,而DataTable 包含列和行,就象一個(gè)普通的數(shù)據(jù)庫(kù)中的表。你甚至能夠定義表之間的關(guān)系來創(chuàng)建主從關(guān)系(parent-child relationships) 。DataSet 是在特定的場(chǎng)景下使用幫助管理內(nèi)存中的數(shù)據(jù)并支持對(duì)數(shù)據(jù)的斷開操作的。DataSet 是被所有 Data Providers 使用的對(duì)象,因此它并不像 Data Provider 一樣需要特別的

18、前綴。SqlDataAdapter 對(duì)象某些時(shí)候你使用的數(shù)據(jù)主要是只讀的,并且你很少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以此來減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)。Data adapter 通過斷開模型來幫助你方便的完成對(duì)以上情況的處理。當(dāng)在一單批次的對(duì)數(shù)據(jù)庫(kù)的讀寫操作的持續(xù)的改變返回至數(shù)據(jù)庫(kù)的時(shí)候,Data adapter 填充(fill)DataSet 對(duì)象。data adapter 包含對(duì)連接對(duì)象以及當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取或者寫入的時(shí)候自動(dòng)的打開或者關(guān)閉連接的引用。另外,data adapter 包含對(duì)數(shù)據(jù)的SELECT,INSERT,UPDATE 和 DELETE

19、 操作的 command 對(duì)象引用。你將為 DataSet中的每一個(gè) table 都定義 data adapter,它將為你照顧所有與數(shù)據(jù)庫(kù)的連接。所有你將做的工作是告訴 data adapter 什么時(shí)候裝載或者寫入到數(shù)據(jù)庫(kù)。總結(jié):ADO.NET 是與數(shù)據(jù)源交互的.NET 技術(shù)。有許多的 Data Providers,它將允許與不同的數(shù)據(jù)源交流取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無論使用畢業(yè)設(shè)計(jì)(論文)4什么樣的 Data Provider,你將使用相似的對(duì)象與數(shù)據(jù)源進(jìn)行交互。SqlConnection 對(duì)象管理與數(shù)據(jù)源的連接。SqlCommand 對(duì)象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為

20、了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用 SqlDataReader。如果想使用斷開數(shù)據(jù),使用 DataSet 并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的 SqlDataAdapter。2.2 SQL Server2005SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它最初是由 Microsoft Sybase 和Ashton-Tate 三家公司共同開發(fā)的。于 1988 年推出了第一個(gè) OS/2 版本在 Windows NT 推出后,Microsoft 與 Sybase 在 SQL Server 的開發(fā)上就分道揚(yáng)鑣了。Microsoft 將 SQL Server 移植到 Windows NT 系統(tǒng)上專

21、注于開發(fā)推廣 SQL Server 的 Windows NT 版本,Sybase 則較專注于 SQL Server 在 UNIX 操作系統(tǒng)上的應(yīng)用。在系統(tǒng)中用到的是 Microsoft SQL Server 以后簡(jiǎn)稱為 SQL Server 或 MS SQL Server。SQL Server 2005 是 Microsoft 公司推出的 SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本該版本繼承了 SQL Server 8.0(SQL Server2000) 版本的優(yōu)點(diǎn)。同時(shí)又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行 Microsoft Wind

22、ows 2000 的膝上型電腦到運(yùn)行 Microsoft Windows Vista 的大型多處理器的服務(wù)器等多種平臺(tái)使用。目前被廣泛使用的數(shù)據(jù)庫(kù)有 SQL Server、Oracle、Access 等。Access 是一個(gè)可視化工具,是風(fēng)格與 Windows 完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫(kù)向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ?,使得操作?jiǎn)便,容易使用和掌握。但是 access 數(shù)據(jù)庫(kù)有一定的極限,如果數(shù)據(jù)達(dá)到 100M 左右,很容易造成服務(wù)器 iis 假死,或者消耗掉服務(wù)器的內(nèi)存導(dǎo)致服

23、務(wù)器崩潰。而 SQL Server 是基于服務(wù)器端的中型的數(shù)據(jù)庫(kù),可以適合大容量數(shù)據(jù)的應(yīng)用,在功能上管理上也要比 Access 要強(qiáng)得多。在處理海量數(shù)據(jù)的效率,后臺(tái)開發(fā)的靈活性,可擴(kuò)展性等方面強(qiáng)大。因?yàn)楝F(xiàn)在數(shù)據(jù)庫(kù)都使用標(biāo)準(zhǔn)的 SQL 語言對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,所以如果是標(biāo)準(zhǔn) SQL 語言,兩者基本上都可以通用的。SQL Server 還有更多的擴(kuò)展,可以用存儲(chǔ)過程,數(shù)據(jù)庫(kù)大小無極限限制。因?yàn)楸鞠到y(tǒng)需求一個(gè)中型,而且安全性強(qiáng)的數(shù)據(jù)庫(kù),所以選擇 SQL Server 做為該系統(tǒng)的數(shù)據(jù)庫(kù)。2.3 SQL 語言語言SQL(Structured Query Language,結(jié)構(gòu)查詢語言)是一個(gè)功能強(qiáng)大的數(shù)

24、據(jù)庫(kù)語言。SQL 通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱,SQL 是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL 語句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用 SQL 的常見關(guān)系數(shù)據(jù)庫(kù)管畢業(yè)設(shè)計(jì)(論文)5理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access 等等。雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用 SQL,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的 SQL 命令,比如“Select” 、 “Insert” 、 “Update” 、 “Delete” 、 “Create”和

25、“Drop”常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。MS SQL Server 就是用的 Transact- SQL。SQL 語言有著非常突出的優(yōu)點(diǎn),SQL 語言是非過程化的語言、統(tǒng)一的語言、是所有關(guān)系數(shù)據(jù)庫(kù)的公共語言。非過程化語言:SQL 是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL 允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集,所有 SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條 SQL 語句的結(jié)果作為另一條 SQL 語句的輸入。統(tǒng)一的語言:SQL 可用于所有用戶的 DB 活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)

26、用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。所有關(guān)系數(shù)據(jù)庫(kù)的公共語言:由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持 SQL語言,用戶可將使用 SQL 的技能從一個(gè) RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))轉(zhuǎn)到另一個(gè),所有用 SQL 編寫的程序都是可以移植的。SQL 為許多任務(wù)提供了命令,其中包括:查詢數(shù)據(jù)、在表中插入、修改和刪除記錄、建立、修改和刪除數(shù)據(jù)對(duì)象、控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取、保證數(shù)據(jù)庫(kù)一致性和完整性等。以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述各類操作提供單獨(dú)的語言,而 SQL 將全部任務(wù)統(tǒng)一在一種語言中。SQL 功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫(kù)查詢,而且用于數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改和更新,

27、概括起來,它可以分成以下幾組:DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù);DDL(Data Definition Language,數(shù)據(jù)定義語言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象;DCL(Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫(kù)用戶的權(quán)限。 畢業(yè)設(shè)計(jì)(論文)63 需求與可行性分析需求與可行性分析考試是整個(gè)教學(xué)過程中的一個(gè)重要環(huán)節(jié),它是對(duì)學(xué)生所學(xué)知識(shí)和能力的一種評(píng)價(jià),也是衡量教師教學(xué)效果優(yōu)劣的一種教育測(cè)量手段。但是,目前考試的實(shí)施過程不完全科學(xué),命題內(nèi)容,評(píng)分標(biāo)準(zhǔn)等缺乏普遍的可比性

28、,考試不夠客觀和準(zhǔn)確。隨著計(jì)算機(jī)科學(xué)的迅速發(fā)展和廣泛應(yīng)用,計(jì)算機(jī)技術(shù)已進(jìn)入現(xiàn)代教育領(lǐng)域,并形成了一門新興的邊緣科學(xué)計(jì)算機(jī)輔助教學(xué)(Computer Aided Instruction,CAI) 。3.1 用戶需求用戶需求利用計(jì)算機(jī)建立試題庫(kù),實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)選題組卷,是 CAI 工程的重要組成部分,也是實(shí)現(xiàn)教考分離的一個(gè)重要手段。利用計(jì)算機(jī)組卷,不僅能節(jié)省教師的寶貴時(shí)間,提高工作效率,而且能消除出卷人主觀意識(shí)的影響,使考試更加標(biāo)準(zhǔn)化,更加客觀,真實(shí),全面地反映反映教學(xué)的實(shí)際效果,有利于教學(xué)質(zhì)量的提高。建立了試題庫(kù)系統(tǒng)以后,可實(shí)行教考分離,促使任課老師必須按照教學(xué)大綱的要求認(rèn)真?zhèn)湔n,認(rèn)真組織教學(xué)內(nèi)

29、容,改進(jìn)教學(xué)方法,對(duì)提高教學(xué)質(zhì)量和整體教學(xué)水平有著非常重要的意義。每次考試后,還可利用計(jì)算機(jī)對(duì)試卷和考試分?jǐn)?shù)進(jìn)行分析和評(píng)價(jià),使考試這一教學(xué)環(huán)節(jié)更加科學(xué)化和規(guī)范化。作為試題庫(kù)系統(tǒng)中的一部分,試卷生成系統(tǒng)必須滿足如下需求:(1) 靈活多樣的組卷方式,如手工組卷和自動(dòng)組卷。(2) 既能臨時(shí)生成試卷,又能直接使用以前生成的試卷,也就是要求能對(duì)生成的試卷進(jìn)行保存,以便下次直接使用,并能刪除不再需要的試卷。(3) 試卷的保密性要求,只有授權(quán)人員才能生成和查閱試卷。(4) 試卷生成速度不宜太慢。(5) 生成的試卷按照規(guī)定的模板輸出,并能導(dǎo)出到 word 文檔中。(6) 生成的試卷既可以直接打印,也可以在 w

30、ord 中修改和打印。(7) 友好的用戶界面。3.2 功能需求功能需求本系統(tǒng)是題庫(kù)與試卷生成系統(tǒng),主要有三方面的功能需求,其分別是:(1) 題庫(kù)管理:為了用戶能方便管理龐大的試題題庫(kù),實(shí)現(xiàn)各種常用或者自定義題型的錄入、修改、查詢、刪除、分類等功能。(2) 手動(dòng)生成試卷:為了能按照用戶的意愿組卷,用戶可以按試題所涉及的知識(shí)點(diǎn)瀏覽各種題型,生成一份知識(shí)覆蓋面廣泛的試卷,并能保存試卷。 (3) 自動(dòng)生成試卷:用戶能選擇生成試卷的題型,試題數(shù)量,試題難度,以及試卷分值,且有預(yù)覽試卷,預(yù)覽答案,保存試卷和答案的功能。畢業(yè)設(shè)計(jì)(論文)73.3 業(yè)務(wù)流程圖業(yè)務(wù)流程圖根據(jù)對(duì)用戶的調(diào)查,本系統(tǒng)有兩類用戶使用,分

31、別是管理和教師。這兩種種身份的人具有不同權(quán)限,管理員負(fù)責(zé)管理系統(tǒng)帳號(hào)和系統(tǒng)的其他全部功能;教師不能管理用戶但是可以更新維護(hù)題庫(kù),按需求生成和保存打印試題等。本系統(tǒng)主要是對(duì)題庫(kù)維護(hù)和試題組卷的管理,根據(jù)需求分析,可以得到系統(tǒng)流程如圖 3-1 所示。圖圖 3-1 業(yè)務(wù)流程圖業(yè)務(wù)流程圖3.4 性能需求性能需求3.4.1 加載數(shù)據(jù)效率要求加載數(shù)據(jù)效率要求本系統(tǒng)的使用不受時(shí)間限制,可以 24 小時(shí)正常使用,對(duì)于用戶登陸,試卷預(yù)覽,答案預(yù)覽,試卷生成功能響應(yīng)時(shí)間不宜超過 5 秒鐘。 3.4.2 界面風(fēng)格要求界面風(fēng)格要求試題課程表題型表章節(jié)表題庫(kù)用戶用戶用戶自動(dòng)生成試卷手動(dòng)生成試卷畢業(yè)設(shè)計(jì)(論文)8整體以白

32、色和淡藍(lán)色為主,輔助淡綠色給人清新,舒坦的感覺,在 1024*768 分辨率下達(dá)到最佳顯示效果,界面簡(jiǎn)潔清爽,不能過于復(fù)雜。3.5 可行性分析可行性分析可行性分析的任務(wù)是明確開發(fā)應(yīng)用項(xiàng)目的必要性和可行性。必要性來自實(shí)現(xiàn)開發(fā)任務(wù)的迫切性,而可行性則取決于實(shí)現(xiàn)應(yīng)用系統(tǒng)的資源和條件。這項(xiàng)工程需要建立在初步調(diào)查的基礎(chǔ)上。 3.5.1 管理可行性管理可行性 隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)的日漸成熟,其強(qiáng)大的功能已經(jīng)為人們深刻認(rèn)識(shí),它己進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。MIS 為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生的成績(jī)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。同時(shí),為了適應(yīng)時(shí)代發(fā)展,

33、適應(yīng)我國(guó)教育深化改革、全面實(shí)施素質(zhì)教育的需要,教育部適時(shí)提出了加快普及信息技術(shù),以教育信息化帶動(dòng)教育現(xiàn)代化,努力實(shí)現(xiàn)我國(guó)教育水平的跨越式發(fā)展的戰(zhàn)略目標(biāo),所以開發(fā)題庫(kù)與試卷生成系統(tǒng)在管理上是可行的。 3.5.2 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性采用計(jì)算機(jī)管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財(cái)力,降低了人工處理產(chǎn)生的錯(cuò)誤。由于所開發(fā)的系統(tǒng)是一個(gè)單機(jī)版的系統(tǒng),在計(jì)算機(jī)配置方面的要求也不是很高,所以學(xué)校在軟、硬件不需要進(jìn)行大的投入的前提下,開發(fā)題庫(kù)與試卷生成系統(tǒng)在經(jīng)濟(jì)上是可行的。 3.5.3 技術(shù)可行性技術(shù)可行性因?yàn)殚_發(fā)所采用的工具全是可視化工具,開發(fā)出的應(yīng)用程序均是圖形化界面,操作員幾乎不用記任

34、何命令就可以操作此系統(tǒng)。另外,系統(tǒng)的操作員多為學(xué)校的教師,有較高的文化素質(zhì),他們其中大多已經(jīng)基本會(huì) Windows 的操作,即使不會(huì)操作Windows,經(jīng)過短期的培訓(xùn)也能熟練的使用本軟件,所以開發(fā)題庫(kù)與試卷生成系統(tǒng)在技術(shù)上是可行的。3.6 數(shù)據(jù)流程分析數(shù)據(jù)流程分析 該系統(tǒng)的數(shù)據(jù)流程分為兩部分,圖 3-2 為頂層數(shù)據(jù)流程圖,用戶由各種類型的試題根據(jù)相應(yīng)需求生成試卷。圖 3-3 為第二層的數(shù)據(jù)流程圖,是對(duì)頂層數(shù)據(jù)流程的畢業(yè)設(shè)計(jì)(論文)9分解,將試卷的生成分為手動(dòng)生成和自動(dòng)生成。 3.6.1 數(shù)據(jù)流程圖數(shù)據(jù)流程圖圖圖 3-2 頂層數(shù)據(jù)流程圖頂層數(shù)據(jù)流程圖圖圖 4-6 第二層數(shù)據(jù)流程圖第二層數(shù)據(jù)流程圖

35、D1 試題表D2 自動(dòng)生成試卷D3 手動(dòng)生成試卷D4 題型表D5 課程表D6 章節(jié)表 3.6.2 數(shù)據(jù)字典數(shù)據(jù)字典 (1) 數(shù)據(jù)項(xiàng)的定義:數(shù)據(jù)項(xiàng)編號(hào):X01數(shù)據(jù)項(xiàng)名稱:用戶名數(shù)據(jù)項(xiàng)編號(hào):X02數(shù)據(jù)項(xiàng)名稱:用戶密碼用戶P1試卷生成處理D1D2 D3用戶試題題型章節(jié)課程P2.1題型設(shè)置P2.2題庫(kù)設(shè)置P2.3試題錄入試題題庫(kù)P2.4自動(dòng)生成P2.5手動(dòng)生成D4D5D6D2D3畢業(yè)設(shè)計(jì)(論文)10類 型:字符型長(zhǎng) 度:20類 型:字符型長(zhǎng) 度:20數(shù)據(jù)項(xiàng)編號(hào):X03數(shù)據(jù)項(xiàng)名稱:姓名類 型:字符型長(zhǎng) 度:20數(shù)據(jù)項(xiàng)編號(hào):X04數(shù)據(jù)項(xiàng)名稱:教工號(hào)類 型:整形長(zhǎng) 度:12數(shù)據(jù)項(xiàng)編號(hào):X05數(shù)據(jù)項(xiàng)名稱:狀態(tài)

36、類 型:布爾型長(zhǎng) 度:1數(shù)據(jù)項(xiàng)編號(hào):X06數(shù)據(jù)項(xiàng)名稱:題號(hào)類 型:整形長(zhǎng) 度:6數(shù)據(jù)項(xiàng)編號(hào):X07數(shù)據(jù)項(xiàng)名稱:題干類 型:字符型長(zhǎng) 度:300數(shù)據(jù)項(xiàng)編號(hào):X08數(shù)據(jù)項(xiàng)名稱:答案類 型:字符型長(zhǎng) 度:300數(shù)據(jù)項(xiàng)編號(hào):X09數(shù)據(jù)項(xiàng)名稱:課程類 型:字符型長(zhǎng) 度:50數(shù)據(jù)項(xiàng)編號(hào):X10數(shù)據(jù)項(xiàng)名稱:章節(jié)類 型:字符型長(zhǎng) 度:50數(shù)據(jù)項(xiàng)編號(hào):X11數(shù)據(jù)項(xiàng)名稱:圖片路徑類 型:字符型長(zhǎng) 度:50數(shù)據(jù)項(xiàng)編號(hào):X12數(shù)據(jù)項(xiàng)名稱:難度類 型:整形長(zhǎng) 度:2數(shù)據(jù)項(xiàng)編號(hào):X13數(shù)據(jù)項(xiàng)名稱:題型類 型:字符型長(zhǎng) 度:50數(shù)據(jù)項(xiàng)編號(hào):X14數(shù)據(jù)項(xiàng)名稱:是否選擇類 型:布爾型長(zhǎng) 度:1數(shù)據(jù)項(xiàng)編號(hào):X15數(shù)據(jù)項(xiàng)名稱:題型

37、名數(shù)據(jù)項(xiàng)編號(hào):X16數(shù)據(jù)項(xiàng)名稱:課程名畢業(yè)設(shè)計(jì)(論文)11類 型:字符型長(zhǎng) 度:50類 型:字符型長(zhǎng) 度:50 (2) 數(shù)據(jù)結(jié)構(gòu)定義 數(shù)據(jù)結(jié)構(gòu)編號(hào):DS01-01 數(shù)據(jù)結(jié)構(gòu)名稱:用戶表簡(jiǎn) 述:用戶基本情況記錄數(shù)據(jù)結(jié)構(gòu)組成:X01+X02+X03+X04+X05數(shù)據(jù)結(jié)構(gòu)編號(hào):DS01-02數(shù)據(jù)結(jié)構(gòu)名稱:試題表簡(jiǎn) 述:試題基本情況記錄數(shù)據(jù)結(jié)構(gòu)組成:X06+X07+X08+X09+X10+X11+X12+X13+X14數(shù)據(jù)結(jié)構(gòu)編號(hào):DS01-03數(shù)據(jù)結(jié)構(gòu)名稱:題型表簡(jiǎn) 述:動(dòng)態(tài)題型記錄數(shù)據(jù)結(jié)構(gòu)組成:X15數(shù)據(jù)結(jié)構(gòu)編號(hào):DS01-04數(shù)據(jù)結(jié)構(gòu)名稱:課程表簡(jiǎn) 述:動(dòng)態(tài)課程記錄數(shù)據(jù)結(jié)構(gòu)組成:X16 (3)

38、 數(shù)據(jù)流定義數(shù)據(jù)流編號(hào):D1數(shù)據(jù)流名稱:試題表簡(jiǎn) 述:需要錄入試題數(shù)據(jù)庫(kù)的各種類型的試題數(shù)據(jù)流來源:試題錄入模塊數(shù)據(jù)流去向:試題存儲(chǔ)模塊數(shù)據(jù)流組成:題號(hào)+題干+答案+章節(jié)名+課程名+難度+題型+是否選擇+圖片路徑流 通 量:1 份/題數(shù)據(jù)流編號(hào):D2畢業(yè)設(shè)計(jì)(論文)12數(shù)據(jù)流名稱:自動(dòng)生成試卷簡(jiǎn) 述:抽取題庫(kù)符合條件的試題自動(dòng)組成試卷數(shù)據(jù)流來源:試卷設(shè)置模塊數(shù)據(jù)流去向:自動(dòng)生成試題模塊數(shù)據(jù)流組成:課程名+題型+難度系數(shù)流 通 量:1 份/試卷數(shù)據(jù)流編號(hào):D3數(shù)據(jù)流名稱:手動(dòng)生成試卷簡(jiǎn) 述:手動(dòng)選擇所需題目組成試卷數(shù)據(jù)流來源:試卷設(shè)置模塊數(shù)據(jù)流去向:手動(dòng)生成試題模塊數(shù)據(jù)流組成:題號(hào)+題型+章節(jié)名

39、+課程名+難度系數(shù)流 通 量:1 份/試卷數(shù)據(jù)流編號(hào):D4數(shù)據(jù)流名稱:題型表簡(jiǎn) 述:根據(jù)需求動(dòng)態(tài)生成題型數(shù)據(jù)流來源:題型設(shè)置模塊數(shù)據(jù)流去向:試題錄入模塊數(shù)據(jù)流組成:題型名流 通 量:1 份/題庫(kù)數(shù)據(jù)流編號(hào):D5數(shù)據(jù)流名稱:課程表簡(jiǎn) 述:設(shè)置試題所屬課程數(shù)據(jù)流來源:題庫(kù)設(shè)置模塊數(shù)據(jù)流去向:試題錄入模塊數(shù)據(jù)流組成:課程名流 通 量:1 份/課程數(shù)據(jù)流編號(hào):D6數(shù)據(jù)流名稱:章節(jié)表簡(jiǎn) 述:設(shè)置試題所屬章節(jié)數(shù)據(jù)流來源:題庫(kù)設(shè)置模塊畢業(yè)設(shè)計(jì)(論文)13數(shù)據(jù)流去向:試題錄入模塊數(shù)據(jù)流組成:課程名流 通 量:1 份/試卷 (4) 數(shù)據(jù)存儲(chǔ)定義數(shù)據(jù)存儲(chǔ)編號(hào):F1數(shù)據(jù)存儲(chǔ)名稱:試題庫(kù)簡(jiǎn) 述:試題的題號(hào)、題干、答案

40、、課程、難度系數(shù)等信息數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):題號(hào)+題干+答案+課程+章節(jié)+難度系數(shù)+題型+是否選擇關(guān) 鍵 詞:題號(hào)相 關(guān) 的處理:P2.3,P2.4,P2.5數(shù)據(jù)存儲(chǔ)編號(hào):F2數(shù)據(jù)存儲(chǔ)名稱:題型庫(kù)簡(jiǎn) 述:試題的題型信息數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):題型名關(guān) 鍵 詞:題型名相 關(guān) 的處理:P2.1數(shù)據(jù)存儲(chǔ)編號(hào):F3數(shù)據(jù)存儲(chǔ)名稱:課程庫(kù)簡(jiǎn) 述:試題所屬課程信息數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):課程名關(guān) 鍵 詞:課程名相 關(guān) 的處理:P2.2數(shù)據(jù)存儲(chǔ)編號(hào):F4數(shù)據(jù)存儲(chǔ)名稱:用戶庫(kù)簡(jiǎn) 述:用戶的相關(guān)信息數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):用戶名+用戶密碼+用戶類型+姓名+狀態(tài)關(guān) 鍵 詞:用戶名相 關(guān) 的處理:P2.1,P2.2,P2.3,P2.4(5) 處理邏輯定義

41、畢業(yè)設(shè)計(jì)(論文)14處理邏輯編號(hào):P2.1處理邏輯名稱:題型設(shè)置輸入:來自題型表輸出:去向題型設(shè)置模塊描述:設(shè)置題型激發(fā)條件:用戶的題型需求處理邏輯編號(hào):P2.2處理邏輯名稱:題庫(kù)設(shè)置輸入:來自課程表、章節(jié)表輸出:去向題庫(kù)設(shè)置模塊描述:設(shè)置試題所屬的課程章節(jié)激發(fā)條件:試題的課程章節(jié)設(shè)置處理邏輯編號(hào):P2.3處理邏輯名稱:試題錄入輸入:來自試題表輸出:去向試題庫(kù)描述:增加修改刪除試題激發(fā)條件:題庫(kù)的管理與維護(hù)處理邏輯編號(hào):P2.4處理邏輯名稱:自動(dòng)生成試卷輸入:自動(dòng)生成試卷設(shè)置輸出:自動(dòng)生成試題模塊模塊描述:根據(jù)需求自動(dòng)生成試卷激發(fā)條件:用戶的試卷需求處理邏輯編號(hào):P2.5處理邏輯名稱:手動(dòng)生成

42、試卷輸入:手動(dòng)生成試卷設(shè)置輸出:手動(dòng)生成試題模塊模塊描述:根據(jù)需求手動(dòng)生成試卷激發(fā)條件:用戶的試卷需求畢業(yè)設(shè)計(jì)(論文)153.7 開發(fā)環(huán)境開發(fā)環(huán)境3.7.1 軟件環(huán)境軟件環(huán)境操作系統(tǒng): Windows Server2003(Build 3790)數(shù)據(jù)庫(kù): SQL Server 2005開發(fā)語言: Visual C#開發(fā)工具: Visual Studio 20053.7.2 硬件環(huán)境硬件環(huán)境 CPU:Pentium 2.16G內(nèi)存:512MB 以上硬盤:2.1GB 以上(可用空間最好在 160MB 以上)畢業(yè)設(shè)計(jì)(論文)164 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)的目的是確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是確

43、定系統(tǒng)的物理配置方案,并且進(jìn)而確定組成系統(tǒng)的每個(gè)程序的結(jié)構(gòu)。首先設(shè)想完成系統(tǒng)功能的若干種合理的物理方案,分析員應(yīng)該仔細(xì)比較這些方案,并且和用戶共同選定一個(gè)最佳方案,然后,進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì),確定軟件由哪些模塊組成以及這些模塊之間的動(dòng)態(tài)調(diào)用關(guān)系。進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)該遵循的最主要的原理是模塊獨(dú)立原理,也就是說:軟件應(yīng)該由一組完成相對(duì)獨(dú)立的子功能模塊組成,這些模塊之間的接口關(guān)系應(yīng)盡量簡(jiǎn)單。自頂向下逐步求精是進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的常用途經(jīng),在進(jìn)行詳細(xì)的過程設(shè)計(jì)和編寫程序之前,首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),其好處在于可以在軟件開發(fā)的早期站在全局高度對(duì)軟件結(jié)構(gòu)進(jìn)行優(yōu)化,在這個(gè)時(shí)期進(jìn)行優(yōu)化付出的代價(jià)不高,卻可以使軟件質(zhì)量得

44、到重大改進(jìn)。試題管理系統(tǒng)和試卷生成系統(tǒng)是兩個(gè)連在一起的系統(tǒng),而本系統(tǒng)主要介紹的就是試卷生成系統(tǒng)的設(shè)計(jì)和方法。4.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖根據(jù)需求分析,將系統(tǒng)分為四個(gè)模塊:系統(tǒng)管理模塊,試卷生成管理模塊,數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)幫助模塊。系統(tǒng)功能模塊結(jié)構(gòu)如圖 4-1 所示。圖圖 4-1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖題庫(kù)與試卷生成系統(tǒng)系統(tǒng)管理題庫(kù)管理試卷生成幫助和關(guān)于用戶管理密碼管理題型設(shè)置試題更新維護(hù)自動(dòng)生成試卷手動(dòng)生成試卷系統(tǒng)關(guān)于系統(tǒng)幫助畢業(yè)設(shè)計(jì)(論文)17下面對(duì)各功能模塊的子功能進(jìn)行較詳細(xì)的討論。(1) 系統(tǒng)管理模塊該模塊包括用戶管理模塊和用戶密碼管理模塊。系統(tǒng)啟動(dòng)時(shí)調(diào)用此模塊,要求用戶

45、先進(jìn)行登陸。登陸功能模塊如圖 4-2 所示。圖圖 4-2 登陸模塊功能圖登陸模塊功能圖(2) 試卷生成管理模塊試卷生成管理模塊主要包括如下子模塊:手動(dòng)生成試卷模塊:顯示生成試卷,保存試卷功能。自動(dòng)生成模塊:顯示生成試卷,預(yù)覽試卷,預(yù)覽答案,保存試卷功能。詳細(xì)的試卷生成管理功能模塊如圖 4-3 所示。用戶管理系統(tǒng)管理管理員教師密碼管理題型設(shè)置題庫(kù)更新維護(hù)自動(dòng)生成試卷手動(dòng)生成試卷畢業(yè)設(shè)計(jì)(論文)18圖圖 4-3 試卷生成管理模塊功能圖試卷生成管理模塊功能圖 (3) 系統(tǒng)幫助模塊 主要包括系統(tǒng)幫助和系統(tǒng)關(guān)于。系統(tǒng)幫助模塊結(jié)構(gòu)如圖 4-4 所示。 系統(tǒng)幫助系統(tǒng)關(guān)于幫助圖圖-4 系統(tǒng)幫助模塊功能圖系統(tǒng)幫

46、助模塊功能圖4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是在選定的數(shù)據(jù)庫(kù)管理系統(tǒng)基礎(chǔ)上建立數(shù)據(jù)庫(kù)的過程。4.2.1 實(shí)體實(shí)體 E-R 圖圖本系統(tǒng)的實(shí)體有:用戶實(shí)體、試題實(shí)體,各個(gè)實(shí)體具體的描述 E-R 圖如圖 4-試卷生成模塊手動(dòng)生成試卷自動(dòng)生成試卷試卷設(shè)置單題預(yù)覽試卷答案預(yù)覽保存輸出試卷試卷設(shè)置試卷答案預(yù)覽保存輸出試卷畢業(yè)設(shè)計(jì)(論文)195、圖 4-6 所示。圖圖 4-5 用戶實(shí)體用戶實(shí)體 E-R 圖圖圖圖 4-6 試題實(shí)體試題實(shí)體 E-R 圖圖 4.2.2 數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)本系統(tǒng)采用 SQL Server 2005 數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名為 MySchool,數(shù)據(jù)庫(kù)MySchool

47、 中包括 5 個(gè)數(shù)據(jù)表。 (1) 用戶表 Admin,主要用來存儲(chǔ)系統(tǒng)管理員的相關(guān)信息,表結(jié)構(gòu)如表 4-1:表表 4-1 Admin 表表 字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵功能描述用戶用戶名密碼姓名教工號(hào)狀態(tài)試題題干答案課程章節(jié)難度圖片類型選擇題號(hào)畢業(yè)設(shè)計(jì)(論文)20UserNamenchar50是用戶姓名UserPwdnchar50登錄密碼Namenchar50用戶姓名UserIDint12教工號(hào)(2) 用戶表 Teacher,主要用來存儲(chǔ)教師用戶的信息,表結(jié)構(gòu)如表 4-2:表表 4-2 Teacher 表表字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵功能描述UserNamenchar50是用戶姓名UserPwdn

48、char50登錄密碼Namenchar50用戶姓名UserIDint12教工號(hào)UserStatebit1用戶狀態(tài) (3) 試題表 Question,主要用來存儲(chǔ)題庫(kù)中的試題,表結(jié)構(gòu)如表 4-3:表表 4-3 Question 表表字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵功能描述QuestionIDint8是題號(hào)QuestionBodynchar300題干Answernchar300答案與解釋Objectnchar50課程名Chapternchar50章節(jié)ImgPathnchar100圖片路徑Difficultint4難度系數(shù)Typenchar50試題類型Choicebit1是否被選 (4) 題型表 Type

49、,用來存儲(chǔ)動(dòng)態(tài)生成試題類型,表結(jié)構(gòu)如表 4-4:表表 4-4 Type 表表字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵功能描述畢業(yè)設(shè)計(jì)(論文)21TypeNamenvarchar50是動(dòng)態(tài)試題類型(5) 課程表 Object,用來存儲(chǔ)課程相關(guān)信息,表結(jié)構(gòu)如表 4-5:表表 4-5 Object 表表字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵功能描述ObjectNamenvarchar50是試題章節(jié)4.3 組卷算法組卷算法4.3.1 現(xiàn)有算法現(xiàn)有算法分析分析自動(dòng)組卷是考試系統(tǒng)自動(dòng)化或半自動(dòng)化操作的核心目標(biāo)之一,而如何保證生成的試卷能最大程度的滿足用戶的不同需要,并具有隨機(jī)性、科學(xué)性、合理性,這是實(shí)現(xiàn)中的一個(gè)難點(diǎn)。尤其在交互式環(huán)

50、境下用戶對(duì)于組卷速度要求較高,而一個(gè)理論上較完美的算法可能會(huì)以犧牲時(shí)間作為代價(jià),往往不能達(dá)到預(yù)期的效果。因此,選擇一個(gè)高效、科學(xué)、合理的算法是自動(dòng)組卷的關(guān)鍵。以往的具有自動(dòng)組卷功能的考試系統(tǒng)大多采用隨機(jī)選取法和回溯試探法。隨機(jī)選取法根據(jù)狀態(tài)空間的控制指標(biāo),由計(jì)算機(jī)隨機(jī)的抽取一道試題放入試題庫(kù),此過程不斷重復(fù),直到組卷完畢,或已無法從題庫(kù)中抽取滿足控制指標(biāo)的試題為止。該方法結(jié)構(gòu)簡(jiǎn)單,對(duì)于單道題的抽取運(yùn)行速度較快,但是對(duì)于整個(gè)組卷過程來說組卷成功率低,即使組卷成功,花費(fèi)時(shí)間也令人難以忍受。尤其是當(dāng)題庫(kù)中各狀態(tài)類型平均出題量較低時(shí),組卷往往以失敗而告終。回溯試探法這是將隨機(jī)選取法產(chǎn)生的每一狀態(tài)類型紀(jì)

51、錄下來,當(dāng)搜索失敗時(shí)釋放上次紀(jì)錄的狀態(tài)類型,然后再依據(jù)一定的規(guī)律變換一種新的狀態(tài)類型進(jìn)行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點(diǎn)為止,這種有條件的深度優(yōu)先算法,對(duì)于狀態(tài)類型和出題量都較少的題庫(kù)系統(tǒng)而言,組卷成功率較好。 分析上述兩種算法的優(yōu)缺點(diǎn),不難發(fā)現(xiàn),在限制條件狀態(tài)空間的控制下,隨機(jī)選取法有時(shí)能夠抽取出一組令用戶滿意的試題。只不過由于它隨機(jī)選取試題的范圍太大,無法確定目前條件下哪些區(qū)域能夠抽取合適的試題,反而可能在那些已經(jīng)證明是無法抽取合適試題的區(qū)域內(nèi)反復(fù)選題,進(jìn)行大量的無效操作進(jìn)入死循環(huán),最終導(dǎo)致組卷失敗?;厮菰囂椒ńM卷成功率高,但它是以犧牲大量的時(shí)間為代價(jià)的,由于本軟件只是

52、個(gè)小型的單科考試組卷系統(tǒng),結(jié)構(gòu)簡(jiǎn)單,出題量也較少,所以本系統(tǒng)選擇相對(duì)簡(jiǎn)單,組卷成功率較好的回溯試探法進(jìn)行組卷。4.3.2 回溯試探法的應(yīng)用回溯試探法的應(yīng)用畢業(yè)設(shè)計(jì)(論文)22回溯算法也叫試探法,它是一種系統(tǒng)地搜索問題的解的方法?;厮菟惴ǖ幕舅枷胧牵簭囊粭l路往前走,能進(jìn)則進(jìn),不能進(jìn)則退回來,換一條路再試。用回溯算法解決問題的一般步驟為: 1、 定義一個(gè)解空間,它包含問題的解;2、 利用適于搜索的方法組織解空間;3、 利用深度優(yōu)先法搜索解空間;4、 利用限界函數(shù)避免移動(dòng)到不可能產(chǎn)生解的子空間。 問題的解空間通常是在搜索問題的解的過程中動(dòng)態(tài)產(chǎn)生的,這是回溯算法的一個(gè)重要特性。 回溯法是一個(gè)既帶有系

53、統(tǒng)性又帶有跳躍性的搜索算法。它在包含問題的所有解的解空間樹中,按照深度優(yōu)先的策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。算法搜索至解空間樹的任一結(jié)點(diǎn)時(shí),總是先判斷該結(jié)點(diǎn)是否肯定不包含問題的解。如果肯定不包含,則跳過對(duì)以該結(jié)點(diǎn)為根的子樹的系統(tǒng)搜索,逐層向其祖先結(jié)點(diǎn)回溯。否則,進(jìn)入該子樹,繼續(xù)按深度優(yōu)先的策略進(jìn)行搜索?;厮莘ㄔ谟脕砬髥栴}的所有解時(shí),要回溯到根,且根結(jié)點(diǎn)的所有子樹都已被搜索遍才結(jié)束。而回溯法在用來求問題的任一解時(shí),只要搜索到問題的一個(gè)解就可以結(jié)束。搜索:全面訪問所有可能的情況,分為兩種:不考慮給定問題的特有性質(zhì),按事先頂好的順序,依次運(yùn)用規(guī)則,即盲目搜索的方法;另一種則考慮問題給定的特有性質(zhì),選

54、用合適的規(guī)則,提高搜索的效率,即啟發(fā)式的搜索。本系統(tǒng)使用的是回溯法的啟發(fā)式搜索,以試題題型,試題分值和選題數(shù)量為約束條件進(jìn)行隨機(jī)搜索,而把設(shè)置的試卷總分?jǐn)?shù)作為一個(gè)解空間。如果各題型分值之和等于用戶設(shè)置的試卷總分?jǐn)?shù),則產(chǎn)生一個(gè)有效解,系統(tǒng)生成一份試卷,試題的題型,編號(hào),分值等信息儲(chǔ)存進(jìn)試題庫(kù)表中。通過系統(tǒng)的預(yù)覽試卷功能,系統(tǒng)通過所存信息搜索數(shù)據(jù)庫(kù),獲取試題內(nèi)容,并輸入 Word 文檔中組成一份完整試卷。4.4 自動(dòng)自動(dòng)生成設(shè)計(jì)生成設(shè)計(jì)自動(dòng)組卷是時(shí)系統(tǒng)根據(jù)用戶要求,隨機(jī)選取試題,組成一份完整的試卷。本系統(tǒng)使用的是回溯探取法隨機(jī)選題。其主要過程如下:(1) 用戶輸入選題要求,如各題型數(shù)量,題型分值和

55、題型難度,并設(shè)置試卷總分?jǐn)?shù)(2) 初始化隨機(jī)數(shù)生成器。 (3) 系統(tǒng)根據(jù)題型數(shù)量和題型難度要求在 Question 表中隨機(jī)抽取試題,并將已經(jīng)抽取過的試題 Choice 屬性值修改為 True,為試題的輸出作為標(biāo)記。 (4) 設(shè)置試卷模板。(5) 預(yù)覽試卷,系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)表 Question 中信息搜索題庫(kù)試題內(nèi)容,并畢業(yè)設(shè)計(jì)(論文)23按設(shè)置好的試卷模板導(dǎo)入 Word 中,生成一份完整的試卷,并以*.doc 文件的形式保存。 自動(dòng)生成試卷的流程如圖 4-9 所示。YYN輸入試卷信息自動(dòng)生成試題試卷生成失敗預(yù)覽試卷保存試卷保存答案自動(dòng)選擇試題程序開始程序結(jié)束圖圖 4-9 自動(dòng)生成試卷流程自動(dòng)生

56、成試卷流程4.5 手動(dòng)手動(dòng)生成設(shè)計(jì)生成設(shè)計(jì)由于自動(dòng)生成的試卷,對(duì)于試卷知識(shí)覆蓋面的問題不好控制,為了解決這各問題,所以本軟件增加了另一種組卷方式,也就是手動(dòng)生成試卷。此組卷方式的優(yōu)點(diǎn)在于,系統(tǒng)將各題型的試題具體的分到了此科考試的具體章節(jié)和知識(shí)點(diǎn)。用戶可以根據(jù)具體章節(jié)和知識(shí)點(diǎn)瀏覽此知識(shí)點(diǎn)下的各試題,并可以選擇加入試卷,組成一份知識(shí)覆蓋面廣的試卷。其主要組卷過程如下:(1) 用戶選擇試題題型,題型分值,試題數(shù)量和知識(shí)點(diǎn),并設(shè)置試卷總分值,系統(tǒng)根據(jù)用戶選擇的題型和知識(shí)點(diǎn)顯示所有試題。(2) 用戶選擇試題,用戶在 DateGridView 中瀏覽選擇所需要的試題,并在畢業(yè)設(shè)計(jì)(論文)24checkbo

57、x 中標(biāo)記所有選擇的試題,單擊保存即可標(biāo)識(shí)出所選擇的一個(gè)題型中的所有題目,然后依次選擇其他題型并保存。(3) 設(shè)置試卷模板,并瀏覽修改相應(yīng)格式。(4) 生成試卷,系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)表 Question 中已標(biāo)記題庫(kù)試題內(nèi)容,并按設(shè)置好的試卷模板導(dǎo)入 Word 中,生成一份完整的試卷,并以*.doc 文件的形式保存。手動(dòng)生成試卷的流程如圖 4-10 所示。YN手動(dòng)選擇試題生成試卷失敗啟動(dòng)生成試題預(yù)覽試卷保存試卷輸入試卷信息程序開始程序結(jié)束圖圖 4-10 手動(dòng)生成試卷流程圖手動(dòng)生成試卷流程圖畢業(yè)設(shè)計(jì)(論文)255 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)本系統(tǒng)是一個(gè)題庫(kù)與試卷生成管理系統(tǒng),重點(diǎn)在于組卷,所以主要是對(duì)關(guān)于試卷生成的實(shí)現(xiàn)的說明。本系統(tǒng)包括題庫(kù)更新與維護(hù),自動(dòng)生成試卷和手動(dòng)生成試卷三大功能。5.1 登錄模塊登錄模塊設(shè)計(jì)設(shè)計(jì)本系統(tǒng)的主要用戶有兩類,系統(tǒng)管理員和教員用戶,其中系統(tǒng)管理員有用戶管理權(quán)限和其他所有系統(tǒng)功能。教員用戶的主要功能是試題的錄入修改維護(hù)、題庫(kù)和題型設(shè)置、手動(dòng)或自動(dòng)出題、試題的輸出、自身密碼管理等。用戶登錄時(shí)需輸入合法用戶名、密碼及相應(yīng)用戶類型。界面如圖 5.1:圖圖 5-1 登錄模塊登錄模塊5.2 系統(tǒng)主界面設(shè)計(jì)系統(tǒng)主界面設(shè)計(jì)系統(tǒng)的主界面是我們工作的主要區(qū)域,在這里有系統(tǒng)的所有功能的控制面板。其中

溫馨提示

  • 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. 人人文庫(kù)網(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)論