高級(jí)語(yǔ)言程序設(shè)計(jì)題庫(kù)系統(tǒng)論文正文-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第1頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)題庫(kù)系統(tǒng)論文正文-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第2頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)題庫(kù)系統(tǒng)論文正文-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第3頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)題庫(kù)系統(tǒng)論文正文-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第4頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)題庫(kù)系統(tǒng)論文正文-無(wú)憂無(wú)慮畢設(shè)網(wǎng)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

無(wú)憂無(wú)慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 本文配套程序下載地址 : 無(wú)憂無(wú)慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計(jì)站 ,免費(fèi)畢業(yè)設(shè)計(jì)論文 ,無(wú)憂無(wú)慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計(jì) ,出售各類畢業(yè)設(shè)計(jì)源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費(fèi)視頻教程 ,我們將竭誠(chéng)為您服務(wù)! 前言 本軟件采用和以往不同數(shù)據(jù)存儲(chǔ)模式 (C/S),C/S 模式的運(yùn)用使軟件的靈活度大大的增強(qiáng) ,出卷老師可以在不同的地方直接登陸學(xué)校提供的的專用數(shù)據(jù)庫(kù)進(jìn)行試卷的出題和管理。 C/S 架構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng),由于數(shù)據(jù)庫(kù)是建立在通用的平臺(tái)之上,并且支持 SQL 這樣的通用技術(shù),對(duì)數(shù)據(jù)庫(kù)的維護(hù)工作更加專業(yè),但更為 開放,這意味著維護(hù)和進(jìn)一步開發(fā)對(duì)原設(shè)計(jì)開發(fā)者的依賴性可以降低。 所以 SQL Server 是當(dāng)然的首選 .而在前端開發(fā)軟件方面就采用簡(jiǎn)單的對(duì)編碼要求不高的Delphi 軟件進(jìn)行編寫 .在連接 Delphi 與 SQL Server 就才用了 ADO 控件來(lái)完成。ADOConnection 可讓應(yīng)用程序直接訪問(wèn)并修改數(shù)據(jù)源 .ADOConnection 好處就是他建立一個(gè)數(shù)據(jù)庫(kù)連接 ,并且其連接可以被多個(gè)其他的 ADO 控件所共享 .合理使用 TADOConnection 控 件 可 以 起 節(jié) 省 資 源 的 作 用 。 本 系 統(tǒng) 通 過(guò) 一 個(gè)ADOConnection 連接數(shù)據(jù) 庫(kù),其他控件像 ADOQuery 和 ADOTable 就通過(guò)ADOConnection 連接。而在連接時(shí)控件可重用。系統(tǒng)有錄入,組卷和查詢等基本功能。建立一套試卷都有一個(gè)基本的程序。先確定試卷,再錄入,然后組卷。完畢后可以查詢修改。這就是本套軟件的基本功能簡(jiǎn)單。 -景 德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 摘要 畢業(yè)設(shè)計(jì)源碼下載: 摘要 為適應(yīng)高校計(jì)算機(jī)語(yǔ)言考試改革的需要 ,提高工作效率 ,利用計(jì)算機(jī)進(jìn)行試題庫(kù)管理及計(jì)算機(jī)輔助教學(xué)與測(cè)試是教學(xué)改革的一項(xiàng)重要課題 .任何一門課程的教學(xué) ,都面臨著信息時(shí)代多方面的挑戰(zhàn) .首先是來(lái)自教學(xué)手段與教學(xué)方法改革的挑戰(zhàn) ,如計(jì)算機(jī)多媒體技術(shù)就已成為高等教育中 較為重要的現(xiàn)代化教學(xué)工具之一 ,它具有直觀、便捷、信息量大等優(yōu)點(diǎn) ,并且發(fā)展迅速 ,推動(dòng)了教育教學(xué)改革的進(jìn)程 ,使教學(xué)逐步走向現(xiàn)代化 .其次是面臨著教學(xué)考試的規(guī)范化、標(biāo)準(zhǔn)化 ,因此試題管理與建設(shè)顯得十分重要 .再者是來(lái)自實(shí)行“教考分離”制度方面挑戰(zhàn) ,“教考分離”是一項(xiàng)推動(dòng)教學(xué)改革的重要措施 ,它的實(shí)施避免了一些干擾教學(xué)秩序的人為因素 ,同時(shí)對(duì)教育教學(xué)質(zhì)量起到了一定的促進(jìn)作用 .本系統(tǒng)主要針對(duì)全校公共高級(jí)語(yǔ)言程序設(shè)計(jì)課程 ,為其提供題庫(kù)管理和試卷生成功能 .在以往老師出試卷都是從龐大的文字題庫(kù)里把試題一道一道挑出來(lái) , 這樣即費(fèi)時(shí)又費(fèi) 力,而且很難保證試題的覆蓋面和把握好試卷的難度。正是為了能夠幫助教師輕松的出一份高質(zhì)量的試卷而開發(fā)了本軟件。系統(tǒng)提供試卷管理跟手工自動(dòng)組卷功能。為實(shí)現(xiàn)資源共享 ,題庫(kù)服務(wù)器統(tǒng)一存放 ,各客戶連機(jī)實(shí)現(xiàn)所需功能 ,故用 C/S 模式 :前端開發(fā)采用 Delphi,后臺(tái)數(shù)據(jù)存儲(chǔ)采用 SQL Server.本軟件主要實(shí)現(xiàn)的功能有 : ( 1)科目選擇;( 2)數(shù)據(jù)庫(kù)連接;( 3)試題錄入;( 4)備份題庫(kù);( 5)組卷 (練習(xí)卷,考試卷 )(自動(dòng)型,手動(dòng)選擇型);( 6)導(dǎo)出試卷;( 7)套卷管理;( 8)用戶管理;( 9)題目查詢;( 10)主框架窗口設(shè) 計(jì)。 關(guān)鍵字 :題庫(kù)系統(tǒng) ,窗體,控件, C/S -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 Abstract III Abstract It has become an important topic to make use of computer to do examination database management, to educate and test, which meets the demand of computer examination reform. The teaching of every subject is faced with the challenges from various aspects in information areas. First, it comes from the challenge of teaching means and method-reform, for example, computer multimedia technology has become one of more important teaching tools in modern world, which has the advantages, such as intuitiveness, convenience, great capacity. This technology develops so quickly that it gets a great progress of education reform, which modernizes the teaching methods gradually. Second, examination management and construction seems to be much more important, for it is faced with the normalization, standardization of teaching examination. Third, it comes from the challenge of the systems execution “the separation of teaching and testing”, an important measure of education reform, which avoids some artificial factors, affecting teaching order, and meantime promotes the rise of teaching quality of education. This system mainly aims at providing functions of the management of test questions and the creation of test paper for the public high level programming language of the whole schools .In the past ,the teachers usually selected the test questions one by one by themselves ,and not only is it really a time-consuming and energy- consuming task, but also it is hard to guarantee the covering surface and the difficulty of the tests. It is to help the teachers make a test easily that we develop this software. This system provides functions of test management and test combination by hand .In order to achieve resource-sharing, a database server deposit the united tests , we connect our computers to achieve the functions we need ,and therefore we use C/S mode , and the front stage adopts to Delphi, and the background stage uses SQL Sever .The functions that this software mainly carries out are : (1)The category choice;(2)The database connection;(3)The input of records;(4)The backup of -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 Abstract IV database;(5)Making up tests(the practice tests , examination tests);(automatic type, hand-choosing type)(6)The output of tests;(7)The management of tests;(8)User management;(9)The topic search;(10)The design of main frame window. Key word: Textbase System, Controlling part ,window body , C/S. -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 目錄 V 目錄 前言 . I 摘要 . II Abstract .III 第一章:可行性研究 . 1 1.1 開發(fā)背景 . 1 1.2 開發(fā)工具簡(jiǎn)介 . 1 1.2.1Delphi 7.0 的特點(diǎn) . 1 1.2.2 主要控件及其屬性 . 2 1.1.3 SQL Server2000 的特點(diǎn) . 3 1.1.4 主要 SQL 語(yǔ)言簡(jiǎn)介 . 4 第二章:系統(tǒng)分析階段 . 5 2.1.需求分析 . 5 2.1.1 問(wèn)題提出 . 5 2.1.2 調(diào)查分析 . 5 2.2 功能分析 . 6 2.2.1 系統(tǒng)功能模塊圖 . 6 2.2.2 系統(tǒng)數(shù)據(jù)流程圖 . 9 2.3 數(shù)據(jù)庫(kù)設(shè)計(jì) . 11 第三章:系統(tǒng)總體設(shè)計(jì) . 14 3.1 任務(wù)分配 . 14 3.2 設(shè)計(jì)總則 . 14 3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) . 15 第四章:系統(tǒng)詳細(xì)設(shè)計(jì) . 19 4.1 系統(tǒng)主界面 . 19 4.2 系統(tǒng)數(shù)據(jù)庫(kù)連接 . 20 4.3 系統(tǒng)管理數(shù)據(jù)備份 . 22 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 目錄 VI 4.4 試卷錄入模塊 . 24 4.5 科目設(shè)置模塊 . 27 4.6 題目查詢模 塊 . 28 4.7 套卷管理模塊 . 32 4.8 結(jié)論 . 35 第五章:系統(tǒng)測(cè)試 . 36 5.1 引言 . 36 5.2 軟件測(cè)試的目標(biāo) . 36 5.3 軟件測(cè)試方案 . 36 5.3.1 單元測(cè)試 . 37 5.3.2 集成測(cè)試 . 40 第六章:結(jié)束語(yǔ) . 41 致謝 . 42 參考文獻(xiàn) . 43 附錄一:軟件的系統(tǒng)需求 . 44 附錄二: Microsoft SQLServer2000 中的數(shù)據(jù)轉(zhuǎn)換服務(wù) . 45 英文原文: Data Transformation Services (DTS) inMicrosoft SQL Server 2000 . 49 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第一章 可行性研究 1 第一章:可行性研究 1.1 開發(fā)背景 經(jīng)調(diào)查,高級(jí)語(yǔ)言如 C 語(yǔ)言, ASP.net, Delphi 和 Java 等等主要針對(duì)的是現(xiàn)在高校公共課高級(jí)程序設(shè)計(jì)課程?,F(xiàn)在我國(guó)高校高級(jí)語(yǔ)言課程已相當(dāng)普遍,各種高級(jí)語(yǔ)言課程已經(jīng)是現(xiàn)在各高校的必修課程,用一個(gè)系統(tǒng)來(lái)統(tǒng)一管理各種語(yǔ)言 試題題目是需要的。 1.2 開發(fā)工具簡(jiǎn)介 1.2.1Delphi 7.0 的特點(diǎn) Delphi 是 Borland 公司出品的開發(fā)工具,在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇 Delphi 呢?因?yàn)?Delphi 具有眾多其它開發(fā)工具所沒有的優(yōu)點(diǎn)!具體介紹如下: 開發(fā)的高效 語(yǔ)言的高效 編譯的高效 執(zhí)行的高效 維護(hù)的高效 基于這樣的高效,我們毫不憂郁的選擇了 Delphi 做為我們的開發(fā)工具! -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第一章 可行性研究 2 1.2.2 主要控件及其屬性 TForm 類的控件: 1. BorderIcons 屬性:用來(lái)控制程序標(biāo)題按鈕的可用性。 2. BorderStyle 屬性 :用來(lái)控制程序邊框的樣式。 3. Color 屬性:用來(lái)控制程序界面的顏色。 4. Font 屬性:用來(lái)控制程序界面的字體。 5. Position 屬性:用來(lái)控制程序運(yùn)行時(shí)界面的顯示位置。 TADOConnection 類的控件: 1. ConnectionString 屬性:用來(lái)控制鏈接字符串。 2. LoginPrompt 屬性:用來(lái)控制鏈接時(shí)是否要輸入密碼。 3. Connected 屬性:用來(lái)控制是否進(jìn)行鏈接。 TADOQuery 類的控件: 1. Connection 屬性:用來(lái)指定和哪個(gè) TADOConnection 控件相連。 2. SQL 屬性:用來(lái)添加向數(shù)據(jù) 庫(kù)提交的 SQL 語(yǔ)句。 3. Add 方法:用來(lái)向 SQL 屬性添加 SQL 語(yǔ)句。 4. Open 方法:用來(lái)執(zhí)行 SQL 語(yǔ)言中的 Select 語(yǔ)句。 5. ExecSQL 方法:用來(lái)執(zhí)行任何 SQL 語(yǔ)句。 6. FieldByName 屬性:用來(lái)給數(shù)據(jù)庫(kù)的字段賦值。 7. FidldValues 屬性:用來(lái)取出數(shù)據(jù)庫(kù)的字段的。 8. Append 方法:用來(lái)向數(shù)據(jù)庫(kù)添加一條記錄。 9. Edit 方法:用來(lái)編輯當(dāng)前的記錄。 10. Post:用來(lái)向數(shù)據(jù)庫(kù)提交所做的修改。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第一章 可行性研究 3 TADOTable 類的控件: 1. Connection 屬性:用來(lái)指定和哪個(gè) TADOConnection 控件相連。 2. Open 方法:用來(lái)打開數(shù)據(jù)庫(kù)中指定的表。 3. FieldByName 屬性:用來(lái)給數(shù)據(jù)庫(kù)的字段賦值。 4. FidldValues 屬性:用來(lái)取出數(shù)據(jù)庫(kù)的字段的。 5. Append 方法:用來(lái)向數(shù)據(jù)庫(kù)添加一條記錄。 6. Edit 方法:用來(lái)編輯當(dāng)前的記錄。 7. Post:用來(lái)向數(shù)據(jù)庫(kù)提交所做的修改。 TDataSource 類的控件: 1. DataSet:用來(lái)指定和哪個(gè)數(shù)據(jù)集相連。 1.1.3 SQL Server2000 的特點(diǎn) SQL Server 是 Microsoft 公司在與 Sybase 公司原來(lái)合作的基礎(chǔ)上推出的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),一經(jīng)推出迅速成 為 Windows NT 網(wǎng)絡(luò)方案的首選數(shù)據(jù)庫(kù)系統(tǒng)。 SQL 是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言。 SQL 語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點(diǎn)如下: 1. 實(shí)現(xiàn)了客戶機(jī) /服務(wù)器模式 2. 與 Internet 集成 3. 具備很強(qiáng)的可伸縮性和可用性 4. 具備企業(yè)級(jí)數(shù)據(jù)庫(kù)功能 5. 易安裝、部署和使用 6. 數(shù)據(jù)倉(cāng)庫(kù)功能 我們之所以選擇 SQL2000 做后臺(tái)支持,因?yàn)樗?Windows 數(shù)據(jù)庫(kù)家族中出類拔萃的成員,這種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)能夠滿足各種類型的企業(yè)客戶和獨(dú)立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需要。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第一章 可行性研究 4 1.1.4 主要 SQL 語(yǔ)言簡(jiǎn)介 1. GREATE TABLE 建立數(shù)據(jù)表 2. ALTER TABLE 修改數(shù)據(jù)表 3. SELECT ALL/DISTINCT查詢數(shù)據(jù)表 4. UPDATA TABLE 更新數(shù)據(jù)表 5. INSERT TNTO TABLE 插入數(shù)據(jù)表 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 5 第二章:系統(tǒng)分析階段 2.1.需求分析 2.1.1 問(wèn)題提出 目前,高校仍然沿襲了多年來(lái)由主講教師個(gè)人分散出題和判卷的體制與方法。實(shí)踐證明它存在明顯的缺陷和弊端,主要表現(xiàn)在:一是出題和判卷難以擺脫個(gè)別教師主觀隨意性的干擾,降低了考題的科學(xué)性和考試成績(jī)的準(zhǔn)確性;二是出題的個(gè)人分散性,難 以反映教學(xué)大綱的全面要求和教研室的集體智慧,容易出現(xiàn)同一課程的考試難易程度相差懸殊的現(xiàn)象;三是試題的覆蓋面狹窄,不利于引導(dǎo)學(xué)生全面復(fù)習(xí)和掌握基礎(chǔ)知識(shí)技能,甚至導(dǎo)致學(xué)生猜題,壓題,向主講老師摸題等不良現(xiàn)象,誘發(fā)了舞弊行為,降低了考試的要求,也影響了考試的嚴(yán)肅性。建立題庫(kù),每次考試前由題庫(kù)生成試卷,則可以較好地解決教考分離的問(wèn)題,也可以大大減低老師命題的工作量。而且題庫(kù)系統(tǒng)管理可以有系統(tǒng)的管理試卷,試題文檔統(tǒng)一存儲(chǔ)在電腦數(shù)據(jù)庫(kù)里,統(tǒng)一備份,為以后隨時(shí)抽取當(dāng)時(shí)試卷提供方便。題庫(kù)系統(tǒng)還有一個(gè)優(yōu)點(diǎn)就是它的保密性和客觀 性良好。所以建立一個(gè)功能完備,題型覆蓋面廣的題庫(kù)系統(tǒng)相當(dāng)重要。 2.1.2 調(diào)查分析 經(jīng)過(guò)對(duì)主講老師和教研室老師的調(diào)查分析,了解題庫(kù)系統(tǒng)的需要的功能。 一:現(xiàn)在計(jì)算機(jī)語(yǔ)言有很多種,語(yǔ)言更新很快,為配合學(xué)生的全面發(fā)展,現(xiàn)在高校的題庫(kù)系統(tǒng)必須涵蓋當(dāng)今主流和潮流各種語(yǔ)言,并順應(yīng)時(shí)代的發(fā)展可以往題庫(kù)里追加新的計(jì)算機(jī)語(yǔ)言。雖然計(jì)算機(jī)語(yǔ)言是多種多樣的,但要出卷考查時(shí)所出的題型是基本相同,所以系統(tǒng)可以分別提供各種計(jì)算機(jī)語(yǔ)言的試卷。 二:試題庫(kù)的試題的錄入應(yīng)該方便而且簡(jiǎn)單,為老師出卷省去繁瑣的重復(fù)操作,-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 6 題庫(kù)系統(tǒng)應(yīng)該可更新刪除 操作。根據(jù)不同的學(xué)生可以出不同難度的試題,不同考試方式有不同的難度,考試卷或者練習(xí)卷難度不同,考試卷必須難度適中,練習(xí)卷則只針對(duì)一種難度,所以要為試題添加難度選擇。還有就是根據(jù)題目的難度和覆蓋知識(shí)點(diǎn)的多少可以為試題添加相應(yīng)的分值。 三:為適合不同的用戶的需要提供靈活的組卷方式,出卷老師自主控制的難度和分值手工出卷,或者是方便快速的向?qū)妥詣?dòng)組卷。 四:根據(jù)需要,如考點(diǎn)覆蓋或試題誤錯(cuò)對(duì)已輸入題目進(jìn)行相關(guān)的試題查詢。并根據(jù)需要對(duì)試題相關(guān)的修改或更新進(jìn)一步完善題庫(kù)系統(tǒng)。 五:針對(duì)舊試卷重復(fù)使用和對(duì)已生成的試卷的進(jìn) 行統(tǒng)一管理,查詢?cè)嚲淼陌}目、難易度、分值等。 六:針對(duì)管理題庫(kù)的防止災(zāi)難導(dǎo)致數(shù)據(jù)庫(kù)丟失的數(shù)據(jù)庫(kù)備份功能。 七:對(duì)訪問(wèn)題庫(kù)權(quán)限,增加出卷老師和管理員不同用戶的登陸方式。 2.2 功能分析 2.2.1 系統(tǒng)功能模塊圖 下面通過(guò)系統(tǒng)的功能模塊來(lái)介紹系統(tǒng)的基本構(gòu)造,系統(tǒng)登錄采用分用戶登錄(如圖 2-2-1 所示),管理員登錄可以享有最大的權(quán)限,而出卷老師的登錄就會(huì)屏蔽掉系統(tǒng)管理的功能,以防誤操作造成系統(tǒng)故障。(如圖 2-2-2 所示) -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 7 圖2-2-1 登錄功能模塊圖 圖 2-2-2 主界面功能模塊圖 下面介紹各功能子模塊的具體功能,分別有四個(gè)子模塊:系統(tǒng)管理子模塊、試卷管理子模塊、試卷錄入子模塊和定制試卷子模塊。(如圖 2-2-3、圖 2-2-4、圖2-2-5、圖 2-2-6) 系統(tǒng)登錄 管理員登錄 出卷老師登錄 用戶 管理員密碼 用戶 密碼 高級(jí)語(yǔ)言題庫(kù)系統(tǒng) 系統(tǒng)管理子模塊 試卷管理子模塊 試卷錄入子模塊 定制試卷子模塊 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 8 圖 2-2-3 系統(tǒng)管理功能模塊圖 圖 2-2-4 試卷管理模塊圖 系統(tǒng)管理子模 塊 管理員信息 出卷老師信息 備份題庫(kù) 試卷管理子模塊 套卷管理 科目設(shè)置 題目查詢 管理試卷 試卷預(yù)覽 按難度查詢 按分值查詢 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 9 圖 2-2-5 試卷 錄入模塊圖 圖 2-2-6 定制試卷模塊圖 2.2.2 系統(tǒng)數(shù)據(jù)流程圖 系統(tǒng)登錄后,數(shù)據(jù)主要在四個(gè)子模塊中流動(dòng)。其中以試題的編號(hào)信息為主鍵。(如圖 2-2-7 所示) 試卷錄入子模塊 選擇題錄入 判斷題錄入 程序閱讀題錄入 程序填空題錄入 定制試卷 手工生成 自動(dòng)生成 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 10 圖 2-2-7 系統(tǒng)數(shù)據(jù)流程圖 高級(jí)語(yǔ)言程序題庫(kù)設(shè)計(jì)系統(tǒng) 管理員 出卷老師 用戶名密碼 用戶名密碼 管理員身份 數(shù)據(jù) 備份 錄入 試題 管理 試卷 輸入題目的相關(guān)內(nèi)容 生成 試卷 手動(dòng) 自動(dòng) 試卷 管理 套卷 設(shè)置 科目 查詢 題目 試卷 增加 語(yǔ)言 新增 試卷 生成 查詢 是否組卷 預(yù)覽 按分值 按難度 相 關(guān)題目 修改 Y 戶信息 修改用 管理 系統(tǒng) -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 11 2.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 這是介紹系統(tǒng)中各實(shí)體的 E-R 圖如下: 1. 管理員實(shí)體 E-R 圖: 在數(shù)據(jù)庫(kù)中建的表是管理員信息表是( tbAdmin),這表儲(chǔ)存了管理員用戶信息,用戶名和密碼(如圖 2-3-1 所示)。 圖 2-3-1 管理員信息 E-R 圖 2.出卷老師實(shí)體 E-R 圖: 在數(shù)據(jù)庫(kù)中建的標(biāo)識(shí)出卷老師信息表是( tbTeach),這表儲(chǔ)存了出卷老師的用戶信息,用戶和密碼。(如圖 2-3-2 所示) 圖 2-3-2 出卷老師 E-R 圖 3.語(yǔ)言實(shí)體 E-R 圖: 在數(shù)據(jù)庫(kù)建的是語(yǔ)言信息表( tbTopic) ,存儲(chǔ)了語(yǔ)言的編號(hào)和語(yǔ)言種類。(如圖2-3-3 所示)管理員 用戶名 密碼 出卷老師 用戶名 密碼 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 12 圖 2-3-3 語(yǔ)言信息 E-R 圖 4 試卷實(shí)體 E-R 圖: 在數(shù)據(jù)庫(kù)建的是試卷信息表( tbTest) ,儲(chǔ)存了試卷的信息,有試卷的編號(hào),試卷的名稱,分?jǐn)?shù),還有是否組卷。(如圖 2-3-4 所示) 圖 2-3-4 試卷信息 E-R 圖 5 題目信息 ER 圖 : 系統(tǒng)包括 4 種基本的題型供選擇,選擇題,判斷題,程序填空題,程序閱讀題,在數(shù)據(jù)庫(kù)中分別用 4 個(gè)表存儲(chǔ)。( tbSelect)、( tbJudge)、( tbFill)、( tbProgRead)。 4 個(gè)表相同的就有編號(hào),題干,分值,答案,難易度,語(yǔ)言,試題解析。由于 4 種題只是不同在于有些題干和答案較多,跟提問(wèn)的方式不同,如選擇題通常由四個(gè)選擇項(xiàng),填空題要添的空就或多或少,判斷題就只有正確根錯(cuò)誤兩個(gè)選擇,而程序填空題就有更多的因數(shù)了,有個(gè)大的題干,而在大題干下游若干個(gè)分題干,針對(duì)每一個(gè)分題干題目又會(huì)提出若干個(gè)問(wèn)題答案又會(huì)是若干個(gè)的。所以我在這就不把他們 ER 圖都列出來(lái)了,統(tǒng)一用一個(gè) E-R 表達(dá)。(如 2-3-5所示) 試卷信息 編號(hào) 試卷名 分?jǐn)?shù) 是否組卷 語(yǔ)言信息表 編號(hào) 語(yǔ)言 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第二章 系統(tǒng)分析階段 13 圖 2-2-5 題目信息 E-R 圖 題目信息 編號(hào) 答案 題干 分值 難易度 語(yǔ)言 試題解析 其他信息 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第三章 系統(tǒng)總體設(shè)計(jì) 14 第三章:系統(tǒng)總體設(shè)計(jì) 經(jīng)過(guò)系統(tǒng)分析階段,我們了解了系統(tǒng)的大體需要,現(xiàn)在 我們來(lái)介紹一下系統(tǒng)的總體設(shè)計(jì)。 3.1 任務(wù)分配 下面是本系統(tǒng)任務(wù)工作的分配,系統(tǒng)是由我跟我們班的黃福楊同學(xué)合作完成的。 ( 1)科目選擇; ( 2)數(shù)據(jù)庫(kù)連接; ( 3)試題錄入; ( 4)備份題庫(kù); ( 5)組卷 (練習(xí)卷,考試卷 )(自動(dòng)型,手動(dòng)選擇型); ( 6)導(dǎo)出試卷; ( 7)套卷管理; ( 8)用戶管理; ( 9)題目查詢; ( 10)主框架窗口設(shè)計(jì)。 我負(fù)責(zé)的任務(wù)是( 1)科目選擇、( 2)數(shù)據(jù)庫(kù)連接、( 3)試題錄入、( 4)備份題庫(kù)、( 7)套卷管理、( 9)題目查詢。 3.2 設(shè)計(jì)總則 設(shè)計(jì)系統(tǒng)的原則是以用戶的需求為目標(biāo), 站在用戶的角度上用戶規(guī)劃設(shè)計(jì),讓用戶以最經(jīng)濟(jì)的投入來(lái)獲得最成熟、最實(shí)用的技術(shù)。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第三章 系統(tǒng)總體設(shè)計(jì) 15 3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 系統(tǒng)中用戶信息,科目和試題都在數(shù)據(jù)庫(kù)里有他相應(yīng)的表關(guān)聯(lián)。 詳細(xì)的表設(shè)計(jì)如下: 表 3.3.1 管理員用戶表 ( tbAdmin) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FUserName char 10 Not null 是 名稱 FPassword char 10 Not null 密碼 表 3.3.2 出卷老師用戶表 (tbTeach) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FTeachName char 10 Not null 是 名稱 FPassword char 10 Not null 密碼 表 3.3.3 選擇題錄入表 ( tbSelect) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FThemeID int 4 Not null 是 編號(hào) FThemeBody nvarchar 800 Not null 題干 FChooseA nvarchar 800 Not null 選擇 A FChooseB nvarchar 800 Not null 選擇 B FChooseC nvarchar 800 選擇 C FChooseD nvarchar 800 選擇 D FKey char 1 Not null 答案 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 試題解析 FTopic char 10 Not null 語(yǔ)言 Fdifficult char 10 Not null 難易度 試題編號(hào)作為主鍵,為選題組卷時(shí)為試題提供搜索記錄,也為每道試題確定它的唯一標(biāo)示。因?yàn)檫x擇題最起碼有兩個(gè)選項(xiàng),所以 A 和 B 不能為空。大多數(shù)選擇題都是 4 個(gè)選項(xiàng) C 和 D 也是必須的。因?yàn)橛行╊}目可能比較簡(jiǎn)單或者是公-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第三章 系統(tǒng)總體設(shè)計(jì) 16 理沒得解析所以試題解析項(xiàng)也是允許為空的。 表 3.3.4 填空錄入表 ( tbFill) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FThemeID int 4 Not null 是 編號(hào) FThemeBody nvarchar 800 Not null 題干 FVacancyA nvarchar 800 Not null 填空 A FVacancyB nvarchar 800 填空 B FVacancyC nvarchar 800 填空 C FVavancyD nvarchar 800 填空 D FCount tinyint 1 Not null 分值 FRemark nvarchar 800 試題解析 FTopic char 10 Not null 語(yǔ)言 Fdifficult char 10 Not null 難易度 試題編號(hào)作為主鍵,為選題組卷時(shí)為試題提供搜索記錄,也為每道試題確定它的唯一標(biāo)示。填空題一個(gè)填空式必有的,所以第一空必須不為空,在此之外又會(huì)有多個(gè)填空,所以后幾個(gè)是允許空的 。填空不像其它的題目,一個(gè)個(gè)的填空就算是他的答案。答案的字段在這就沒必要了。因?yàn)橛行╊}目可能比較簡(jiǎn)單或者是公理沒得解析所以試題解析項(xiàng)也是允許為空的。 表 3.3.5 判斷題錄入表 ( tbJudge) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FThemeID int 4 Not null 是 編號(hào) FThemeBody nvarchar 800 Not null 題干 FKey bit 1 Not null 答案 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 試題解析 FTopic char 10 Not null 語(yǔ)言 Fdifficult char 10 Not null 難易度 試題編號(hào)作為主鍵,為選題組卷時(shí)為試題提供搜索記錄,也為每道試題確定它的唯一標(biāo)示。判斷題只有正確跟錯(cuò)誤兩種情況。所以有些題目可能比較簡(jiǎn)單或-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第三章 系統(tǒng)總體設(shè)計(jì) 17 者是公理沒得解析所以試題解析項(xiàng)也是允許為空的。 表 3.3.6 程序閱讀題錄入表 ( tbProgRead) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FThemeID int 4 Not null 是 編號(hào) FThemeBody nvarchar 800 Not null 主題干 FBody1 nvarchar 800 Not null 分題干 1 FChoose1A nvarchar 800 Not null 選擇 A FChoose1B nvarchar 800 Not null 選擇 B FChoose1C nvarchar 800 Not null 選擇 C FChoose1D nvarchar 800 Not null 選擇 D FBody2 nvarchar 800 分題干 2 FChoose2A nvarchar 800 選擇 A FChoose2B nvarchar 800 選擇 B FChoose2C nvarchar 800 選擇 C FChoose2D nvarchar 800 選擇 D FBody3 nvarchar 800 分題干 3 FChoose3A nvarchar 800 選擇 A FChoose3B nvarchar 800 選擇 B FChoose3C nvarchar 800 選擇 C FChoose3D nvarchar 800 選擇 D FKey1 char 1 Not null 答案 1 FKey2 char 1 答案 2 FKey3 char 1 答案 3 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 試題解析 FTopic char 10 Not null 語(yǔ)言 Fdifficult char 10 Not null 難易度 試題編號(hào)作為主鍵,為選題組卷時(shí)為試題提供搜索記錄,也為每道試題確定它的唯一標(biāo)示。程序填空題通常都是試題的大題,它 在大題干下有多個(gè)分題干,-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第三章 系統(tǒng)總體設(shè)計(jì) 18 分題干又有多個(gè)選項(xiàng),但一個(gè)分題干和一個(gè)答案是必須的。有些題目可能比較簡(jiǎn)單或者是公理沒得解析所以試題解析項(xiàng)也是允許為空的。 表 3.3.7 語(yǔ)言分類表 ( tbTopic) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FTopicID char 10 Not null 語(yǔ)言編號(hào) FTopic char Not null 是 語(yǔ)言名稱 各種試題的題型都必須有語(yǔ)言的選擇,所以語(yǔ)言分類表中以語(yǔ)言的名稱為主鍵。 表 3.3.8 套卷管理表 ( tbTest) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 FTestID int 4 Not null 是 試題編號(hào) FTestName varchar 20 Not null 試題名稱 FCount tinyint 1 Not null 試題總分 FTopic char 10 Not null 試題語(yǔ)言 FIsCreate tinyint 1 Not null 是否組卷 以試卷的的編號(hào)為主鍵,還記錄了試卷的各種基本信息,該試卷的名稱,總分,還有試卷要考查的語(yǔ)言。還有在管理時(shí)記錄該試卷是否組卷的相關(guān)信息。 表 3.3.9 組卷信息表 ( tbTestTheme) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否主鍵 說(shuō)明 TestThemeid int 4 Not null 試 題 臨 時(shí)編號(hào) Testid int 4 Not null 試卷編號(hào) Themeid int 4 Not null 題目編號(hào) Themetype char 10 Not null 題目類型 組卷時(shí)根據(jù)試題的題目類型根編號(hào)組卷。在組卷是需要一個(gè)臨時(shí)編號(hào)儲(chǔ)存相關(guān)信息。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 19 第四章:系統(tǒng)詳細(xì)設(shè)計(jì) 系統(tǒng)詳細(xì)設(shè)計(jì),系統(tǒng)功能的實(shí)現(xiàn)分成 5 個(gè)模塊,系統(tǒng)管理,試卷錄入,試卷管理,定制試卷和數(shù)據(jù) 庫(kù)連接。我主要負(fù)責(zé)系統(tǒng)管理模塊里的數(shù)據(jù)備份,試卷管理,試卷錄入和數(shù)據(jù)庫(kù)連接模塊。 4.1 系統(tǒng)主界面 讓我們先看看主界面,系統(tǒng)主界面簡(jiǎn)單明了(如圖 4-1-1 所示),具體功能在子目錄下完成。 圖 4-1-1 系統(tǒng)主界面 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 20 主界面部分代碼: procedure TMainFrm.FormShow(Sender: TObject); /在窗體顯示創(chuàng)建的 ,根據(jù)戶來(lái)設(shè)置哪些菜單可用 begin if UserType=Teach then /當(dāng)用戶是用出卷老師登陸 時(shí), /系統(tǒng)管理功能就回屏蔽 begin N1.Enabled:=false; /系統(tǒng)理菜單屏蔽 N7.Enabled:=true; N12.Enabled:=true; end end; 4.2 系統(tǒng)數(shù)據(jù)庫(kù)連接 此模塊是數(shù)據(jù)管理模塊 ,Delphi 有個(gè)專用的 Data Module 來(lái)存放系統(tǒng)各連接數(shù)據(jù)庫(kù)的控件(如圖 4-2-1 所示)。用來(lái)放各種數(shù)據(jù)庫(kù)控件用一個(gè) ADOConnection控件 來(lái)建立向數(shù)據(jù)庫(kù) SQL Server 的連接,而其他控件共用這個(gè) ADO 連接 ,方便系統(tǒng)的數(shù)據(jù)管理。程序中每個(gè)相應(yīng)的數(shù)據(jù)源 DataSource 都在這模塊里有它們的ADOQuery 或 ADOTable 控件。通過(guò)簡(jiǎn)單的指定 ADOTable 控件所連接的數(shù)據(jù)庫(kù)和數(shù)據(jù)表,就可以訪問(wèn)某一指定的數(shù)據(jù)表。 ADOQuery 控件也是一個(gè)數(shù)據(jù)集類型控件,不過(guò)它的數(shù)據(jù)集不一定對(duì)應(yīng)一個(gè)數(shù)據(jù)表,而是對(duì)應(yīng)一個(gè)數(shù)據(jù)查詢 SQL 語(yǔ)句查詢返回結(jié)果,使用 SQL 語(yǔ)句可以將大部分工作在數(shù)據(jù)庫(kù)服務(wù)端完成,這樣節(jié)約了網(wǎng)絡(luò)的開銷和客戶端的資源。 根據(jù)不同的需要,程序 中其他各模塊在程序中選用不同控件。其中登錄模塊、判斷題錄入、科目語(yǔ)言模塊、備份模塊和組卷模塊選用 ADOQuery 控件。而管理員信息模塊、出卷老師信息模塊、選擇題錄入模塊、程序填空題錄入模塊、程序閱讀題錄入模塊、套卷管理模塊和科目語(yǔ)言模塊則選用 ADOTable 控件。 系統(tǒng)因?yàn)橐獪y(cè)試的方便,在編程的時(shí)候采用本地服務(wù)器作為后臺(tái)服務(wù)器。這-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 21 就為以后移植時(shí)帶來(lái)麻煩,所以我就采用 TXT 文件來(lái)讀取服務(wù)器,文本文件只是在登錄時(shí)調(diào)用一下,讀取服務(wù)器名字,這就可以動(dòng)態(tài)的控制服務(wù)器了。在系統(tǒng)程序主目錄下放置這個(gè)文件,文件里打入作為 服務(wù)器的名字。當(dāng)要改變服務(wù)器的時(shí)候,就改變 TXT 文件里相應(yīng)的服務(wù)器的名字。這樣設(shè)置就增強(qiáng)了本系統(tǒng)的可移植性。 現(xiàn)在說(shuō)一下系統(tǒng)的初始化步驟,系統(tǒng)在初始化的時(shí)候,首先創(chuàng)建了兩個(gè)窗體,一個(gè)是主界面窗體,另外一個(gè)就是數(shù)據(jù)庫(kù)連接 ( DM) 。當(dāng) DM 初始化到一半的時(shí)候就會(huì)通過(guò)代碼創(chuàng)建登錄窗體 ( Login) ,登錄完畢后,主界面窗體和 DM 也初始化完畢,顯示主窗體。在 DM 初始化的時(shí)候,如果連接數(shù)據(jù)庫(kù)失敗,可能是數(shù)據(jù)庫(kù)名錯(cuò)誤或登錄數(shù)據(jù)庫(kù)密碼錯(cuò)誤。就會(huì)在登錄主界面的時(shí)候顯示“連接數(shù)據(jù)庫(kù)服務(wù)器出錯(cuò) ,請(qǐng)重新輸入 ServerName”,雖 然可以登錄主界面,但是無(wú)法進(jìn)行任何操作。 圖 4-2-1 數(shù)據(jù)庫(kù)控件界面 DM 的代碼如下 ; procedure TDM.DataModuleCreate(Sender: TObject); var connstring,servername:string; /前一個(gè)為數(shù)據(jù)庫(kù)連接字符串 , /后一個(gè)存儲(chǔ)服務(wù)器名 filev:TextFile; /定義一個(gè)文件變量 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 22 begin connstring:=Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=exam;Data Source=; /連接字符串的前半部分 ,連接數(shù)據(jù)庫(kù)密碼為 /1234,用戶名為 SA,要連接的數(shù)據(jù)庫(kù)為 exam AssignFile(filev,servername.txt); /打開文本文件 Reset(filev); /定位到開始 Readln(filev,servername); /讀 一行存儲(chǔ)到 servername CloseFile(filev); /文件使用完畢要關(guān)閉 connstring:=connstring+servername; /連接字符串 MainFrm.cons:=connstring; ADOCon.ConnectionString:=connstring; /設(shè)置 adoconnection 的連接 try begin ADOCon.Connected:=true; LoginFrm:=TLoginFrm.Create(self); /開始創(chuàng)建登錄窗體 LoginFrm.ShowModal; /以模態(tài)窗口方式來(lái)打開 end; except begin ShowMessage(連接數(shù)據(jù)庫(kù)服務(wù)器出錯(cuò) ,請(qǐng)重新 輸入 ServerName!); exit; end; end; end; 4.3 系統(tǒng)管理數(shù)據(jù)備份 數(shù)據(jù)備份就是防止在計(jì)算機(jī)發(fā)生災(zāi)難后采取的補(bǔ)救措施,在編寫是就通過(guò)一-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 23 句 SQL 語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份。系統(tǒng)的備份可以選擇備份的路徑,通過(guò)一個(gè)SaveDialog 控件來(lái)控制。點(diǎn)擊相關(guān)按鈕進(jìn)入備份操作(如圖 4-3-1 所示),選擇備份內(nèi)容的保存路徑,確定后系統(tǒng)自動(dòng)進(jìn)行備份。其間可能需要一定備份運(yùn)行時(shí)間。 圖 4-3-1 備份初始界面 備份的代碼如下: procedure TDBSetFrm.BackupDB(ss:string); /備份工作由這個(gè) /函數(shù)來(lái)完成的 var sqls:string ; begin sqls:=backup database exam to disk=+ss+ with init; /SQL 語(yǔ)句, ss 為備份的路徑 DM.DBSetQ.Close; DM.DBSetQ.SQL.Clear; dm.DBSetQ.sql.Add(sqls); /調(diào)用 SQL 語(yǔ)句 try begin dm.DBSetQ.ExecSQL; Showmessage(數(shù)據(jù)庫(kù)備份完畢 !); end; except -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 24 Showmessage(數(shù)據(jù)庫(kù)備份出錯(cuò) ,請(qǐng)重試 !); end; end; procedure TDBSetFrm.BitBtn1Click(Sender: TObject); begin if(SaveDialog1.Execute)then if(fileExists(SaveDialog1.FileName)then begin if(messagebox(0, 文 件 已 經(jīng) 存 在 , 要替換它嗎 ?, 提示信息,MB_YESNO)=IDYES) then /替換已存在的備份文件 BackupDB(SaveDialog1.FileName) /調(diào)用 BackupDB 函數(shù)完成操作 else; end else BackupDB(SaveDialog1.FileName); /調(diào)用 BackupDB 函數(shù)完成操作 end; 4.4 試卷錄入模塊 試卷錄入有四種題型的錄入,選擇題、判斷題、程序填空題和程序閱讀題。由于每種題型有不同的題型結(jié)構(gòu),題干、選擇和答案各不相同,所以在輸入的時(shí)候要有不同的輸入界面,在設(shè)計(jì)的時(shí)候我就把四種題型分開錄入。(如圖 4-4-1、4-4-2、 4-4-3、 4-4-4 所示) 在不同的題目它包括的知識(shí)點(diǎn)的多少不同,要考查的內(nèi)容不同 ,他的難易度也就不同,所以在錄入的時(shí)候要給每一道題目確定它的難易度,而這難易度有 3個(gè)選擇,分別是難、中等和容易。 在確定了難易度和考查內(nèi)容多少后,就是確定這道題目的分值,不同類型的題目和不同難度的題目有不同的分值。確定了題目分值就為以后組卷時(shí)試卷總分統(tǒng)計(jì)的方便。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 25 在每個(gè)界面都設(shè)置了增加、修改、刪除、保存四個(gè)按鈕還有導(dǎo)航鍵。這是為了快速方便的錄入題目,并即時(shí)查詢修改過(guò)往錄入題目。 下面分別是四個(gè)題型的錄入界面: 圖 4-4-1 選擇題錄入界面 圖 4-4-2 判斷題錄入界面 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 26 圖 4-4-3 程序閱讀題錄入界面 圖 4-4-4 填空題錄入界面 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 27 其中每個(gè)錄入界面里都有個(gè)選擇語(yǔ)言,要調(diào)用數(shù)據(jù)庫(kù)里 tbTopic 表里的內(nèi)容,跟著再一個(gè)下拉菜單里選擇語(yǔ)言。分值采用手工輸入分?jǐn)?shù),難易度采用下拉菜單選擇。其代碼如下(只舉選擇題為例): procedure TSelectFrm.FormCreate(Sender: TObject); var i:integer; begin with DM.SelectT do begin TableName:=tbSelect; /將這個(gè) adotable 控件綁定一個(gè)數(shù)據(jù)表名 Active:=true; /打開數(shù)據(jù)庫(kù) end; with DM.TopicQ do begin sql.Clear; /清除 adoquery 控件的 sql 語(yǔ)句 sql.Add(select * from tbTopic); /新增語(yǔ)句 open; /執(zhí)行語(yǔ)句并返回?cái)?shù)據(jù)集,返回 tbTopic 整張表 first; for i:=0 to recordcount-1 do /到 tbTopic 表里調(diào)用所有語(yǔ)言 / 放在下拉菜單里 begin DBComboBox1.Items.Add(fieldbyname(FTopic).AsString); next; end; end; end; 4.5 科目設(shè)置模塊 科目設(shè)置,就是提供各種高級(jí)語(yǔ)言的不同選擇。在這個(gè)模塊里用戶可以進(jìn)-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 28 行對(duì)科目的操作,增加,修改,刪除和保存。不同的科目存進(jìn)數(shù)據(jù)庫(kù)里,在以后當(dāng)要錄入需要的語(yǔ)言的時(shí)候,系統(tǒng)就會(huì)提供不同的語(yǔ)言供用戶選擇。所以當(dāng)用戶要實(shí)現(xiàn)一種新的試卷的選擇的時(shí)候,必須首先在科目選擇里增加一個(gè)科目(語(yǔ)言),然后在錄入和組卷。否則就建立不了新的語(yǔ)言。每個(gè)語(yǔ)言有一個(gè)它的簡(jiǎn)稱和具體語(yǔ)言存儲(chǔ)在科目選擇這個(gè)數(shù)據(jù)庫(kù)里。 (如圖 4-5-1 所示 ) 圖 4-5-1 科目設(shè)置界面 4.6 題目查詢模塊 題目查詢模塊是為了查詢?cè)嚲淼母鞣N題目的題干、答案、分值、難度和解析。這雖然可以在錄入界面里通過(guò)導(dǎo)航鍵查詢,但通過(guò)這個(gè)模塊可以簡(jiǎn)單明了的實(shí)現(xiàn)。當(dāng)發(fā)現(xiàn)題目有錯(cuò)誤或需要?jiǎng)h減的時(shí)候,在模塊中通過(guò)選取不同題目的按鈕,調(diào)入到其相關(guān)的題型錄入界面,對(duì)目標(biāo)題目進(jìn)行操作。查詢功能流程圖。(如圖4-6-2 所示) 在具體查詢的時(shí)候,本模塊有幾個(gè)限定要數(shù)要選擇。首先要選擇的就是要-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 29 查詢的科目,通過(guò)下拉菜單選擇,這是本系統(tǒng)操作的首要因數(shù)。題目不同就有不同的難度跟分值,系統(tǒng)就提供了這兩種查詢功能。難易度按難,中等,容易, 降序查詢。分值按升序查詢。這兩個(gè)查詢功能是二選一的。默認(rèn)的是按分值查詢。還有就是要查詢的題目類型了,就是選擇題,判斷題,程序填空題和程序閱讀題。默認(rèn)的是查詢選擇題。(如圖 4-6-1 所示) 圖 4-6-1 題目查詢界面 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 30 圖 4-6-2 查詢功能流程圖 查詢題目模塊部分代碼: procedure TTopicQFrm.FormCreate(Sender: TObject); var i:integer; 選擇題型 選擇題型 進(jìn)入相關(guān)題 的錄入界面 查詢 開始 選擇語(yǔ)言 按分值選擇 按難度選擇 顯示題目 增刪修改 Y 退出查詢 N -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 31 begin with DM.TopicQ do /調(diào)用科目選擇數(shù)據(jù)庫(kù), /選擇要查詢的語(yǔ)言 begin sql.Clear; sql.Add(select * from tbTopic); open; first; for i:=0 to recordcount-1 do begin ComboBox1.Items.Add(fieldbyname(FTopic).AsString); /添加到下拉菜單 next; end; end; end; 查詢顯示代碼(以選擇題查詢?yōu)槔?if Select.Checked=true then begin with DM.TopicQ do begin close; sql.Clear; if RB1.Checked=true then sql.Add(select * from tbSelect whereFTopic=+ComboBox1.Text+order by Fdifficult) /按難易度選擇 else sql.Add(select * from tbSelect where FTopic=+ComboBox1.Text+order by FCount); /按分值選擇 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 32 open; end; DBGrid1.Columns.Clear; /清除之前查詢記錄 AColumn := DBGrid1.Columns.Add; /增加一格顯示欄 AColumn.FieldName:=FThemeID; /顯示題目編號(hào) AColumn.Title.Caption:=編號(hào) ; /把數(shù)據(jù)庫(kù)記錄名稱中文化 AColumn.Width:=30; /設(shè)置顯示長(zhǎng)度 AColumn := DBGrid1.Columns.Add; /以下各項(xiàng)相同 (后略) End 4.7 套卷管理模塊 套卷管理就是在試卷生成之前和之后都要參加程序的運(yùn)行的。首先在要生成一張?jiān)嚲碇埃谔拙砉芾砝镙斎胍荚嚲淼拿Q,選擇試卷所要的高級(jí)語(yǔ)言,并確定試卷的總分值。選擇語(yǔ)言跟是否組卷有個(gè) 下拉菜單供用戶選擇。但是為了組卷方便,在設(shè)計(jì)系統(tǒng)時(shí)就設(shè)置未組卷時(shí)添加試卷為 0,已經(jīng)組卷選擇 1,在系統(tǒng)中有提示輸入項(xiàng)(如圖 4-7-1 所示)。在輸入完畢后保存,要生成的試卷就會(huì)在套卷管理模塊中的表格顯示這張?jiān)嚲淼南嚓P(guān)信息。系統(tǒng)會(huì)給試卷自動(dòng)增加一個(gè)這張?jiān)嚲淼木幪?hào),這是為組卷是必須的。 在生成試卷之后,試卷在是否組卷的選項(xiàng)里就會(huì)顯示 1,代表了該試卷已經(jīng)組卷完畢。已生成的試卷,就可以用到試卷的另一個(gè)重要的功能,試卷預(yù)覽。試卷預(yù)覽就是將以生成的試卷的題目全部顯示在界面上。各種題型在顯示的時(shí)候采取分頁(yè)顯示。(如圖 4-7-2 所示)而要顯示的內(nèi)容只顯示考試相關(guān)的內(nèi)容,如編號(hào)、題干、選項(xiàng)等。那些和考試用試卷暫時(shí)沒用的就不會(huì)顯示,如答案、分值、解析、難易度等等。當(dāng)要更新相關(guān)試卷時(shí),就把試卷的是否組卷選項(xiàng)從新改為 0未組卷狀態(tài)。 在試卷預(yù)覽時(shí),每個(gè)題型的預(yù)覽,都要用到一個(gè) ADOQuery 控件,而預(yù)覽分頁(yè)顯示就要用到四個(gè) ADOQuery 控件。在 DM 里再增加四個(gè)控件只為一個(gè)模-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 33 塊使用可能造成浪費(fèi)資源。為了節(jié)省資源,連接的控件都是運(yùn)用到其它模塊的控件。在選擇題的查詢就用 LoginQuery 控件,填空題用到的是 DBSetQuery 控件,程序閱讀 題用的是 TopicQuery 控件,而判斷題就用回他本身的 JudgeQuery 控件。達(dá)到了控件的再利用。 圖 4-7-1 套卷管理界面 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 34 圖 4-7-2 試卷預(yù)覽界面 查詢功能部分代碼 : 1. 顯示預(yù)覽界面: procedure TTestPSetFrm.Button5Click(Sender: TObject); begin MainFrm.testid:=dm.TestT.fieldbyname(Ftestid).AsInteger; PreFrm:=TPreFrm.Create(self); PreFrm.Show; /顯示預(yù)覽界面 end; 2. 預(yù)覽顯示代碼選類型跟題目算法:(只說(shuō)明選擇題預(yù)覽) begin s:=0; f:=0; j:=0; r:=0; ss:=select * from tbselect where ; / 預(yù)設(shè)的查詢各表的 SQL 語(yǔ)句 sf:=select * from tbfill where ; sj:=select * from tbJudge where ; sr:=select * from tbProgRead where ; with dm.TestThQ do /操作試卷的聯(lián)系表 begin first; /數(shù)據(jù)集指針指到第一條記錄 while not eof do /循環(huán)直到最后一條記錄 begin sss:=trim(fieldbyname(themetype).AsString) ; /看本條記錄試題的類型 ,sss 的可能值 tbselect,tbfill,tbJudge,tbProgRead if sss=tbSelect then begin if(s=0) then /第一條關(guān)于選擇題的記錄 begin -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第四章 系 統(tǒng)詳細(xì)設(shè)計(jì) 35 themeidss:=dm.TestThQ.fieldbyname(themeid).Asinteger; ss:=ss+fthemeid=+inttostr(dm.TestThQ.fieldbyname(themeid).Asinteger); /根據(jù)當(dāng)前選擇題的題號(hào)構(gòu)造查詢語(yǔ)句 end else /前面已有關(guān)于選擇題的記錄 begin ss:=ss+orfthemeid=+inttostr (dm.TestThQ.fieldbyname(themeid).Asinteger); /構(gòu)造查詢語(yǔ)句 end; s:=s+1; /選擇題數(shù)據(jù)標(biāo)識(shí) end; 4.8 結(jié)論 系統(tǒng)的編碼基本上按照任務(wù)書所要求的功能,編碼雖然有不足,效率不高,但能比較流暢的完成系統(tǒng)所需功能。系統(tǒng)還有不足之處,就是試卷的報(bào)表輸出和備份還原的自動(dòng)完成。這是以后系統(tǒng)有待增加改進(jìn)的。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第五章 系統(tǒng)測(cè)試 36 第五章:系統(tǒng)測(cè)試 5.1 引言 軟件測(cè)試是確保軟件質(zhì)量的重要一環(huán)。 軟件測(cè)試定義為:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。 5.2 軟件測(cè)試的目標(biāo) 簡(jiǎn)單地說(shuō),測(cè)試的最終目的是確保最終交給用戶的產(chǎn)品的功能符合用戶的需求,把盡可能多的問(wèn)題在產(chǎn)品交給用戶之 前發(fā)現(xiàn)并改正。具體地講,測(cè)試一般要達(dá)到三個(gè)目標(biāo):確保產(chǎn)品完成了它所承諾或公布的功能,并且所有用戶可以訪問(wèn)到的功能都有明確的書面說(shuō)明;確保產(chǎn)品滿足性能和效率的要求,用戶最關(guān)心的是他能從這些技術(shù)、功能中得到多少好處。確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的健壯性即穩(wěn)定性,是產(chǎn)品質(zhì)量的基本要求。 5.3 軟件測(cè)試方案 軟件測(cè)試是一個(gè)過(guò)程 ,測(cè)試流程是該過(guò)程規(guī)定的程序 ,目的是使軟件測(cè)試工作系統(tǒng)化 ,測(cè)試方案確定需遵循四原則:測(cè)試成本最小化、測(cè)試流程和測(cè)試內(nèi)容完備化、測(cè)試手段可行化和測(cè)試結(jié)果實(shí)用化。 -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第五章 系統(tǒng)測(cè)試 37 5.3.1 單元測(cè)試 在軟件測(cè) 試中,盡早進(jìn)行軟件測(cè)試發(fā)現(xiàn)軟件中存在的問(wèn)題,可減輕系統(tǒng)測(cè)試的任務(wù),明顯地降低測(cè)試成本,單元測(cè)試在軟件開發(fā)哪一個(gè)環(huán)節(jié)進(jìn)行,是一個(gè)值得探討的問(wèn)題,因?yàn)檫@關(guān)系到軟件測(cè)試的效率和測(cè)試成本。 1. 數(shù)據(jù)庫(kù)連接單元測(cè)試 在連接數(shù)據(jù)庫(kù)的時(shí)候,必須相應(yīng)的輸入數(shù)據(jù)庫(kù)登陸密碼,不是會(huì)造成連接數(shù)據(jù)庫(kù)錯(cuò)誤。顯示如下(如圖 5-3-1 所示) 圖 5-3-1 系統(tǒng)連接出錯(cuò)顯示 正常進(jìn)入主界面(如圖 4-1-1 所示) 2. 數(shù)據(jù)備份 系統(tǒng)備份成功后,彈出對(duì)話框顯示備份完成。(如圖 5-3-2 所示) 圖 5-3-2 備份完成提示圖 3.科目設(shè)置單元測(cè)試 增 加一種語(yǔ)言,編號(hào)為 A,科目名稱為 ASP.NET。輸入前(如圖 5-3-3 所示),輸入后(如圖 5-3-4 所示)。在測(cè)試的過(guò)程中發(fā)現(xiàn),課目編號(hào)沒有完全利用上,-景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第五章 系統(tǒng)測(cè)試 38 只是個(gè)課目簡(jiǎn)寫,用處不大。 圖 5-3-3 增加語(yǔ)言輸入 圖 5-3-4 增加以后顯示 3. 題目查詢單元測(cè)試 按難度查詢跟按分值查詢的不同查詢結(jié)果如下: 按難度查詢,題目按容易,中等,難顯示。(如圖 5-3-5 所示) 按分值查詢,題目按升序顯示。(如圖 5-3-6 所示) -景德鎮(zhèn)陶瓷學(xué)院理學(xué)學(xué)士學(xué)位論文 第五章 系統(tǒng)測(cè)試 39 圖 5-3-

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論