版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)系本科畢業(yè)設(shè)計(jì)論文課題名稱基于JAVA的離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專 業(yè)計(jì) 算 機(jī) 科 學(xué) 與 技 術(shù)姓 名學(xué) 號(hào)指導(dǎo)教師目 錄 TOC o 1-2 h z u HYPERLINK l _Toc263406346 1 引 言 PAGEREF _Toc263406346 h 1 HYPERLINK l _Toc263406347 1.1 開(kāi)發(fā)背景及研究現(xiàn)狀 PAGEREF _Toc263406347 h 1 HYPERLINK l _Toc263406348 1.2 本人主要工作 PAGEREF _Toc263406348 h 2 HYPERLINK l _Toc263406349
2、1.3 開(kāi)發(fā)工具論述 PAGEREF _Toc263406349 h 2 HYPERLINK l _Toc263406350 2 需求分析 PAGEREF _Toc263406350 h 4 HYPERLINK l _Toc263406351 2.1 系統(tǒng)可行性分析 PAGEREF _Toc263406351 h 4 HYPERLINK l _Toc263406352 2.2 需求分析 PAGEREF _Toc263406352 h 5 HYPERLINK l _Toc263406353 3 概要設(shè)計(jì) PAGEREF _Toc263406353 h 10 HYPERLINK l _Toc263
3、406354 系統(tǒng)整體設(shè)計(jì) PAGEREF _Toc263406354 h 10 HYPERLINK l _Toc263406355 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc263406355 h 11 HYPERLINK l _Toc263406356 4系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc263406356 h 15 HYPERLINK l _Toc263406357 4.1 教師登錄模塊 PAGEREF _Toc263406357 h 15 HYPERLINK l _Toc263406358 用戶管理模塊 PAGEREF _Toc263406358 h 16 HYPERLINK l
4、_Toc263406359 題庫(kù)管理和維護(hù)模塊 PAGEREF _Toc263406359 h 18 HYPERLINK l _Toc263406360 自動(dòng)生成試卷模塊 PAGEREF _Toc263406360 h 21 HYPERLINK l _Toc263406361 手動(dòng)修改現(xiàn)有試卷模塊 PAGEREF _Toc263406361 h 24 HYPERLINK l _Toc263406362 數(shù)據(jù)管理模塊 PAGEREF _Toc263406362 h 26 HYPERLINK l _Toc263406363 5系統(tǒng)測(cè)試與維護(hù) PAGEREF _Toc263406363 h 29 H
5、YPERLINK l _Toc263406364 系統(tǒng)測(cè)試方案 PAGEREF _Toc263406364 h 29 HYPERLINK l _Toc263406365 系統(tǒng)結(jié)果分析與調(diào)試 PAGEREF _Toc263406365 h 29 HYPERLINK l _Toc263406366 系統(tǒng)維護(hù) PAGEREF _Toc263406366 h 31 HYPERLINK l _Toc263406367 6 結(jié)束語(yǔ) PAGEREF _Toc263406367 h 32 HYPERLINK l _Toc263406368 致 謝 PAGEREF _Toc263406368 h 33 HYPE
6、RLINK l _Toc263406369 參考文獻(xiàn) PAGEREF _Toc263406369 h 34基于JAVA的離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:新課改中最突出局部是加重了對(duì)學(xué)生學(xué)習(xí)過(guò)程的考核,因此考試次數(shù)明顯增加了,這就給任課教師增加了很多負(fù)擔(dān)。題庫(kù)管理系統(tǒng)可以方便、快捷、高效的實(shí)現(xiàn)試卷的管理與生成,來(lái)減輕這些負(fù)擔(dān)。本文首先介紹了題庫(kù)建設(shè)的現(xiàn)狀和開(kāi)發(fā)工具,然后提出了離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的需求分析,明確了系統(tǒng)的總體結(jié)構(gòu)。并論述了利用JAVA、數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)與實(shí)現(xiàn)基于C/S結(jié)構(gòu)的離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的全過(guò)程。主要解決了試題庫(kù)的建立、試卷生成、系統(tǒng)的平安性問(wèn)題。本文詳細(xì)論述了系統(tǒng)總體
7、設(shè)計(jì)思想、數(shù)據(jù)庫(kù)設(shè)計(jì)以及功能模塊設(shè)計(jì)等。從而實(shí)現(xiàn)離散數(shù)學(xué)題庫(kù)管理的信息化,標(biāo)準(zhǔn)化和試卷生成的自動(dòng)化,并使其操作簡(jiǎn)單、方便、快捷。關(guān)鍵詞:離散數(shù)學(xué) 題庫(kù)管理系統(tǒng) JAVA C/S結(jié)構(gòu)Abstract :Part of the curriculum is added to the students learning process, so the number increased significantly, it would give many teachers increased burden. In order to alleviate the burden, test management
8、 system can be convenient, quick and efficient management and the realization of the test.This paper introduces the present situation of the construction of the test and development tools, and then puts forward the discrete math test management system of requirement analysis, the general structure o
9、f the system. And discusses the process which use JAVA, database technology, design and realization based on C/S structure of discrete math test management system. This paper mainly solves such problems as the building of the paper test, the security of the system. This paper discusses the overall d
10、esign, database design and function module design, etc. So it makes the discrete mathematics test realize the standardization of management information, and test automation, and generate the operation simple, convenient and quick.Keywords:Discrete mathematics Exam pool administrative system JAVA C/S
11、 1 引 言1.1 開(kāi)發(fā)背景及研究現(xiàn)狀信息時(shí)代的到來(lái),為教育的改革和開(kāi)展提供了十分有利的機(jī)遇,教育教學(xué)領(lǐng)域的觀念、理論和方法也隨之不斷更新,越來(lái)越多的計(jì)算機(jī)技術(shù)被引入教學(xué)過(guò)程,并形成了多種多樣的智能計(jì)算機(jī)教學(xué)系統(tǒng)。其中,計(jì)算機(jī)輔助的題庫(kù)系統(tǒng)作為智能計(jì)算機(jī)教學(xué)系統(tǒng)的核心,受到了人們極大的重視。深化高等學(xué)校教學(xué)改革,全面提高高等教育質(zhì)量,這是黨中央、國(guó)務(wù)院繼上世紀(jì)末擴(kuò)大高等教育招生規(guī)模之后,對(duì)高等高等教育改革和開(kāi)展作出的又一重大戰(zhàn)略決策。為此,教育部、財(cái)政部決定實(shí)施“高等學(xué)校本科教學(xué)質(zhì)量與教學(xué)改革工程,投入了25個(gè)億。在我國(guó)許多高等院校,?離散數(shù)學(xué)?是計(jì)算機(jī)專業(yè)的一門核心根底課程,具有概念多,題型
12、廣泛,重在理解的特點(diǎn)。在?離散數(shù)學(xué)?的教學(xué)中,大量習(xí)題的練習(xí)與解題方法的討論起著重要的作用,是穩(wěn)固知識(shí),深化理解的一個(gè)必要的途徑,因此需要對(duì)學(xué)生進(jìn)行大量的測(cè)試和考試。要進(jìn)行測(cè)試和考試,傳統(tǒng)的出題需要教師付出很大的心血,打印試卷也要花費(fèi)一定的財(cái)力。因此,研制離散數(shù)學(xué)題庫(kù)管理系統(tǒng)已成為一項(xiàng)重要的課題,并且目前,在國(guó)家有關(guān)工程的支持下,出現(xiàn)了一系實(shí)用的離散數(shù)學(xué)題庫(kù)管理系統(tǒng)。但這些成型的離散數(shù)學(xué)題庫(kù)管理系統(tǒng)不能滿足離散數(shù)學(xué)教學(xué)工作全過(guò)程的需要。隨著對(duì)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的深入分析,離散數(shù)學(xué)題庫(kù)管理系統(tǒng)將會(huì)朝著更加的適應(yīng)離散數(shù)學(xué)教學(xué)工作的方向開(kāi)展,必將會(huì)促進(jìn)離散數(shù)學(xué)教學(xué)工作效率的提高。并且在人力上減輕教
13、師的負(fù)擔(dān),在物力上減少學(xué)校的開(kāi)支。1.2 本人主要工作學(xué)習(xí)了JAVA編程和軟件的使用。通過(guò)分析研究任務(wù)書的要求,以及實(shí)地調(diào)研,對(duì)系統(tǒng)進(jìn)行了需求分析,設(shè)計(jì)與實(shí)現(xiàn)、測(cè)試系統(tǒng)等。系統(tǒng)的開(kāi)發(fā)中,主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性、完整性和平安性好的數(shù)據(jù)庫(kù)。對(duì)于后者那么要求應(yīng)用程序功能完備, 操作上實(shí)現(xiàn)簡(jiǎn)單、方便、快捷等特點(diǎn)。在以上工作的根底上,對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)與系統(tǒng)所有功能的實(shí)現(xiàn),最后進(jìn)入論文撰寫階段。1.3 開(kāi)發(fā)工具論述本軟件為離散數(shù)學(xué)題庫(kù)管理系統(tǒng),是C/S模式的信息管理系統(tǒng)。前臺(tái)采用JAVA技術(shù), 后臺(tái)采用SQL Server 2000數(shù)據(jù)
14、庫(kù), 操作系統(tǒng)采用Windows XP。 前臺(tái)開(kāi)發(fā)工具Java是一個(gè)由Sun公司開(kāi)發(fā)而成的新一代編程語(yǔ)言。使用它可在各式各樣不同種機(jī)器、不同種操作平臺(tái)的網(wǎng)絡(luò)環(huán)境中開(kāi)發(fā)軟件。Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組效勞,用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所并且支持?jǐn)?shù)據(jù)庫(kù)訪問(wèn)。 后臺(tái)開(kāi)發(fā)工具SQL Server 2000數(shù)據(jù)庫(kù)逐漸成為Windows操作系統(tǒng)平臺(tái)下進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)中較為理想的選擇之
15、一。SQL Server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)是目前最常用的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)之一,它是基于客戶機(jī)/效勞器模式下的數(shù)據(jù)庫(kù),扮演著后端數(shù)據(jù)庫(kù)的角色,它對(duì)中等規(guī)模的數(shù)據(jù)庫(kù)支持較好且具有強(qiáng)大的功能和穩(wěn)定性及易于維護(hù)等優(yōu)點(diǎn)。它具有真正的客戶機(jī)/效勞器體系結(jié)構(gòu),能與Windows XP操作系統(tǒng)有機(jī)的結(jié)合,在目前的數(shù)據(jù)庫(kù)開(kāi)發(fā)中被廣泛的應(yīng)用。2 需求分析開(kāi)發(fā)軟件首先做的是開(kāi)發(fā)過(guò)程中最主要的就是系統(tǒng)的需求分析,需求分析同時(shí)也是軟件生存周期中關(guān)鍵的一步。根據(jù)軟件工程學(xué)中開(kāi)發(fā)軟件的要求,對(duì)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)全部功能和相關(guān)的技術(shù)進(jìn)行具體的分析,分析時(shí)采用結(jié)構(gòu)化的分析方法,自頂向下、逐層分解問(wèn)題。2.1 系統(tǒng)可行性
16、分析可行性分析是研究技術(shù)領(lǐng)域的經(jīng)濟(jì)問(wèn)題和經(jīng)濟(jì)規(guī)律的科學(xué),是研究一定技術(shù)條件下如何提高經(jīng)濟(jì)效果的科學(xué),是技術(shù)與經(jīng)濟(jì)的交叉。其主要研究技術(shù)的經(jīng)濟(jì)效果問(wèn)題,技術(shù)與經(jīng)濟(jì)的最正確組合問(wèn)題。.1 經(jīng)濟(jì)可行性由于該軟件是一個(gè)小型的離散數(shù)學(xué)題庫(kù)管理系統(tǒng),所以進(jìn)行該軟件的開(kāi)發(fā)經(jīng)費(fèi)和投資較少,只需一臺(tái)普通的計(jì)算機(jī)即可,系統(tǒng)的開(kāi)發(fā)并不太復(fù)雜和繁瑣,操作盡可能簡(jiǎn)單易行。在開(kāi)發(fā)過(guò)程中,由一個(gè)人獨(dú)立開(kāi)發(fā),用時(shí)三個(gè)月左右,所需本錢費(fèi)用主要為人工費(fèi)用,再加上計(jì)算機(jī)和軟件等構(gòu)成該系統(tǒng)的開(kāi)發(fā)本錢。經(jīng)濟(jì)上的合理性:在系統(tǒng)開(kāi)發(fā)上,現(xiàn)在普通的計(jì)算機(jī)市場(chǎng)價(jià)4000元左右,操作系統(tǒng)是Windows XP加上Microsoft Office
17、其正版軟件也不過(guò)5000元,數(shù)據(jù)庫(kù)采用SQL Server2000,前端采用。開(kāi)發(fā)人員1名假設(shè)月薪1500元,開(kāi)發(fā)本軟件如果是網(wǎng)絡(luò)開(kāi)發(fā)的技術(shù)人員最多1個(gè)月,開(kāi)發(fā)費(fèi)用合計(jì)大概是10000元左右,且計(jì)算機(jī)和軟件可重復(fù)使用。選擇自行開(kāi)發(fā)系統(tǒng),既節(jié)省了費(fèi)用,又可以使本軟件符合我們自己的要求并擁有及源碼,使以后系統(tǒng)的可擴(kuò)展性也很大。 技術(shù)可行性由于該系統(tǒng)是小型的離散數(shù)學(xué)題庫(kù)管理系統(tǒng),采用C/S模式,開(kāi)發(fā)難度適中。通過(guò)對(duì)各種開(kāi)發(fā)工具和數(shù)據(jù)庫(kù)之間進(jìn)行比擬以及指導(dǎo)老師的建議,最終確定采用JAVA。數(shù)據(jù)庫(kù)方面那么選用了SQL Server2000進(jìn)行設(shè)計(jì)。C/S是指:客戶/效勞器。其主要由客戶機(jī)、效勞器、網(wǎng)絡(luò)三
18、要素主成。用戶在個(gè)人機(jī)客戶機(jī)上工作,可以與中心計(jì)算機(jī)效勞器互相通信。網(wǎng)絡(luò)軟件那么保證客戶機(jī)和效勞器互相連通。以簡(jiǎn)單的兩層客戶機(jī)/效勞器系統(tǒng)而言,客戶端是指應(yīng)用軟件以圖形接口顯示數(shù)據(jù)并讓用戶進(jìn)行添加、修改等并行輸入輸出作業(yè)的局部,也就是用戶接口負(fù)責(zé)向后端的數(shù)據(jù)庫(kù)索取數(shù)據(jù),執(zhí)行客戶端軟件的工作。效勞器所執(zhí)行的后端數(shù)據(jù)庫(kù)效勞器,那么專門執(zhí)行數(shù)據(jù)的存儲(chǔ)、檢索、管理、備份等種種關(guān)鍵操作。關(guān)于JAVA生成WORD文件的技術(shù),雖然Sun公司的JDK開(kāi)發(fā)包中本身沒(méi)有提供該功能,但是可以利用JACOB開(kāi)源類庫(kù)實(shí)現(xiàn)。JACOB是一個(gè)JAVA到微軟的COM接口的橋梁。使用JACOB允許任何JVM訪問(wèn)COM對(duì)象,從而
19、使JAVA應(yīng)用程序能夠調(diào)用COM對(duì)象??梢岳盟鼘?duì)MS Word、Excel進(jìn)行處理,目前最新公開(kāi)版本是。以上的這些技術(shù)已經(jīng)較為成熟,并且在諸多的領(lǐng)域中得到了有效的驗(yàn)證。有了這樣的技術(shù)支持,也為離散數(shù)學(xué)題庫(kù)管理系統(tǒng)開(kāi)發(fā)的最終成功奠定了堅(jiān)實(shí)的根底。 運(yùn)行可行性運(yùn)行可行性分析是指新系統(tǒng)運(yùn)行后的良好環(huán)境進(jìn)行估計(jì)和評(píng)價(jià),同時(shí)還應(yīng)考慮對(duì)現(xiàn)有教師的培訓(xùn)、補(bǔ)充問(wèn)題?,F(xiàn)在一般的教師對(duì)計(jì)算機(jī)都很熟悉,使用題庫(kù)管理系統(tǒng)只需進(jìn)行簡(jiǎn)單的講解、說(shuō)明或借助系統(tǒng)的幫助文檔就能很快的掌握和使用。2.2 需求分析用戶需求分析信息時(shí)代的到來(lái),為教育的改革和開(kāi)展提供了十分有利的機(jī)遇,教育教學(xué)領(lǐng)域的觀念、理論和方法也隨之不斷更新,計(jì)
20、算機(jī)輔助教學(xué)CAI正是在此背景下產(chǎn)生和開(kāi)展起來(lái)的。在各種計(jì)算機(jī)輔助教學(xué)CAI軟件的研制中,題庫(kù)管理系統(tǒng)的研究一直是一個(gè)非?;顫姷恼n題,也是實(shí)現(xiàn)教考別離的一個(gè)重要手段。利用離散數(shù)學(xué)題庫(kù)管理系統(tǒng),不僅能節(jié)省離散數(shù)學(xué)任課教師的珍貴時(shí)間,提高工作效率,而且能消除出卷人主觀意識(shí)的影響,使考試更加標(biāo)準(zhǔn)化,更加客觀、真實(shí)、全面地反映教學(xué)的實(shí)際效果,有利于教學(xué)質(zhì)量的提高。建立了離散數(shù)學(xué)題庫(kù)管理系統(tǒng)以后,可實(shí)行教考別離,促使離散數(shù)學(xué)任課老師必須按照教學(xué)大綱的要求認(rèn)真?zhèn)湔n,認(rèn)真組織教學(xué)內(nèi)容,改良教學(xué)方法,對(duì)提高教學(xué)質(zhì)量和整體教學(xué)水平有著非常重要的意義。離散數(shù)學(xué)題庫(kù)管理系統(tǒng)滿足如下需求:(1)為了保證系統(tǒng)內(nèi)部數(shù)據(jù)的
21、平安性,系統(tǒng)應(yīng)通過(guò)設(shè)置不同的登陸用戶權(quán)限來(lái)對(duì)系統(tǒng)進(jìn)行訪問(wèn)和管理。(2)為了方便多個(gè)用戶使用本系統(tǒng),要求能添加和刪除用戶。(3)要求能導(dǎo)入試題和查詢?cè)囶}。(4)靈活多樣的組卷方式,如自動(dòng)生成試卷、手工修改現(xiàn)有試卷。(5)要求能對(duì)生成的試卷進(jìn)行保存,以便下次直接使用。(6)試卷生成速度不宜太慢。(7)結(jié)合?離散數(shù)學(xué)?試題中有許多圖形的特點(diǎn),以便生成的試卷以標(biāo)準(zhǔn)的試卷形式輸出。應(yīng)選擇Microsoft Office Word 2003作為終端輸出軟件。(8)試題的答案生成功能。(9)為保證數(shù)據(jù)的平安,防止數(shù)據(jù)的喪失。要求能對(duì)數(shù)據(jù)進(jìn)行備份和恢復(fù)。(10)友好的用戶界面。教師管理員用戶管理導(dǎo)入試題查詢?cè)?/p>
22、題自動(dòng)生成試卷手動(dòng)修改現(xiàn)有試卷試卷生成WORD試卷數(shù)據(jù)管理用戶需求分析的目的是對(duì)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)進(jìn)行評(píng)估,采集和分析系統(tǒng)的需求,理解系統(tǒng)要解決的問(wèn)題,重點(diǎn)是充分考慮系統(tǒng)的實(shí)用性。結(jié)果可以用一個(gè)用例圖,圖中的活動(dòng)者代表外部與系統(tǒng)交互的角色,包括教師和管理員。用例圖是對(duì)系統(tǒng)需求的描述,表達(dá)了系統(tǒng)的功能和所提供的效勞,包括用戶管理、導(dǎo)入試卷、查詢?cè)囶}、自動(dòng)生成試卷、手動(dòng)修改現(xiàn)有試卷、生成WORD試卷、數(shù)據(jù)管理功能。系統(tǒng)的用例圖如下列圖2.1所示。圖 2.1系統(tǒng)用例圖2.2.2系統(tǒng)功能需求分析系統(tǒng)功能需求分析是從用戶最初的非形式化需求到滿足用戶需求的軟件產(chǎn)品的映射過(guò)程。系統(tǒng)功能需求分析是離散數(shù)學(xué)題
23、庫(kù)管理系統(tǒng)設(shè)計(jì)的第一個(gè)階段,是離散數(shù)學(xué)題庫(kù)管理系統(tǒng)成功與否的重要前提。系統(tǒng)功能需求分析分為:?jiǎn)栴}分析和功能需求分析兩個(gè)階段。(1)問(wèn)題分析?離散數(shù)學(xué)?是我國(guó)許多高等院校計(jì)算機(jī)專業(yè)的一門核心的根底課程,在?離散數(shù)學(xué)?的教學(xué)中,大量習(xí)題的練習(xí)與解題的方法的討論起著重要的作用,是穩(wěn)固知識(shí),深化理解的一個(gè)必要途徑、因此需要對(duì)學(xué)生進(jìn)行大量的測(cè)試和考試。所以,除了期末考試外,每個(gè)單元都要進(jìn)行測(cè)試和考試,幫助學(xué)生來(lái)穩(wěn)固知識(shí)。這就給任課教師增加了很多負(fù)擔(dān)。需要任課教師定期的命題,出試卷,這無(wú)形之中增加了任課教師的工作負(fù)擔(dān)。所以為了減輕這些負(fù)擔(dān),開(kāi)發(fā)的離散數(shù)學(xué)題庫(kù)管理系統(tǒng),可以很好的減輕教師的負(fù)擔(dān)。(2)功能需
24、求分析通常離散數(shù)學(xué)題庫(kù)管理系統(tǒng)應(yīng)滿足用戶對(duì)組成試卷的各種要求與約定。根據(jù)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)功能和條件的限止,經(jīng)過(guò)調(diào)研與分析,離散數(shù)學(xué)題庫(kù)管理系統(tǒng)主要應(yīng)具有以下功能:(1)用戶管理:登錄本系統(tǒng)的用戶必須有一定的權(quán)限控制,管理員擁有一切權(quán)限。而教師那么只能進(jìn)行試題編輯和生成試卷的權(quán)限。(2)題庫(kù)管理和維護(hù):合法的教師用戶可以進(jìn)行試題的輸入、修改、刪除和查詢操作,這樣教?離散數(shù)學(xué)?的教師可以使用本生成自己的試題庫(kù),以便以后在教學(xué)考試中隨時(shí)組成所需的試卷。(3)組卷:運(yùn)行本軟件,可以滿足教師不同的使用要求,即可以自動(dòng)生成試卷和手動(dòng)修改現(xiàn)有試卷。并且將所生成的試卷以標(biāo)準(zhǔn)的試卷形式輸出。為了便于使用離散
25、數(shù)學(xué)題庫(kù)管理系統(tǒng),我選擇了Microsoft Office Word 2003作為終端輸出軟件,這樣可以方便編輯所輸出的試卷,直到滿足教師的要求為止。(4)數(shù)據(jù)管理:管理員可以在必要的時(shí)候?qū)﹄x散數(shù)學(xué)題庫(kù)管理系統(tǒng)中的數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的備份和恢復(fù)操作。(5)幫助:它可以幫助教師進(jìn)一步了解離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的性能、使用方法、考前須知和使用環(huán)境,有利于更好的操作本離散數(shù)學(xué)題庫(kù)管理軟件系統(tǒng)。數(shù)據(jù)流圖描述了本系統(tǒng)中各種數(shù)據(jù)間的數(shù)據(jù)處理流向。下面是離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的頂層數(shù)據(jù)流圖對(duì)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)主要數(shù)據(jù)處理過(guò)程進(jìn)行具體描述如下:圖 2.2離散數(shù)學(xué)題庫(kù)管理系統(tǒng)頂級(jí)數(shù)據(jù)流圖根據(jù)前面設(shè)計(jì)要求,離散數(shù)學(xué)題庫(kù)
26、管理系統(tǒng)的功能主要設(shè)置了用戶管理、題庫(kù)的管理和維護(hù)、自動(dòng)生成試卷、手動(dòng)修改現(xiàn)有試卷、生成WORD試卷、數(shù)據(jù)管理和幫助等七大功能模塊。下面用離散數(shù)學(xué)題庫(kù)管理系統(tǒng)1級(jí)數(shù)據(jù)流圖對(duì)離散數(shù)學(xué)題庫(kù)管理系統(tǒng)其中的五大功能模塊主要數(shù)據(jù)處理過(guò)程進(jìn)行具體描述如下:圖 2.3離散數(shù)學(xué)題庫(kù)管理系統(tǒng)1級(jí)數(shù)據(jù)流圖2.2.3系統(tǒng)性能需求分析即系統(tǒng)效勞所應(yīng)遵循的一些約束和限制。例如:標(biāo)準(zhǔn)性、可靠性、平安性、高效性、可維護(hù)性。軟件的開(kāi)發(fā)應(yīng)能在較長(zhǎng)時(shí)間內(nèi)滿足課程改革的需要。標(biāo)準(zhǔn)性:系統(tǒng)編寫與運(yùn)行必須符合標(biāo)準(zhǔn),既可以保證系統(tǒng)運(yùn)行又可以在此標(biāo)準(zhǔn)上每一項(xiàng)功能運(yùn)行??煽啃裕河捎陔x散數(shù)學(xué)題庫(kù)管理系統(tǒng)的重要性,系統(tǒng)必須穩(wěn)定可靠,從而防止或減
27、少數(shù)據(jù)損失。平安性:通過(guò)系統(tǒng)權(quán)限控制使用者,從而確保使用者無(wú)法操作與其無(wú)關(guān)的數(shù)據(jù)。高效性:由于離散數(shù)學(xué)題庫(kù)管理系統(tǒng)生成試卷時(shí),每次處理信息量較大,系統(tǒng)對(duì)信息處理能力和響應(yīng)能力都應(yīng)是快捷有效的??删S護(hù)性:采用結(jié)構(gòu)化模塊設(shè)計(jì),便于開(kāi)發(fā)與維護(hù),也有利于發(fā)現(xiàn)情況隨時(shí)進(jìn)行擴(kuò)展。3 概要設(shè)計(jì)本章主要介紹離散數(shù)學(xué)題庫(kù)管理軟件中整體設(shè)計(jì)和后臺(tái)數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是繼需求分析和確定開(kāi)發(fā)工具后的重要階段,是管理型軟件開(kāi)發(fā)設(shè)計(jì)的核心和重要組成局部。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞與否將對(duì)應(yīng)用系統(tǒng)的運(yùn)行效率以及實(shí)現(xiàn)的效果產(chǎn)生很大影響??茖W(xué)、合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)訪問(wèn)的速度,有效保持?jǐn)?shù)據(jù)的完整性、一致性和共享
28、性,因此數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)對(duì)系統(tǒng)設(shè)計(jì)來(lái)說(shuō)至關(guān)重要。本系統(tǒng)共分5個(gè)大功能模塊。如圖:自動(dòng)生成試卷刪除試題刪除用戶數(shù)據(jù)備份添加試題用戶管理模塊教師登錄模塊數(shù)據(jù)恢復(fù)生成WORD答案生成WORD試卷手動(dòng)修改現(xiàn)有試卷查詢?cè)囶}修改試題添加用戶題庫(kù)的管理和維護(hù)模塊數(shù)據(jù)管理模塊塊組卷模塊圖 3.1功能模塊圖上圖即為總體的功能模塊圖,它清晰的顯示了系統(tǒng)的各個(gè)模塊的分布。教師登陸模塊是用來(lái)驗(yàn)證用戶是否為系統(tǒng)的合法用戶,題庫(kù)的管理與維護(hù)模塊完成對(duì)試題的錄入、刪除、修改和查詢。生成試卷模塊完成根據(jù)用戶輸入的生成試卷要求,自動(dòng)生成試卷,維護(hù)已經(jīng)生成的試卷和生成WORD試卷和答案。數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)試題內(nèi)容題號(hào)題型所屬
29、章節(jié)試題答案答案圖片試題圖片錄入日期備注題庫(kù)分值根據(jù)系統(tǒng)的設(shè)計(jì)要求,設(shè)計(jì)了E-R圖,實(shí)體為教師、課程、題庫(kù)和試卷,關(guān)系為試卷抽題表。圖 3.2 題庫(kù)實(shí)體及其屬性圖試卷名稱組卷時(shí)間試卷局部試卷考試類型試卷編號(hào)備注題庫(kù)實(shí)體包含了題號(hào)、所屬章節(jié)、試題內(nèi)容、試題答案、題型、錄入日期、圖片、分值和備注等屬性。圖 3.3 章節(jié)實(shí)體及其屬性圖試卷實(shí)體包含了試卷編號(hào)、試卷名稱、考試類型、試卷總分、組卷時(shí)間和備注等屬性。試卷抽題表表達(dá)式試題編號(hào)備注題型試卷編號(hào)圖 3.4 試卷抽題表實(shí)體及其屬性圖 1 章節(jié)名 章節(jié)編號(hào) 試卷抽題表 教師編號(hào) 題庫(kù) 擁有 章節(jié) 教授予 教師試卷抽題表關(guān)系包含了試卷編號(hào)、試題編號(hào)、題
30、型和備注屬性。 1 備注 密碼 試卷 考試圖 3.5總體E-R圖數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)在管理系統(tǒng)中,后臺(tái)數(shù)據(jù)存儲(chǔ)的地位相當(dāng)重要合理的設(shè)計(jì)能縮減軟件開(kāi)發(fā)的周期和降低開(kāi)發(fā)難度,并提高維護(hù)升級(jí)的可行性。而建立數(shù)據(jù)庫(kù)最重要的一步是定義數(shù)據(jù)庫(kù)表,數(shù)據(jù)是數(shù)據(jù)庫(kù)中存儲(chǔ)的根本對(duì)象,通過(guò)設(shè)計(jì)會(huì)以一定的組織結(jié)構(gòu)存儲(chǔ)在相關(guān)的根本表中。將根本信息分類、統(tǒng)計(jì),根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)的根本原理,建立根本表構(gòu)成數(shù)據(jù)庫(kù)。在進(jìn)行數(shù)據(jù)庫(kù)的需求分析時(shí),不但要考慮到軟件系統(tǒng)當(dāng)前要實(shí)現(xiàn)的功能,更要注重軟件的可維護(hù)性和擴(kuò)展性。首先將離散數(shù)學(xué)題庫(kù)管理系統(tǒng)的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server2000數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,即:數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)
31、。創(chuàng)立離散數(shù)學(xué)題庫(kù)管理系統(tǒng)中的各個(gè)數(shù)據(jù)庫(kù)表。表 3.1 教師表字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述教師編號(hào)NVARCHAR14關(guān)鍵字密碼NVARCHAR14密碼教師表:用來(lái)記錄教師的信息。該表的關(guān)鍵字字段是:教師編號(hào)。表 3.2 章節(jié)表字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述章節(jié)編號(hào)NVARCHAR50關(guān)鍵字章節(jié)名NVARCHAR50如:第一章備注TEXT16備注章節(jié)表:用來(lái)記錄章節(jié)的根本信息,可用于存儲(chǔ)多個(gè)章節(jié)。該表的關(guān)鍵字字段是:章節(jié)編號(hào),同時(shí)也是下面題庫(kù)數(shù)據(jù)庫(kù)表的外鍵。表 3.3 題庫(kù)表字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述題號(hào)NVARCHAR50關(guān)鍵字題型NVARCHAR50選擇題、填空題、簡(jiǎn)答題所屬章
32、節(jié)NVARCHAR50此題所屬的章節(jié),比方第二章試題內(nèi)容TEXT16試題內(nèi)容試題答案TEXT16試題答案分值INT4試題的分?jǐn)?shù)試題圖片NVARCHAR50試題中的圖片答案圖片NVARCHAR50答案中的圖片錄入日期DATETIME8錄入日期備注TEXT16備注題庫(kù)表:用來(lái)記錄各章所對(duì)應(yīng)的試題,是生成試卷提供試題來(lái)源。該表的關(guān)鍵字字段是:題號(hào),用來(lái)唯一表示一道試題。該表中的是所屬章節(jié)外鍵,對(duì)應(yīng)課程數(shù)據(jù)庫(kù)表的章節(jié)編號(hào),表示該試題對(duì)應(yīng)的是哪個(gè)章節(jié)。表 3.4 試卷表字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述試卷編號(hào)VARCHAR50主鍵試卷總分INT50試卷總分試卷名稱VARCHAR50試卷名稱考試類型VAR
33、CHAR20單元測(cè)試、期末考試等類型組卷時(shí)間DATETIME8組卷時(shí)間備注TEXT16備注試卷表:記錄了試卷的根本信息,用于生成試卷的標(biāo)題。該表的主鍵字段是:試卷編號(hào)。表 3.5試卷抽題表字段名數(shù)據(jù)類型長(zhǎng)度允許空字段描述試卷編號(hào)VARCHAR50主鍵,同時(shí)也是外鍵,對(duì)應(yīng)試卷表的試卷編號(hào)字段。試題編號(hào)VARCHAR50主鍵,同時(shí)也是外鍵,對(duì)應(yīng)題庫(kù)表中的題號(hào)字段。題型VARCHAR50題型備注TEXT16備注試卷抽題表:用來(lái)記錄每張?jiān)嚲韺?duì)應(yīng)的試題,是生成WORD文件的數(shù)據(jù)來(lái)源。該表的主鍵字段是:試卷編號(hào)和試題編號(hào)。這兩個(gè)字段同時(shí)也是外鍵,分別對(duì)應(yīng)試卷表的試卷編號(hào)字段和題庫(kù)表中的題號(hào)字段。4系統(tǒng)詳細(xì)
34、設(shè)計(jì)與實(shí)現(xiàn)下面將詳細(xì)描述每個(gè)子模塊的詳細(xì)設(shè)計(jì)。4.1 教師登錄模塊(1) 界面設(shè)計(jì)此界面為教師登錄界面,在用戶登錄時(shí)檢查用戶名和密碼是否有填寫,如果未填寫那么提示并返回,檢查通過(guò)之后把數(shù)據(jù)提交給效勞器,翻開(kāi)數(shù)據(jù)庫(kù)檢查用戶填寫的信息是否正確,登錄名稱、密碼是否相符合,或是否符合管理員登錄信息,假設(shè)符合,那么登錄成功,進(jìn)入主界面。此模塊用于驗(yàn)證用戶的信息,保證了系統(tǒng)內(nèi)部資料的平安性。圖 4.1 教師登錄界面 (2) 模塊內(nèi)主要算法的描述圖 教師登錄模塊流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login.JieMian類。類:該類用于顯示教師登陸窗口,并且負(fù)責(zé)判斷用戶輸入的用
35、戶名密碼是否正確。主要方法介紹:void jButtondenlu_actionPerformed(ActionEvent e):該方法在用戶點(diǎn)擊確定、退出、重置按鈕時(shí)被調(diào)用,如果點(diǎn)擊確定按鈕,取得界面上輸入的教師編號(hào)管理員和密碼,如果教師編號(hào)管理員或者密碼不正確,那么提示用戶重新輸入。假設(shè)用戶為系統(tǒng)合法用戶,那么允許用戶登陸系統(tǒng),翻開(kāi)系統(tǒng)主界面。如果點(diǎn)擊重置按鈕,去除用戶輸入教師編號(hào)管理員和密碼并且光標(biāo)位于教師編號(hào)框。如果點(diǎn)擊退出按鈕,那么退出系統(tǒng)。4添加用戶模塊(1) 界面設(shè)計(jì)此界面為添加用戶界面,在教師添加其它教師時(shí)檢查教師編號(hào)和密碼是否有填寫并且檢查是否是合法,如果未填寫或不合法那么提
36、示并返回,檢查通過(guò)之后把數(shù)據(jù)提交給效勞器,翻開(kāi)數(shù)據(jù)庫(kù)把教師編號(hào)、密碼寫入數(shù)據(jù)庫(kù)。 (2) 模塊內(nèi)主要算法的描述圖 4.3 添加用戶模塊流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Tianjia類。login. Tianjia類:該類用于顯示添加用戶窗口,并且負(fù)責(zé)判斷用戶輸入的用戶名密碼是否合法。主要方法介紹:void jButtontianjia_actionPerformed (ActionEvent e):該方法在用戶點(diǎn)擊添加按鈕時(shí)被調(diào)用,取得界面上輸入的用戶名和密碼,如果用戶名或者密碼不合法,那么提示用戶重新輸入。假設(shè)合法,那么把數(shù)據(jù)提交給效勞器,翻開(kāi)數(shù)
37、據(jù)庫(kù)把用戶名、密碼寫入數(shù)據(jù)庫(kù)。刪除用戶模塊(1) 界面設(shè)計(jì)此界面為刪除用戶界面,在教師刪除用戶時(shí)檢查教師編號(hào)和密碼是否有填寫并且檢查是否是合法,如果未填寫或不合法那么提示并返回,檢查通過(guò)之后把數(shù)據(jù)提交給效勞器,翻開(kāi)數(shù)據(jù)庫(kù)檢查用戶填寫的信息是否正確,假設(shè)教師編號(hào)、密碼相符合,那么刪除數(shù)據(jù)庫(kù)中相應(yīng)的教師編號(hào)和密碼。 (2) 模塊內(nèi)主要算法的描述圖 4.4刪除用戶模塊流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:類。類:該類用于顯示刪除用戶窗口,并且負(fù)責(zé)判斷用戶輸入的用戶名密碼是否合法。主要方法介紹:void jButtontianjia_actionPerformed (Acti
38、onEvent e):該方法在用戶點(diǎn)擊刪除按鈕時(shí)被調(diào)用,取得界面上輸入的用戶名和密碼,如果用戶名或者密碼不合法,那么提示用戶重新輸入。假設(shè)合法,那么把數(shù)據(jù)提交給效勞器,翻開(kāi)數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)中相應(yīng)的教師編號(hào)和密碼。和維護(hù)模塊題庫(kù)管理模塊 (1) 界面設(shè)計(jì)此界面是題庫(kù)的管理界面,是對(duì)試題的根本信息進(jìn)行錄入,刪除和修改。假設(shè)要添加試題,先點(diǎn)擊添加按鈕,然后在上面的試題信息局部填入試題的內(nèi)容,填寫好后,點(diǎn)擊保存按鈕即可將試題保存到數(shù)據(jù)庫(kù)。假設(shè)要修改試題,在下面圖 4.5題庫(kù)管理界面的表格中選擇要修改的試題,修改上面的試題內(nèi)容,然后點(diǎn)擊保存按鈕即可將修改后的試題保存到數(shù)據(jù)庫(kù)。假設(shè)要?jiǎng)h除試題,在下面的表格
39、中選擇要?jiǎng)h除的試題,然后點(diǎn)擊刪除按鈕,如果確認(rèn)刪除,系統(tǒng)將會(huì)把指定的試題刪除。(2) 模塊內(nèi)主要算法的描述圖 4.6題庫(kù)管理界面模塊流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Shitiruku類和類。login. Shitiruku類:該類負(fù)責(zé)顯示題庫(kù)維護(hù)窗口和響應(yīng)用戶的各種操作。主要方法介紹:void jButtonT_actionPerformed (ActionEvent e):該方法用于處理添加試題請(qǐng)求。首先將題庫(kù)記錄集ResultSet移動(dòng)到最后一行,然后提示用戶可以插入一條新記錄。void jButtonb_actionPerformed (Ac
40、tionEvent e):該方法用于處理保存數(shù)據(jù)請(qǐng)求,當(dāng)用戶修改或者添加了一條數(shù)據(jù)后,需要點(diǎn)擊保存按鈕,也就是調(diào)用該方法,添加或者修改結(jié)果才能插入到數(shù)據(jù)庫(kù)中。void jButtons_actionPerformed (ActionEvent e):該方法用于處理刪除試題請(qǐng)求。首先判斷用戶是否選中了一條記錄,假設(shè)沒(méi)有選中那么不能刪除試題,提示用戶選中一條記錄。然后詢問(wèn)用戶是否確認(rèn)刪除,假設(shè)確認(rèn)刪除那么刪除選中的試題。void jButtonf_actionPerformed (ActionEvent e):該方法用于處理返回主界面請(qǐng)求。類:該類主要用于處理添加試題相關(guān)的數(shù)據(jù)庫(kù)操作,與界面類一起
41、實(shí)現(xiàn)自動(dòng)生成試卷和題庫(kù)的維護(hù)和查詢功能。主要方法介紹:public static String getAllZhanjieName ():該方法用于返回章節(jié)表的所有的章節(jié)名,這個(gè)方法在添加試題和查詢?cè)囶}窗口中被使用。public static void addZhanjieItems( JComboBox jComboBoxzhangjie ):該方法用于給章節(jié)名稱控件添加章節(jié)名稱項(xiàng)。在顯示添加試題和查詢?cè)囶}窗口時(shí),需要先調(diào)用這個(gè)方法,將所有的章節(jié)名添加到章節(jié)名下拉框中。static void addlistZhanjieItems(DefaultListModel listMode,JLis
42、t JListzhangjie ):該方法用于給章節(jié)名稱控件添加章節(jié)名稱項(xiàng)。在顯示自動(dòng)生成試卷窗口時(shí),需要先調(diào)用這個(gè)方法,將所有的章節(jié)名添加到章節(jié)名列框中。public static int getzhangjieIdByName( String zhanjieName ):該方法用于根據(jù)章節(jié)名取得章節(jié)編號(hào),在添加試題到數(shù)據(jù)庫(kù)中時(shí)被調(diào)用。因?yàn)橛脩舨僮鹘缑嫔陷斎氲氖钦鹿?jié)名,而題庫(kù)數(shù)據(jù)庫(kù)表中題號(hào)的前兩位用的是所屬章節(jié)的章節(jié)編號(hào),所以需要調(diào)用該方法進(jìn)行轉(zhuǎn)換。4.3.2試題查詢模塊 (1) 界面設(shè)計(jì)此界面是試題的查詢界面,該功能允許用戶輸入題號(hào)后點(diǎn)擊提交查詢按鈕或在下面的表格中選擇要查詢的試題,進(jìn)行查
43、詢?cè)囶}操作。圖 4.7試題查詢界面 (2) 模塊內(nèi)主要算法的描述圖 4.8試題查詢界面模塊流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Chaxun類。login. Chaxun類:該類用于實(shí)現(xiàn)查詢已有試題功能,負(fù)責(zé)顯示查詢?cè)囶}對(duì)話框。主要方法介紹:void jButtonT_actionPerformed (ActionEvent e):該方法在提交查詢按鈕被點(diǎn)擊時(shí)被調(diào)用。首先取得用戶輸入的題號(hào),生成查詢用的SQL語(yǔ)句。然后利用ResultSet實(shí)現(xiàn)查詢操作。(1) 界面設(shè)計(jì)此界面是自動(dòng)生成試卷界面。教師在上面輸入試卷的根本信息,在下面抽取試題選項(xiàng)中設(shè)置試題要
44、抽取的章節(jié),題型。 圖 4.9自動(dòng)生成試卷界面 (2) 模塊內(nèi)主要算法的描述圖 4.10自動(dòng)生成試卷模塊流程圖首先根據(jù)選中的章節(jié)名和題型選項(xiàng)執(zhí)行查詢,先按照章節(jié)排序,再按照題型排序,查詢出的試題可以用于此次試卷的生成。然后按照試卷總分100分進(jìn)行循環(huán),當(dāng)抽取試題的總分不大于設(shè)定的總分,并且仍有題目可抽取時(shí),根據(jù)查詢結(jié)果的數(shù)量,生成一個(gè)隨機(jī)數(shù),抽取一道試題加到已抽取試題列表中,將該試題的分?jǐn)?shù)累加到抽取試題的總分上,將該試題從待抽取列表中去掉。這樣循環(huán)下去,當(dāng)退出循環(huán)的時(shí)候,已抽取試題列表中已經(jīng)包含了一些試題,滿足了試卷總分要求。然后將已抽取試題列表中的試題插入試卷抽題表并且保存試卷根本信息,生成
45、WORD試卷。(3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Zidongshengchengshijuan類、類、類和data. TestPaperHandler類。login. Zidongshengchengshijuan類:該類用于實(shí)現(xiàn)自動(dòng)生成試卷功能,并且負(fù)責(zé)顯示自動(dòng)生成試卷對(duì)話框。主要方法介紹:void jButtontianjia_actionPerformed (ActionEvent e):該方法用于將左側(cè)章節(jié)列表框中選擇的章節(jié)添加到界面右側(cè)的章節(jié)選擇列表框中。右側(cè)的章節(jié)選擇列表框中的章節(jié)是指最后生成的試卷涵蓋的章節(jié)。void jButtonshangc
46、hu_actionPerformed (ActionEvent e):該方法用于將右側(cè)的章節(jié)列表框中選擇的項(xiàng)刪除。void jButtonshengchenshijuan_actionPerformed (ActionEvent e) :該方法用于根據(jù)界面上輸入的生成試卷?xiàng)l件和試卷根本信息,自動(dòng)生成試卷,并且將試題和參考答案輸出到WORD文件中。類:該類是操作WORD文件的類,包含WORD文件的根本操作方法。主要方法介紹:MsWordHandler():構(gòu)造函數(shù)。初始化 WORD應(yīng)用程序,新建一個(gè)WORD文檔。insertParagraph(.):向WORD中添加一個(gè)新的段落。該方法有5個(gè)參數(shù)
47、,分別為aParagraph,表示段落的內(nèi)容;fontName表示段落的字體;isBold表示是否設(shè)定為黑體;isItalic表示是否設(shè)定為斜體;fontSize表示字體的大小。insertParagraph1(.):向WORD中添加一個(gè)新的段落。該方法有6個(gè)參數(shù),分別為aParagraph,表示段落的內(nèi)容;imagpath表示圖片的路徑;fontName表示段落的字體;isBold表示是否設(shè)定為黑體;isItalic表示是否設(shè)定為斜體;fontSize表示字體的大小。該類還有其他一些方法,比方添加試卷的標(biāo)題,添加一道大題,添加一道題目等方法,這些方法都通過(guò)調(diào)用insertParagraph(
48、.)方法實(shí)現(xiàn)。在這里就不仔細(xì)講解了。類:該類將已抽取的試題列表生成WORD文檔。主要方法介紹:genWordPaper(.):根據(jù)抽取的試題,生成WORD文件。該方法共有4個(gè)參數(shù),selectedTestItems表示已抽取的試題列表;paperTitle表示試卷標(biāo)題;courseName表示章節(jié)名稱;testStyle表示測(cè)試類型。該方法的具體實(shí)現(xiàn):首先彈出保存文件框,讓用戶選擇保存位置;然后計(jì)算出已抽取的試題的總分,用于WORD文件輸出;然后利用循環(huán),將選擇的題目輸出到WORD文件中。addSpecifiedTestToWord(.):將指定的題型的題目添加到 WORD 文件中。調(diào)用MsW
49、ordHandler類具體實(shí)現(xiàn)。addSpecifiedAnswerToWord(.):將指定的題型的題目答案添加到 WORD文件中。調(diào)用MsWordHandler類具體實(shí)現(xiàn)。data. TestPaperHandler類:此類在數(shù)據(jù)庫(kù)維護(hù)模塊中已介紹,在這里就不介紹了。(1) 界面設(shè)計(jì)此界面是手工修改現(xiàn)有試卷界面,在該界面中可以對(duì)試卷的根本信息進(jìn)行修改,同時(shí)也可以點(diǎn)擊刪除按鈕,找開(kāi)刪除試題界面,在下面的表格中會(huì)顯示選中的試卷中的所有試題。假設(shè)要?jiǎng)h除試題,在下面的表格中選擇要?jiǎng)h除的試題,然后點(diǎn)擊刪除按鈕,如果確認(rèn)刪除,系統(tǒng)將會(huì)把指定的試題刪除。也可以點(diǎn)擊添加按鈕,翻開(kāi)添加試題界面,在下面的表格
50、中會(huì)顯示出題庫(kù)中的所有試題。在下面的表格中選擇要添加的試題,然后點(diǎn)擊添加按鈕。如果確認(rèn)添加,假設(shè)選中的試卷中有假設(shè)指定的試題,那么添加不成功。假設(shè)選中的試卷中沒(méi)有指定的試題,系統(tǒng)將會(huì)把指定的試題添加到選中的試卷中。圖 1手動(dòng)修改現(xiàn)有試卷界面 (2)模塊內(nèi)主要算法的描述是否將試題寫入WORD文檔中取得選中試卷的試題和根本信息生成WORD試卷?結(jié)束開(kāi)始查詢出所有的試卷信息是是是否否否輸入試卷根本信息將更改保存到數(shù)據(jù)庫(kù)彈出添加試題窗口將用戶選擇的試題添加到試卷彈出刪除試題窗口將用戶選擇的試題從試卷中刪除添加試題?修改試卷根本信息?刪除試題?圖 4.12手動(dòng)修改現(xiàn)有試卷流程圖 (3) 該模塊的JAVA
51、類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Shougonggaidongshijuan 類、login.Shoushanchu 類和類。login. Shougonggaidongshijuan 類:該類實(shí)現(xiàn)對(duì)已生成試卷進(jìn)行修改的功能,負(fù)責(zé)顯示維護(hù)已生成試卷對(duì)話框。主要方法介紹:void jButtonbaocun_actionPerformed (ActionEvent e):該方法用于保存試卷的根本信息。void jButtonshengchenword_actionPerformed (ActionEvent e) throws SQLException:該方法用于將選中的試卷生成W
52、ORD試卷文檔。 類:該類用于從試卷中刪除試題,實(shí)現(xiàn)對(duì)試卷中試題的手工刪除。類:該方法用于添加試題到試卷中,實(shí)現(xiàn)對(duì)試卷中試題的手工添加。數(shù)據(jù)備份模塊(1) 界面設(shè)計(jì)此界面通過(guò)檢查用戶輸入的管理員名和密碼,合法的管理員可以進(jìn)行數(shù)據(jù)的備份。(2)模塊內(nèi)主要算法的描述圖 4.13數(shù)據(jù)備份流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login. Shujubeifen類。login. Shujubeifen類:該類用于顯示管理員登陸窗口,并且負(fù)責(zé)判斷用戶輸入的管理員名和密碼是否正確。主要方法介紹:void jButtonqueding_actionPerformed (Action
53、Event e) throws SQLException:該方法在用戶點(diǎn)擊確定按鈕時(shí)被調(diào)用。如果點(diǎn)擊確定按鈕,取得界面上輸入的管理員和密碼,如果管理員或者密碼不正確,那么提示用戶重新輸入。假設(shè)管理員為系統(tǒng)合法管理員,那么彈出一個(gè)保存對(duì)話框,管理員選擇備份數(shù)據(jù)的保存路徑并輸入備份文件的文件名,點(diǎn)擊確定按鈕,數(shù)據(jù)備份開(kāi)始。當(dāng)備份完成時(shí),會(huì)彈出一個(gè)提示對(duì)話框,提示管理員數(shù)據(jù)備份成功。數(shù)據(jù)恢復(fù)模塊(1) 界面設(shè)計(jì)此界面通過(guò)檢查用戶輸入的管理員名和密碼,合法的管理員可以進(jìn)行數(shù)據(jù)的恢復(fù)。(2)模塊內(nèi)主要算法的描述圖 4.14數(shù)據(jù)恢復(fù)流程圖 (3) 該模塊的JAVA類設(shè)計(jì)實(shí)現(xiàn)該模塊的JAVA類為:login
54、. Shujuhuifu類。login. Shujuhuifu類:該類用于顯示管理員登陸窗口,并且負(fù)責(zé)判斷用戶輸入的管理員名和密碼是否正確。主要方法介紹:void jButtonqueding_actionPerformed (ActionEvent e) throws SQLException:該方法在用戶點(diǎn)擊確定按鈕時(shí)被調(diào)用。如果點(diǎn)擊確定按鈕,取得界面上輸入的管理員和密碼,如果管理員或者密碼不正確,那么提示用戶重新輸入。假設(shè)管理員為系統(tǒng)合法管理員,那么彈出一個(gè)翻開(kāi)對(duì)話框,管理員選擇以前的數(shù)據(jù)備份文件,點(diǎn)擊打定按鈕,數(shù)據(jù)恢復(fù)開(kāi)始。當(dāng)恢復(fù)完成時(shí),會(huì)彈出一個(gè)提示對(duì)話框,提示管理員數(shù)據(jù)恢復(fù)成功。5
55、系統(tǒng)測(cè)試與維護(hù)系統(tǒng)測(cè)試方案在根本完成了程序的詳細(xì)設(shè)計(jì)和編碼,剩下的工作就是對(duì)軟件進(jìn)行測(cè)試。軟件測(cè)試是發(fā)現(xiàn)軟件中錯(cuò)誤和缺陷的主要手段。在一般情況下,軟件測(cè)試的過(guò)程與整個(gè)軟件開(kāi)發(fā)過(guò)程根本上是平行進(jìn)行的。軟件測(cè)試是非常重要的因?yàn)闇y(cè)試是為了及時(shí)發(fā)現(xiàn)應(yīng)用程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程,它的目標(biāo)是暴露程序中的錯(cuò)誤,及時(shí)發(fā)現(xiàn)問(wèn)題,提出相應(yīng)的修改方案,及時(shí)解決問(wèn)題,使系統(tǒng)更加完善。單元測(cè)試也稱模塊測(cè)試或程序測(cè)試,單元測(cè)試是對(duì)每個(gè)模塊單獨(dú)進(jìn)行的,驗(yàn)證模塊接口與設(shè)計(jì)說(shuō)明書是否一致,對(duì)模塊的所有主要處理路徑進(jìn)行測(cè)試且與預(yù)期的結(jié)構(gòu)進(jìn)行對(duì)照,還要對(duì)所有錯(cuò)誤處理路徑進(jìn)行測(cè)試。對(duì)源碼進(jìn)行審查,對(duì)照設(shè)計(jì)說(shuō)明書,表態(tài)地檢查源程序
56、是否符合功能的邏輯要求,是進(jìn)行單元測(cè)試前的重要工作工。單元測(cè)試一般是由程序員完成,也稱程序調(diào)試。系統(tǒng)結(jié)果分析與調(diào)試首先,我對(duì)這個(gè)畢業(yè)設(shè)計(jì)程序的每個(gè)模塊和方法都進(jìn)行了單體測(cè)試,由于第一次正式的按照軟件工程的開(kāi)發(fā)流程開(kāi)發(fā)一套軟件程序,在測(cè)試時(shí)感觸頗深。感慨自己編寫的程序在測(cè)試環(huán)節(jié)的時(shí)候問(wèn)題出現(xiàn)之多。其中有些問(wèn)題很棘手,感到很莫名其妙,但后來(lái)經(jīng)過(guò)查閱書籍和相關(guān)資料,都依依得到了順利解決,其中大局部感覺(jué)莫名其妙的問(wèn)題的產(chǎn)生是因?yàn)樽约簩?duì)相關(guān)技術(shù)掌握的不夠扎實(shí)和細(xì)致,同時(shí)也感慨到編寫出一套商用的軟件是多么的不容易。在調(diào)試和測(cè)試的過(guò)程中,在老師和同學(xué)的幫助下,在查閱了一些書籍后,慢慢學(xué)會(huì)了的調(diào)試功能,提高了
57、測(cè)試的效率。下面簡(jiǎn)單的介紹一下,測(cè)試過(guò)程中都遇到了哪些典型的問(wèn)題,以及解決的方法。從數(shù)據(jù)庫(kù)中讀出數(shù)據(jù)后,以O(shè)bject類型返回,直接調(diào)用Object.toString()方法輸出該對(duì)象的字符串表示。該錯(cuò)誤在調(diào)試的過(guò)程中沒(méi)有發(fā)現(xiàn),但是在真正測(cè)試的時(shí)候,JAVA的控制臺(tái)拋出了NullPointerException,后來(lái)查找到原因:因?yàn)閿?shù)據(jù)庫(kù)表中某些字段可以為NULL,所以數(shù)據(jù)庫(kù)表中相應(yīng)的字段可以沒(méi)有數(shù)據(jù),所以返回的Object是null,這樣在調(diào)用Object.toString()的時(shí)候,就發(fā)生了空指針異常,后來(lái)在調(diào)用Object.toString()之前,加了if判斷,問(wèn)題得以解決。在生成試卷
58、的程序里,需要取得數(shù)據(jù)庫(kù)表的結(jié)構(gòu),剛開(kāi)始編寫了一個(gè)方法getResultSetMetaData ()返回ResultSetMetaData對(duì)象,然后將該參數(shù)傳遞給另外一個(gè)方法getCandidate (),但在取得字段的名字和類型時(shí),控制臺(tái)拋出了數(shù)據(jù)庫(kù)連接已關(guān)閉的異常信息。后來(lái)通過(guò)查閱資料和書籍,發(fā)現(xiàn)在getResultSetMetaData方法里面關(guān)閉了數(shù)據(jù)庫(kù)連接Connection,所以出現(xiàn)了該異常,后來(lái)將這兩個(gè)方法合并,問(wèn)題得到了解決。在生成試卷的程序里,需要先生成SQL的插入語(yǔ)句,在測(cè)試時(shí)拋出了列名考試類型錯(cuò)誤,后來(lái)我檢查了一下插入語(yǔ)句,問(wèn)題出在插入語(yǔ)句上,生成了下面的形式INSERT
59、 INTO試卷(試卷名稱, 考試類型,)VALUES (名稱1,期末考試,)這樣的語(yǔ)句,在列名考試類型前多了一個(gè)中文輸入狀態(tài)下的空格,將其刪除掉問(wèn)題就解決了。其次,我對(duì)整個(gè)程序做了整體測(cè)試,經(jīng)過(guò)前一階段的單體測(cè)試,本以為整體測(cè)試不會(huì)發(fā)生什么問(wèn)題,但結(jié)果出乎了我的意料。在整體測(cè)試過(guò)程中暴露了設(shè)計(jì)過(guò)程中的一些問(wèn)題,比方預(yù)先設(shè)計(jì)的方法參數(shù)缺乏,導(dǎo)致前端用戶界面輸入的數(shù)據(jù)沒(méi)方法發(fā)揮作用。還有發(fā)現(xiàn)設(shè)計(jì)中漏寫了一些方法,導(dǎo)致整個(gè)系統(tǒng)不能正常運(yùn)行,后來(lái)發(fā)現(xiàn)問(wèn)題一一修正后,系統(tǒng)得以完好運(yùn)行。調(diào)試和測(cè)試階段是軟件工程開(kāi)發(fā)過(guò)程中很重要的一個(gè)階段,沒(méi)有測(cè)試就沒(méi)有可以健壯運(yùn)行的軟件,如果一套軟件不能有一定的容錯(cuò)能力,就沒(méi)有方法正式的投入使用。調(diào)試和測(cè)試的過(guò)程是需要耐心和嚴(yán)謹(jǐn)?shù)模粋€(gè)小小的誤差往往是需要反復(fù)測(cè)試才能得以改正的。最后經(jīng)過(guò)調(diào)試和測(cè)試,系統(tǒng)全部功能運(yùn)行完好,實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫(kù)間利用XML文件進(jìn)行數(shù)據(jù)交互。通過(guò)以上的測(cè)試方案和測(cè)試方法,對(duì)該系統(tǒng)的各個(gè)細(xì)節(jié)的功能進(jìn)行了詳細(xì)的測(cè)試,得出以下的測(cè)試結(jié)果。本系統(tǒng)已根本上實(shí)現(xiàn)來(lái)題目要求的各項(xiàng)功能。本系統(tǒng)的界面友好,可以很快的掌握操作方法。系統(tǒng)的優(yōu)點(diǎn):(1) 界面友好,操作簡(jiǎn)單。接觸計(jì)算機(jī)較少的操作人員也能根據(jù)菜單項(xiàng)提示進(jìn)行操作。(2) 信息管理詳細(xì),提供了強(qiáng)大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋交易終止合同范本
- 農(nóng)村土地出售合同書樣本
- 停車場(chǎng)租賃合同協(xié)議書范文
- 2024養(yǎng)殖場(chǎng)土地承包合同
- 股票投資代持協(xié)議書
- 2024年彩鋼瓦安裝合同書
- 2024產(chǎn)權(quán)轉(zhuǎn)讓居間合同協(xié)議書
- 工程機(jī)械運(yùn)輸合同模板
- 個(gè)人之間專利權(quán)轉(zhuǎn)讓協(xié)議范本
- 2024年按揭房屋歸女方離婚協(xié)議書
- 2024全球量子產(chǎn)業(yè)發(fā)展報(bào)告
- 場(chǎng)地移交安全管理協(xié)議書
- 醫(yī)院卒中中心建設(shè)各種制度、流程匯編
- 重慶市江北區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期期末考試數(shù)學(xué)試題
- 軍隊(duì)文職聘用合同管理規(guī)定
- 2024年貴州省安順市西秀區(qū)小升初語(yǔ)文試卷
- 2024-2029年中國(guó)兒童牙冠行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 新時(shí)代鐵路發(fā)展面對(duì)面全文內(nèi)容
- 人工智能與語(yǔ)文閱讀理解教學(xué)
- 科學(xué)素養(yǎng)培育及提升-知到答案、智慧樹(shù)答案
- 快遞主管崗位職責(zé)
評(píng)論
0/150
提交評(píng)論