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

下載本文檔

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

文檔簡介

無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學生畢業(yè)設(shè)計站 ,免費畢業(yè)設(shè)計論文 ,無憂無慮畢設(shè)網(wǎng) 大學生畢業(yè)設(shè)計 ,出售各類畢業(yè)設(shè)計源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費視頻教程 ,我們將竭誠為您服務(wù)! 前言 本軟件采用和以往不同數(shù)據(jù)存儲模式 (C/S),C/S 模式的運用使軟件的靈活度大大的增強 ,出卷老師可以在不同的地方直接登陸學校提供的的專用數(shù)據(jù)庫進行試卷的出題和管理。 C/S 架構(gòu)的數(shù)據(jù)庫系統(tǒng),由于數(shù)據(jù)庫是建立在通用的平臺之上,并且支持 SQL 這樣的通用技術(shù),對數(shù)據(jù)庫的維護工作更加專業(yè),但更為 開放,這意味著維護和進一步開發(fā)對原設(shè)計開發(fā)者的依賴性可以降低。 所以 SQL Server 是當然的首選 .而在前端開發(fā)軟件方面就采用簡單的對編碼要求不高的Delphi 軟件進行編寫 .在連接 Delphi 與 SQL Server 就才用了 ADO 控件來完成。ADOConnection 可讓應(yīng)用程序直接訪問并修改數(shù)據(jù)源 .ADOConnection 好處就是他建立一個數(shù)據(jù)庫連接 ,并且其連接可以被多個其他的 ADO 控件所共享 .合理使用 TADOConnection 控 件 可 以 起 節(jié) 省 資 源 的 作 用 。 本 系 統(tǒng) 通 過 一 個ADOConnection 連接數(shù)據(jù) 庫,其他控件像 ADOQuery 和 ADOTable 就通過ADOConnection 連接。而在連接時控件可重用。系統(tǒng)有錄入,組卷和查詢等基本功能。建立一套試卷都有一個基本的程序。先確定試卷,再錄入,然后組卷。完畢后可以查詢修改。這就是本套軟件的基本功能簡單。 -景 德鎮(zhèn)陶瓷學院理學學士學位論文 摘要 畢業(yè)設(shè)計源碼下載: 摘要 為適應(yīng)高校計算機語言考試改革的需要 ,提高工作效率 ,利用計算機進行試題庫管理及計算機輔助教學與測試是教學改革的一項重要課題 .任何一門課程的教學 ,都面臨著信息時代多方面的挑戰(zhàn) .首先是來自教學手段與教學方法改革的挑戰(zhàn) ,如計算機多媒體技術(shù)就已成為高等教育中 較為重要的現(xiàn)代化教學工具之一 ,它具有直觀、便捷、信息量大等優(yōu)點 ,并且發(fā)展迅速 ,推動了教育教學改革的進程 ,使教學逐步走向現(xiàn)代化 .其次是面臨著教學考試的規(guī)范化、標準化 ,因此試題管理與建設(shè)顯得十分重要 .再者是來自實行“教考分離”制度方面挑戰(zhàn) ,“教考分離”是一項推動教學改革的重要措施 ,它的實施避免了一些干擾教學秩序的人為因素 ,同時對教育教學質(zhì)量起到了一定的促進作用 .本系統(tǒng)主要針對全校公共高級語言程序設(shè)計課程 ,為其提供題庫管理和試卷生成功能 .在以往老師出試卷都是從龐大的文字題庫里把試題一道一道挑出來 , 這樣即費時又費 力,而且很難保證試題的覆蓋面和把握好試卷的難度。正是為了能夠幫助教師輕松的出一份高質(zhì)量的試卷而開發(fā)了本軟件。系統(tǒng)提供試卷管理跟手工自動組卷功能。為實現(xiàn)資源共享 ,題庫服務(wù)器統(tǒng)一存放 ,各客戶連機實現(xiàn)所需功能 ,故用 C/S 模式 :前端開發(fā)采用 Delphi,后臺數(shù)據(jù)存儲采用 SQL Server.本軟件主要實現(xiàn)的功能有 : ( 1)科目選擇;( 2)數(shù)據(jù)庫連接;( 3)試題錄入;( 4)備份題庫;( 5)組卷 (練習卷,考試卷 )(自動型,手動選擇型);( 6)導出試卷;( 7)套卷管理;( 8)用戶管理;( 9)題目查詢;( 10)主框架窗口設(shè) 計。 關(guān)鍵字 :題庫系統(tǒng) ,窗體,控件, C/S -景德鎮(zhèn)陶瓷學院理學學士學位論文 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)陶瓷學院理學學士學位論文 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)陶瓷學院理學學士學位論文 目錄 V 目錄 前言 . I 摘要 . II Abstract .III 第一章:可行性研究 . 1 1.1 開發(fā)背景 . 1 1.2 開發(fā)工具簡介 . 1 1.2.1Delphi 7.0 的特點 . 1 1.2.2 主要控件及其屬性 . 2 1.1.3 SQL Server2000 的特點 . 3 1.1.4 主要 SQL 語言簡介 . 4 第二章:系統(tǒng)分析階段 . 5 2.1.需求分析 . 5 2.1.1 問題提出 . 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ù)庫設(shè)計 . 11 第三章:系統(tǒng)總體設(shè)計 . 14 3.1 任務(wù)分配 . 14 3.2 設(shè)計總則 . 14 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計 . 15 第四章:系統(tǒng)詳細設(shè)計 . 19 4.1 系統(tǒng)主界面 . 19 4.2 系統(tǒng)數(shù)據(jù)庫連接 . 20 4.3 系統(tǒng)管理數(shù)據(jù)備份 . 22 -景德鎮(zhèn)陶瓷學院理學學士學位論文 目錄 VI 4.4 試卷錄入模塊 . 24 4.5 科目設(shè)置模塊 . 27 4.6 題目查詢模 塊 . 28 4.7 套卷管理模塊 . 32 4.8 結(jié)論 . 35 第五章:系統(tǒng)測試 . 36 5.1 引言 . 36 5.2 軟件測試的目標 . 36 5.3 軟件測試方案 . 36 5.3.1 單元測試 . 37 5.3.2 集成測試 . 40 第六章:結(jié)束語 . 41 致謝 . 42 參考文獻 . 43 附錄一:軟件的系統(tǒng)需求 . 44 附錄二: Microsoft SQLServer2000 中的數(shù)據(jù)轉(zhuǎn)換服務(wù) . 45 英文原文: Data Transformation Services (DTS) inMicrosoft SQL Server 2000 . 49 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第一章 可行性研究 1 第一章:可行性研究 1.1 開發(fā)背景 經(jīng)調(diào)查,高級語言如 C 語言, ASP.net, Delphi 和 Java 等等主要針對的是現(xiàn)在高校公共課高級程序設(shè)計課程?,F(xiàn)在我國高校高級語言課程已相當普遍,各種高級語言課程已經(jīng)是現(xiàn)在各高校的必修課程,用一個系統(tǒng)來統(tǒng)一管理各種語言 試題題目是需要的。 1.2 開發(fā)工具簡介 1.2.1Delphi 7.0 的特點 Delphi 是 Borland 公司出品的開發(fā)工具,在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇 Delphi 呢?因為 Delphi 具有眾多其它開發(fā)工具所沒有的優(yōu)點!具體介紹如下: 開發(fā)的高效 語言的高效 編譯的高效 執(zhí)行的高效 維護的高效 基于這樣的高效,我們毫不憂郁的選擇了 Delphi 做為我們的開發(fā)工具! -景德鎮(zhèn)陶瓷學院理學學士學位論文 第一章 可行性研究 2 1.2.2 主要控件及其屬性 TForm 類的控件: 1. BorderIcons 屬性:用來控制程序標題按鈕的可用性。 2. BorderStyle 屬性 :用來控制程序邊框的樣式。 3. Color 屬性:用來控制程序界面的顏色。 4. Font 屬性:用來控制程序界面的字體。 5. Position 屬性:用來控制程序運行時界面的顯示位置。 TADOConnection 類的控件: 1. ConnectionString 屬性:用來控制鏈接字符串。 2. LoginPrompt 屬性:用來控制鏈接時是否要輸入密碼。 3. Connected 屬性:用來控制是否進行鏈接。 TADOQuery 類的控件: 1. Connection 屬性:用來指定和哪個 TADOConnection 控件相連。 2. SQL 屬性:用來添加向數(shù)據(jù) 庫提交的 SQL 語句。 3. Add 方法:用來向 SQL 屬性添加 SQL 語句。 4. Open 方法:用來執(zhí)行 SQL 語言中的 Select 語句。 5. ExecSQL 方法:用來執(zhí)行任何 SQL 語句。 6. FieldByName 屬性:用來給數(shù)據(jù)庫的字段賦值。 7. FidldValues 屬性:用來取出數(shù)據(jù)庫的字段的。 8. Append 方法:用來向數(shù)據(jù)庫添加一條記錄。 9. Edit 方法:用來編輯當前的記錄。 10. Post:用來向數(shù)據(jù)庫提交所做的修改。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第一章 可行性研究 3 TADOTable 類的控件: 1. Connection 屬性:用來指定和哪個 TADOConnection 控件相連。 2. Open 方法:用來打開數(shù)據(jù)庫中指定的表。 3. FieldByName 屬性:用來給數(shù)據(jù)庫的字段賦值。 4. FidldValues 屬性:用來取出數(shù)據(jù)庫的字段的。 5. Append 方法:用來向數(shù)據(jù)庫添加一條記錄。 6. Edit 方法:用來編輯當前的記錄。 7. Post:用來向數(shù)據(jù)庫提交所做的修改。 TDataSource 類的控件: 1. DataSet:用來指定和哪個數(shù)據(jù)集相連。 1.1.3 SQL Server2000 的特點 SQL Server 是 Microsoft 公司在與 Sybase 公司原來合作的基礎(chǔ)上推出的關(guān)系數(shù)據(jù)庫系統(tǒng),一經(jīng)推出迅速成 為 Windows NT 網(wǎng)絡(luò)方案的首選數(shù)據(jù)庫系統(tǒng)。 SQL 是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。 SQL 語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點如下: 1. 實現(xiàn)了客戶機 /服務(wù)器模式 2. 與 Internet 集成 3. 具備很強的可伸縮性和可用性 4. 具備企業(yè)級數(shù)據(jù)庫功能 5. 易安裝、部署和使用 6. 數(shù)據(jù)倉庫功能 我們之所以選擇 SQL2000 做后臺支持,因為它是 Windows 數(shù)據(jù)庫家族中出類拔萃的成員,這種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)能夠滿足各種類型的企業(yè)客戶和獨立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需要。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第一章 可行性研究 4 1.1.4 主要 SQL 語言簡介 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)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 5 第二章:系統(tǒng)分析階段 2.1.需求分析 2.1.1 問題提出 目前,高校仍然沿襲了多年來由主講教師個人分散出題和判卷的體制與方法。實踐證明它存在明顯的缺陷和弊端,主要表現(xiàn)在:一是出題和判卷難以擺脫個別教師主觀隨意性的干擾,降低了考題的科學性和考試成績的準確性;二是出題的個人分散性,難 以反映教學大綱的全面要求和教研室的集體智慧,容易出現(xiàn)同一課程的考試難易程度相差懸殊的現(xiàn)象;三是試題的覆蓋面狹窄,不利于引導學生全面復(fù)習和掌握基礎(chǔ)知識技能,甚至導致學生猜題,壓題,向主講老師摸題等不良現(xiàn)象,誘發(fā)了舞弊行為,降低了考試的要求,也影響了考試的嚴肅性。建立題庫,每次考試前由題庫生成試卷,則可以較好地解決教考分離的問題,也可以大大減低老師命題的工作量。而且題庫系統(tǒng)管理可以有系統(tǒng)的管理試卷,試題文檔統(tǒng)一存儲在電腦數(shù)據(jù)庫里,統(tǒng)一備份,為以后隨時抽取當時試卷提供方便。題庫系統(tǒng)還有一個優(yōu)點就是它的保密性和客觀 性良好。所以建立一個功能完備,題型覆蓋面廣的題庫系統(tǒng)相當重要。 2.1.2 調(diào)查分析 經(jīng)過對主講老師和教研室老師的調(diào)查分析,了解題庫系統(tǒng)的需要的功能。 一:現(xiàn)在計算機語言有很多種,語言更新很快,為配合學生的全面發(fā)展,現(xiàn)在高校的題庫系統(tǒng)必須涵蓋當今主流和潮流各種語言,并順應(yīng)時代的發(fā)展可以往題庫里追加新的計算機語言。雖然計算機語言是多種多樣的,但要出卷考查時所出的題型是基本相同,所以系統(tǒng)可以分別提供各種計算機語言的試卷。 二:試題庫的試題的錄入應(yīng)該方便而且簡單,為老師出卷省去繁瑣的重復(fù)操作,-景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 6 題庫系統(tǒng)應(yīng)該可更新刪除 操作。根據(jù)不同的學生可以出不同難度的試題,不同考試方式有不同的難度,考試卷或者練習卷難度不同,考試卷必須難度適中,練習卷則只針對一種難度,所以要為試題添加難度選擇。還有就是根據(jù)題目的難度和覆蓋知識點的多少可以為試題添加相應(yīng)的分值。 三:為適合不同的用戶的需要提供靈活的組卷方式,出卷老師自主控制的難度和分值手工出卷,或者是方便快速的向?qū)妥詣咏M卷。 四:根據(jù)需要,如考點覆蓋或試題誤錯對已輸入題目進行相關(guān)的試題查詢。并根據(jù)需要對試題相關(guān)的修改或更新進一步完善題庫系統(tǒng)。 五:針對舊試卷重復(fù)使用和對已生成的試卷的進 行統(tǒng)一管理,查詢試卷的包括題目、難易度、分值等。 六:針對管理題庫的防止災(zāi)難導致數(shù)據(jù)庫丟失的數(shù)據(jù)庫備份功能。 七:對訪問題庫權(quán)限,增加出卷老師和管理員不同用戶的登陸方式。 2.2 功能分析 2.2.1 系統(tǒng)功能模塊圖 下面通過系統(tǒng)的功能模塊來介紹系統(tǒng)的基本構(gòu)造,系統(tǒng)登錄采用分用戶登錄(如圖 2-2-1 所示),管理員登錄可以享有最大的權(quán)限,而出卷老師的登錄就會屏蔽掉系統(tǒng)管理的功能,以防誤操作造成系統(tǒng)故障。(如圖 2-2-2 所示) -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 7 圖2-2-1 登錄功能模塊圖 圖 2-2-2 主界面功能模塊圖 下面介紹各功能子模塊的具體功能,分別有四個子模塊:系統(tǒng)管理子模塊、試卷管理子模塊、試卷錄入子模塊和定制試卷子模塊。(如圖 2-2-3、圖 2-2-4、圖2-2-5、圖 2-2-6) 系統(tǒng)登錄 管理員登錄 出卷老師登錄 用戶 管理員密碼 用戶 密碼 高級語言題庫系統(tǒng) 系統(tǒng)管理子模塊 試卷管理子模塊 試卷錄入子模塊 定制試卷子模塊 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 8 圖 2-2-3 系統(tǒng)管理功能模塊圖 圖 2-2-4 試卷管理模塊圖 系統(tǒng)管理子模 塊 管理員信息 出卷老師信息 備份題庫 試卷管理子模塊 套卷管理 科目設(shè)置 題目查詢 管理試卷 試卷預(yù)覽 按難度查詢 按分值查詢 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 9 圖 2-2-5 試卷 錄入模塊圖 圖 2-2-6 定制試卷模塊圖 2.2.2 系統(tǒng)數(shù)據(jù)流程圖 系統(tǒng)登錄后,數(shù)據(jù)主要在四個子模塊中流動。其中以試題的編號信息為主鍵。(如圖 2-2-7 所示) 試卷錄入子模塊 選擇題錄入 判斷題錄入 程序閱讀題錄入 程序填空題錄入 定制試卷 手工生成 自動生成 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 10 圖 2-2-7 系統(tǒng)數(shù)據(jù)流程圖 高級語言程序題庫設(shè)計系統(tǒng) 管理員 出卷老師 用戶名密碼 用戶名密碼 管理員身份 數(shù)據(jù) 備份 錄入 試題 管理 試卷 輸入題目的相關(guān)內(nèi)容 生成 試卷 手動 自動 試卷 管理 套卷 設(shè)置 科目 查詢 題目 試卷 增加 語言 新增 試卷 生成 查詢 是否組卷 預(yù)覽 按分值 按難度 相 關(guān)題目 修改 Y 戶信息 修改用 管理 系統(tǒng) -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 11 2.3 數(shù)據(jù)庫設(shè)計 這是介紹系統(tǒng)中各實體的 E-R 圖如下: 1. 管理員實體 E-R 圖: 在數(shù)據(jù)庫中建的表是管理員信息表是( tbAdmin),這表儲存了管理員用戶信息,用戶名和密碼(如圖 2-3-1 所示)。 圖 2-3-1 管理員信息 E-R 圖 2.出卷老師實體 E-R 圖: 在數(shù)據(jù)庫中建的標識出卷老師信息表是( tbTeach),這表儲存了出卷老師的用戶信息,用戶和密碼。(如圖 2-3-2 所示) 圖 2-3-2 出卷老師 E-R 圖 3.語言實體 E-R 圖: 在數(shù)據(jù)庫建的是語言信息表( tbTopic) ,存儲了語言的編號和語言種類。(如圖2-3-3 所示)管理員 用戶名 密碼 出卷老師 用戶名 密碼 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 12 圖 2-3-3 語言信息 E-R 圖 4 試卷實體 E-R 圖: 在數(shù)據(jù)庫建的是試卷信息表( tbTest) ,儲存了試卷的信息,有試卷的編號,試卷的名稱,分數(shù),還有是否組卷。(如圖 2-3-4 所示) 圖 2-3-4 試卷信息 E-R 圖 5 題目信息 ER 圖 : 系統(tǒng)包括 4 種基本的題型供選擇,選擇題,判斷題,程序填空題,程序閱讀題,在數(shù)據(jù)庫中分別用 4 個表存儲。( tbSelect)、( tbJudge)、( tbFill)、( tbProgRead)。 4 個表相同的就有編號,題干,分值,答案,難易度,語言,試題解析。由于 4 種題只是不同在于有些題干和答案較多,跟提問的方式不同,如選擇題通常由四個選擇項,填空題要添的空就或多或少,判斷題就只有正確根錯誤兩個選擇,而程序填空題就有更多的因數(shù)了,有個大的題干,而在大題干下游若干個分題干,針對每一個分題干題目又會提出若干個問題答案又會是若干個的。所以我在這就不把他們 ER 圖都列出來了,統(tǒng)一用一個 E-R 表達。(如 2-3-5所示) 試卷信息 編號 試卷名 分數(shù) 是否組卷 語言信息表 編號 語言 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第二章 系統(tǒng)分析階段 13 圖 2-2-5 題目信息 E-R 圖 題目信息 編號 答案 題干 分值 難易度 語言 試題解析 其他信息 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第三章 系統(tǒng)總體設(shè)計 14 第三章:系統(tǒng)總體設(shè)計 經(jīng)過系統(tǒng)分析階段,我們了解了系統(tǒng)的大體需要,現(xiàn)在 我們來介紹一下系統(tǒng)的總體設(shè)計。 3.1 任務(wù)分配 下面是本系統(tǒng)任務(wù)工作的分配,系統(tǒng)是由我跟我們班的黃福楊同學合作完成的。 ( 1)科目選擇; ( 2)數(shù)據(jù)庫連接; ( 3)試題錄入; ( 4)備份題庫; ( 5)組卷 (練習卷,考試卷 )(自動型,手動選擇型); ( 6)導出試卷; ( 7)套卷管理; ( 8)用戶管理; ( 9)題目查詢; ( 10)主框架窗口設(shè)計。 我負責的任務(wù)是( 1)科目選擇、( 2)數(shù)據(jù)庫連接、( 3)試題錄入、( 4)備份題庫、( 7)套卷管理、( 9)題目查詢。 3.2 設(shè)計總則 設(shè)計系統(tǒng)的原則是以用戶的需求為目標, 站在用戶的角度上用戶規(guī)劃設(shè)計,讓用戶以最經(jīng)濟的投入來獲得最成熟、最實用的技術(shù)。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第三章 系統(tǒng)總體設(shè)計 15 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計 系統(tǒng)中用戶信息,科目和試題都在數(shù)據(jù)庫里有他相應(yīng)的表關(guān)聯(lián)。 詳細的表設(shè)計如下: 表 3.3.1 管理員用戶表 ( tbAdmin) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FUserName char 10 Not null 是 名稱 FPassword char 10 Not null 密碼 表 3.3.2 出卷老師用戶表 (tbTeach) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FTeachName char 10 Not null 是 名稱 FPassword char 10 Not null 密碼 表 3.3.3 選擇題錄入表 ( tbSelect) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FThemeID int 4 Not null 是 編號 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 語言 Fdifficult char 10 Not null 難易度 試題編號作為主鍵,為選題組卷時為試題提供搜索記錄,也為每道試題確定它的唯一標示。因為選擇題最起碼有兩個選項,所以 A 和 B 不能為空。大多數(shù)選擇題都是 4 個選項 C 和 D 也是必須的。因為有些題目可能比較簡單或者是公-景德鎮(zhèn)陶瓷學院理學學士學位論文 第三章 系統(tǒng)總體設(shè)計 16 理沒得解析所以試題解析項也是允許為空的。 表 3.3.4 填空錄入表 ( tbFill) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FThemeID int 4 Not null 是 編號 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 語言 Fdifficult char 10 Not null 難易度 試題編號作為主鍵,為選題組卷時為試題提供搜索記錄,也為每道試題確定它的唯一標示。填空題一個填空式必有的,所以第一空必須不為空,在此之外又會有多個填空,所以后幾個是允許空的 。填空不像其它的題目,一個個的填空就算是他的答案。答案的字段在這就沒必要了。因為有些題目可能比較簡單或者是公理沒得解析所以試題解析項也是允許為空的。 表 3.3.5 判斷題錄入表 ( tbJudge) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FThemeID int 4 Not null 是 編號 FThemeBody nvarchar 800 Not null 題干 FKey bit 1 Not null 答案 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 試題解析 FTopic char 10 Not null 語言 Fdifficult char 10 Not null 難易度 試題編號作為主鍵,為選題組卷時為試題提供搜索記錄,也為每道試題確定它的唯一標示。判斷題只有正確跟錯誤兩種情況。所以有些題目可能比較簡單或-景德鎮(zhèn)陶瓷學院理學學士學位論文 第三章 系統(tǒng)總體設(shè)計 17 者是公理沒得解析所以試題解析項也是允許為空的。 表 3.3.6 程序閱讀題錄入表 ( tbProgRead) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FThemeID int 4 Not null 是 編號 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 語言 Fdifficult char 10 Not null 難易度 試題編號作為主鍵,為選題組卷時為試題提供搜索記錄,也為每道試題確定它的唯一標示。程序填空題通常都是試題的大題,它 在大題干下有多個分題干,-景德鎮(zhèn)陶瓷學院理學學士學位論文 第三章 系統(tǒng)總體設(shè)計 18 分題干又有多個選項,但一個分題干和一個答案是必須的。有些題目可能比較簡單或者是公理沒得解析所以試題解析項也是允許為空的。 表 3.3.7 語言分類表 ( tbTopic) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FTopicID char 10 Not null 語言編號 FTopic char Not null 是 語言名稱 各種試題的題型都必須有語言的選擇,所以語言分類表中以語言的名稱為主鍵。 表 3.3.8 套卷管理表 ( tbTest) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 FTestID int 4 Not null 是 試題編號 FTestName varchar 20 Not null 試題名稱 FCount tinyint 1 Not null 試題總分 FTopic char 10 Not null 試題語言 FIsCreate tinyint 1 Not null 是否組卷 以試卷的的編號為主鍵,還記錄了試卷的各種基本信息,該試卷的名稱,總分,還有試卷要考查的語言。還有在管理時記錄該試卷是否組卷的相關(guān)信息。 表 3.3.9 組卷信息表 ( tbTestTheme) 列名 數(shù)據(jù)類型 長度 允許空 是否主鍵 說明 TestThemeid int 4 Not null 試 題 臨 時編號 Testid int 4 Not null 試卷編號 Themeid int 4 Not null 題目編號 Themetype char 10 Not null 題目類型 組卷時根據(jù)試題的題目類型根編號組卷。在組卷是需要一個臨時編號儲存相關(guān)信息。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 19 第四章:系統(tǒng)詳細設(shè)計 系統(tǒng)詳細設(shè)計,系統(tǒng)功能的實現(xiàn)分成 5 個模塊,系統(tǒng)管理,試卷錄入,試卷管理,定制試卷和數(shù)據(jù) 庫連接。我主要負責系統(tǒng)管理模塊里的數(shù)據(jù)備份,試卷管理,試卷錄入和數(shù)據(jù)庫連接模塊。 4.1 系統(tǒng)主界面 讓我們先看看主界面,系統(tǒng)主界面簡單明了(如圖 4-1-1 所示),具體功能在子目錄下完成。 圖 4-1-1 系統(tǒng)主界面 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 20 主界面部分代碼: procedure TMainFrm.FormShow(Sender: TObject); /在窗體顯示創(chuàng)建的 ,根據(jù)戶來設(shè)置哪些菜單可用 begin if UserType=Teach then /當用戶是用出卷老師登陸 時, /系統(tǒng)管理功能就回屏蔽 begin N1.Enabled:=false; /系統(tǒng)理菜單屏蔽 N7.Enabled:=true; N12.Enabled:=true; end end; 4.2 系統(tǒng)數(shù)據(jù)庫連接 此模塊是數(shù)據(jù)管理模塊 ,Delphi 有個專用的 Data Module 來存放系統(tǒng)各連接數(shù)據(jù)庫的控件(如圖 4-2-1 所示)。用來放各種數(shù)據(jù)庫控件用一個 ADOConnection控件 來建立向數(shù)據(jù)庫 SQL Server 的連接,而其他控件共用這個 ADO 連接 ,方便系統(tǒng)的數(shù)據(jù)管理。程序中每個相應(yīng)的數(shù)據(jù)源 DataSource 都在這模塊里有它們的ADOQuery 或 ADOTable 控件。通過簡單的指定 ADOTable 控件所連接的數(shù)據(jù)庫和數(shù)據(jù)表,就可以訪問某一指定的數(shù)據(jù)表。 ADOQuery 控件也是一個數(shù)據(jù)集類型控件,不過它的數(shù)據(jù)集不一定對應(yīng)一個數(shù)據(jù)表,而是對應(yīng)一個數(shù)據(jù)查詢 SQL 語句查詢返回結(jié)果,使用 SQL 語句可以將大部分工作在數(shù)據(jù)庫服務(wù)端完成,這樣節(jié)約了網(wǎng)絡(luò)的開銷和客戶端的資源。 根據(jù)不同的需要,程序 中其他各模塊在程序中選用不同控件。其中登錄模塊、判斷題錄入、科目語言模塊、備份模塊和組卷模塊選用 ADOQuery 控件。而管理員信息模塊、出卷老師信息模塊、選擇題錄入模塊、程序填空題錄入模塊、程序閱讀題錄入模塊、套卷管理模塊和科目語言模塊則選用 ADOTable 控件。 系統(tǒng)因為要測試的方便,在編程的時候采用本地服務(wù)器作為后臺服務(wù)器。這-景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 21 就為以后移植時帶來麻煩,所以我就采用 TXT 文件來讀取服務(wù)器,文本文件只是在登錄時調(diào)用一下,讀取服務(wù)器名字,這就可以動態(tài)的控制服務(wù)器了。在系統(tǒng)程序主目錄下放置這個文件,文件里打入作為 服務(wù)器的名字。當要改變服務(wù)器的時候,就改變 TXT 文件里相應(yīng)的服務(wù)器的名字。這樣設(shè)置就增強了本系統(tǒng)的可移植性。 現(xiàn)在說一下系統(tǒng)的初始化步驟,系統(tǒng)在初始化的時候,首先創(chuàng)建了兩個窗體,一個是主界面窗體,另外一個就是數(shù)據(jù)庫連接 ( DM) 。當 DM 初始化到一半的時候就會通過代碼創(chuàng)建登錄窗體 ( Login) ,登錄完畢后,主界面窗體和 DM 也初始化完畢,顯示主窗體。在 DM 初始化的時候,如果連接數(shù)據(jù)庫失敗,可能是數(shù)據(jù)庫名錯誤或登錄數(shù)據(jù)庫密碼錯誤。就會在登錄主界面的時候顯示“連接數(shù)據(jù)庫服務(wù)器出錯 ,請重新輸入 ServerName”,雖 然可以登錄主界面,但是無法進行任何操作。 圖 4-2-1 數(shù)據(jù)庫控件界面 DM 的代碼如下 ; procedure TDM.DataModuleCreate(Sender: TObject); var connstring,servername:string; /前一個為數(shù)據(jù)庫連接字符串 , /后一個存儲服務(wù)器名 filev:TextFile; /定義一個文件變量 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 22 begin connstring:=Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=exam;Data Source=; /連接字符串的前半部分 ,連接數(shù)據(jù)庫密碼為 /1234,用戶名為 SA,要連接的數(shù)據(jù)庫為 exam AssignFile(filev,servername.txt); /打開文本文件 Reset(filev); /定位到開始 Readln(filev,servername); /讀 一行存儲到 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)窗口方式來打開 end; except begin ShowMessage(連接數(shù)據(jù)庫服務(wù)器出錯 ,請重新 輸入 ServerName!); exit; end; end; end; 4.3 系統(tǒng)管理數(shù)據(jù)備份 數(shù)據(jù)備份就是防止在計算機發(fā)生災(zāi)難后采取的補救措施,在編寫是就通過一-景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 23 句 SQL 語句來實現(xiàn)數(shù)據(jù)庫的備份。系統(tǒng)的備份可以選擇備份的路徑,通過一個SaveDialog 控件來控制。點擊相關(guān)按鈕進入備份操作(如圖 4-3-1 所示),選擇備份內(nèi)容的保存路徑,確定后系統(tǒng)自動進行備份。其間可能需要一定備份運行時間。 圖 4-3-1 備份初始界面 備份的代碼如下: procedure TDBSetFrm.BackupDB(ss:string); /備份工作由這個 /函數(shù)來完成的 var sqls:string ; begin sqls:=backup database exam to disk=+ss+ with init; /SQL 語句, ss 為備份的路徑 DM.DBSetQ.Close; DM.DBSetQ.SQL.Clear; dm.DBSetQ.sql.Add(sqls); /調(diào)用 SQL 語句 try begin dm.DBSetQ.ExecSQL; Showmessage(數(shù)據(jù)庫備份完畢 !); end; except -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 24 Showmessage(數(shù)據(jù)庫備份出錯 ,請重試 !); 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è)計的時候我就把四種題型分開錄入。(如圖 4-4-1、4-4-2、 4-4-3、 4-4-4 所示) 在不同的題目它包括的知識點的多少不同,要考查的內(nèi)容不同 ,他的難易度也就不同,所以在錄入的時候要給每一道題目確定它的難易度,而這難易度有 3個選擇,分別是難、中等和容易。 在確定了難易度和考查內(nèi)容多少后,就是確定這道題目的分值,不同類型的題目和不同難度的題目有不同的分值。確定了題目分值就為以后組卷時試卷總分統(tǒng)計的方便。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 25 在每個界面都設(shè)置了增加、修改、刪除、保存四個按鈕還有導航鍵。這是為了快速方便的錄入題目,并即時查詢修改過往錄入題目。 下面分別是四個題型的錄入界面: 圖 4-4-1 選擇題錄入界面 圖 4-4-2 判斷題錄入界面 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 26 圖 4-4-3 程序閱讀題錄入界面 圖 4-4-4 填空題錄入界面 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 27 其中每個錄入界面里都有個選擇語言,要調(diào)用數(shù)據(jù)庫里 tbTopic 表里的內(nèi)容,跟著再一個下拉菜單里選擇語言。分值采用手工輸入分數(shù),難易度采用下拉菜單選擇。其代碼如下(只舉選擇題為例): procedure TSelectFrm.FormCreate(Sender: TObject); var i:integer; begin with DM.SelectT do begin TableName:=tbSelect; /將這個 adotable 控件綁定一個數(shù)據(jù)表名 Active:=true; /打開數(shù)據(jù)庫 end; with DM.TopicQ do begin sql.Clear; /清除 adoquery 控件的 sql 語句 sql.Add(select * from tbTopic); /新增語句 open; /執(zhí)行語句并返回數(shù)據(jù)集,返回 tbTopic 整張表 first; for i:=0 to recordcount-1 do /到 tbTopic 表里調(diào)用所有語言 / 放在下拉菜單里 begin DBComboBox1.Items.Add(fieldbyname(FTopic).AsString); next; end; end; end; 4.5 科目設(shè)置模塊 科目設(shè)置,就是提供各種高級語言的不同選擇。在這個模塊里用戶可以進-景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 28 行對科目的操作,增加,修改,刪除和保存。不同的科目存進數(shù)據(jù)庫里,在以后當要錄入需要的語言的時候,系統(tǒng)就會提供不同的語言供用戶選擇。所以當用戶要實現(xiàn)一種新的試卷的選擇的時候,必須首先在科目選擇里增加一個科目(語言),然后在錄入和組卷。否則就建立不了新的語言。每個語言有一個它的簡稱和具體語言存儲在科目選擇這個數(shù)據(jù)庫里。 (如圖 4-5-1 所示 ) 圖 4-5-1 科目設(shè)置界面 4.6 題目查詢模塊 題目查詢模塊是為了查詢試卷的各種題目的題干、答案、分值、難度和解析。這雖然可以在錄入界面里通過導航鍵查詢,但通過這個模塊可以簡單明了的實現(xiàn)。當發(fā)現(xiàn)題目有錯誤或需要刪減的時候,在模塊中通過選取不同題目的按鈕,調(diào)入到其相關(guān)的題型錄入界面,對目標題目進行操作。查詢功能流程圖。(如圖4-6-2 所示) 在具體查詢的時候,本模塊有幾個限定要數(shù)要選擇。首先要選擇的就是要-景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 29 查詢的科目,通過下拉菜單選擇,這是本系統(tǒng)操作的首要因數(shù)。題目不同就有不同的難度跟分值,系統(tǒng)就提供了這兩種查詢功能。難易度按難,中等,容易, 降序查詢。分值按升序查詢。這兩個查詢功能是二選一的。默認的是按分值查詢。還有就是要查詢的題目類型了,就是選擇題,判斷題,程序填空題和程序閱讀題。默認的是查詢選擇題。(如圖 4-6-1 所示) 圖 4-6-1 題目查詢界面 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 30 圖 4-6-2 查詢功能流程圖 查詢題目模塊部分代碼: procedure TTopicQFrm.FormCreate(Sender: TObject); var i:integer; 選擇題型 選擇題型 進入相關(guān)題 的錄入界面 查詢 開始 選擇語言 按分值選擇 按難度選擇 顯示題目 增刪修改 Y 退出查詢 N -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 31 begin with DM.TopicQ do /調(diào)用科目選擇數(shù)據(jù)庫, /選擇要查詢的語言 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)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 32 open; end; DBGrid1.Columns.Clear; /清除之前查詢記錄 AColumn := DBGrid1.Columns.Add; /增加一格顯示欄 AColumn.FieldName:=FThemeID; /顯示題目編號 AColumn.Title.Caption:=編號 ; /把數(shù)據(jù)庫記錄名稱中文化 AColumn.Width:=30; /設(shè)置顯示長度 AColumn := DBGrid1.Columns.Add; /以下各項相同 (后略) End 4.7 套卷管理模塊 套卷管理就是在試卷生成之前和之后都要參加程序的運行的。首先在要生成一張試卷之前,在套卷管理里輸入要考試卷的名稱,選擇試卷所要的高級語言,并確定試卷的總分值。選擇語言跟是否組卷有個 下拉菜單供用戶選擇。但是為了組卷方便,在設(shè)計系統(tǒng)時就設(shè)置未組卷時添加試卷為 0,已經(jīng)組卷選擇 1,在系統(tǒng)中有提示輸入項(如圖 4-7-1 所示)。在輸入完畢后保存,要生成的試卷就會在套卷管理模塊中的表格顯示這張試卷的相關(guān)信息。系統(tǒng)會給試卷自動增加一個這張試卷的編號,這是為組卷是必須的。 在生成試卷之后,試卷在是否組卷的選項里就會顯示 1,代表了該試卷已經(jīng)組卷完畢。已生成的試卷,就可以用到試卷的另一個重要的功能,試卷預(yù)覽。試卷預(yù)覽就是將以生成的試卷的題目全部顯示在界面上。各種題型在顯示的時候采取分頁顯示。(如圖 4-7-2 所示)而要顯示的內(nèi)容只顯示考試相關(guān)的內(nèi)容,如編號、題干、選項等。那些和考試用試卷暫時沒用的就不會顯示,如答案、分值、解析、難易度等等。當要更新相關(guān)試卷時,就把試卷的是否組卷選項從新改為 0未組卷狀態(tài)。 在試卷預(yù)覽時,每個題型的預(yù)覽,都要用到一個 ADOQuery 控件,而預(yù)覽分頁顯示就要用到四個 ADOQuery 控件。在 DM 里再增加四個控件只為一個模-景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 33 塊使用可能造成浪費資源。為了節(jié)省資源,連接的控件都是運用到其它模塊的控件。在選擇題的查詢就用 LoginQuery 控件,填空題用到的是 DBSetQuery 控件,程序閱讀 題用的是 TopicQuery 控件,而判斷題就用回他本身的 JudgeQuery 控件。達到了控件的再利用。 圖 4-7-1 套卷管理界面 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 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ù)覽顯示代碼選類型跟題目算法:(只說明選擇題預(yù)覽) begin s:=0; f:=0; j:=0; r:=0; ss:=select * from tbselect where ; / 預(yù)設(shè)的查詢各表的 SQL 語句 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)陶瓷學院理學學士學位論文 第四章 系 統(tǒng)詳細設(shè)計 35 themeidss:=dm.TestThQ.fieldbyname(themeid).Asinteger; ss:=ss+fthemeid=+inttostr(dm.TestThQ.fieldbyname(themeid).Asinteger); /根據(jù)當前選擇題的題號構(gòu)造查詢語句 end else /前面已有關(guān)于選擇題的記錄 begin ss:=ss+orfthemeid=+inttostr (dm.TestThQ.fieldbyname(themeid).Asinteger); /構(gòu)造查詢語句 end; s:=s+1; /選擇題數(shù)據(jù)標識 end; 4.8 結(jié)論 系統(tǒng)的編碼基本上按照任務(wù)書所要求的功能,編碼雖然有不足,效率不高,但能比較流暢的完成系統(tǒng)所需功能。系統(tǒng)還有不足之處,就是試卷的報表輸出和備份還原的自動完成。這是以后系統(tǒng)有待增加改進的。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第五章 系統(tǒng)測試 36 第五章:系統(tǒng)測試 5.1 引言 軟件測試是確保軟件質(zhì)量的重要一環(huán)。 軟件測試定義為:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。 5.2 軟件測試的目標 簡單地說,測試的最終目的是確保最終交給用戶的產(chǎn)品的功能符合用戶的需求,把盡可能多的問題在產(chǎn)品交給用戶之 前發(fā)現(xiàn)并改正。具體地講,測試一般要達到三個目標:確保產(chǎn)品完成了它所承諾或公布的功能,并且所有用戶可以訪問到的功能都有明確的書面說明;確保產(chǎn)品滿足性能和效率的要求,用戶最關(guān)心的是他能從這些技術(shù)、功能中得到多少好處。確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的健壯性即穩(wěn)定性,是產(chǎn)品質(zhì)量的基本要求。 5.3 軟件測試方案 軟件測試是一個過程 ,測試流程是該過程規(guī)定的程序 ,目的是使軟件測試工作系統(tǒng)化 ,測試方案確定需遵循四原則:測試成本最小化、測試流程和測試內(nèi)容完備化、測試手段可行化和測試結(jié)果實用化。 -景德鎮(zhèn)陶瓷學院理學學士學位論文 第五章 系統(tǒng)測試 37 5.3.1 單元測試 在軟件測 試中,盡早進行軟件測試發(fā)現(xiàn)軟件中存在的問題,可減輕系統(tǒng)測試的任務(wù),明顯地降低測試成本,單元測試在軟件開發(fā)哪一個環(huán)節(jié)進行,是一個值得探討的問題,因為這關(guān)系到軟件測試的效率和測試成本。 1. 數(shù)據(jù)庫連接單元測試 在連接數(shù)據(jù)庫的時候,必須相應(yīng)的輸入數(shù)據(jù)庫登陸密碼,不是會造成連接數(shù)據(jù)庫錯誤。顯示如下(如圖 5-3-1 所示) 圖 5-3-1 系統(tǒng)連接出錯顯示 正常進入主界面(如圖 4-1-1 所示) 2. 數(shù)據(jù)備份 系統(tǒng)備份成功后,彈出對話框顯示備份完成。(如圖 5-3-2 所示) 圖 5-3-2 備份完成提示圖 3.科目設(shè)置單元測試 增 加一種語言,編號為 A,科目名稱為 ASP.NET。輸入前(如圖 5-3-3 所示),輸入后(如圖 5-3-4 所示)。在測試的過程中發(fā)現(xiàn),課目編號沒有完全利用上,-景德鎮(zhèn)陶瓷學院理學學士學位論文 第五章 系統(tǒng)測試 38 只是個課目簡寫,用處不大。 圖 5-3-3 增加語言輸入 圖 5-3-4 增加以后顯示 3. 題目查詢單元測試 按難度查詢跟按分值查詢的不同查詢結(jié)果如下: 按難度查詢,題目按容易,中等,難顯示。(如圖 5-3-5 所示) 按分值查詢,題目按升序顯示。(如圖 5-3-6 所示) -景德鎮(zhèn)陶瓷學院理學學士學位論文 第五章 系統(tǒng)測試 39 圖 5-3-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論