(精品)畢業(yè)精品畢業(yè)精品.DOC(2013年優(yōu)秀畢業(yè)設計)_第1頁
(精品)畢業(yè)精品畢業(yè)精品.DOC(2013年優(yōu)秀畢業(yè)設計)_第2頁
(精品)畢業(yè)精品畢業(yè)精品.DOC(2013年優(yōu)秀畢業(yè)設計)_第3頁
(精品)畢業(yè)精品畢業(yè)精品.DOC(2013年優(yōu)秀畢業(yè)設計)_第4頁
(精品)畢業(yè)精品畢業(yè)精品.DOC(2013年優(yōu)秀畢業(yè)設計)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

武漢科技學院畢業(yè)設計(論文)任務書題目:通用試卷生成系統(tǒng)完成期限: 2004年12月1日至2005 年6月11日院系 計 算 機 科 學 系 指導教師 高 曉 清 專業(yè) 計算機科學與技術(shù) 職 稱 講 師 學生 陳 惠 欽 院(系)主 任 黃求根 接受任務日期 2004-12-1 批準日期 2005-6-11 一、原始依據(jù)(資料)在各學校開始逐步引入計算機的今天,試卷作為考察教學成果的重要手段之一,一直沒有得到較好的改善,試卷的編輯、整理工作占了很大的工作量。傳統(tǒng)的手工出卷過程,存在不少弊端.如出現(xiàn)不必要的重復勞動,造成人力資源及時間上的浪費;缺乏科學的衡量、評價及統(tǒng)一試卷難易度、試卷質(zhì)量的有效手段;存在自教自考,考前漏題的情況;試卷容易出現(xiàn)錯漏缺現(xiàn)象,引起不必要的麻煩。針對這些情況,我們進行總結(jié)分析,開發(fā)出了通用試卷生成系統(tǒng)。本系統(tǒng)希望利用計算機強大的數(shù)據(jù)處理功能,由計算機逐步代替?zhèn)鹘y(tǒng)的人工出卷,并且規(guī)范出卷程序,使出卷工作更加科學化、現(xiàn)代化,使教育工作更上一層樓。二、設計(論文)內(nèi)容和要求1. 設計要求:在掌握數(shù)據(jù)庫基礎理論知識和基本技術(shù)及數(shù)據(jù)庫管理程序開發(fā)的步驟的基礎上,運用Delphi集成開發(fā)環(huán)境和數(shù)據(jù)庫技術(shù)開發(fā)出實用、高效的通用試卷自動生成系統(tǒng)。2. 開發(fā)平臺:a) WINDOWS3. 開發(fā)環(huán)境:a) Delphi4. 論文要求:a) 語言簡潔,論述清楚b) 論文格式符合畢業(yè)論文的要求三、主要參考資料1 張春林等 Delphi7 數(shù)據(jù)庫系統(tǒng)設計與開發(fā) 清華大學出版社 2003.102 黃明等 Delphi7 信息系統(tǒng)設計與開發(fā)實例 機械工業(yè)出版社 2005.3四、同組設計者 潘玉丹設計(論文)進度計劃表序號起止日期計劃完成內(nèi)容實際完成內(nèi)容檢查日期檢查人簽名12004.12.1-2004.12.15寫開題報告完成任務22004.12.1-2004.12.15熟悉出卷的一般過程、題型,了解現(xiàn)有試卷生成系統(tǒng)的特點及不足,并在此基礎上進行需求分析完成任務32004.12.16-2005.3.31借閱相關(guān)資料,熟悉開發(fā)環(huán)境及數(shù)據(jù)庫原理的常用技術(shù)完成資料收集42005.4.1-2005.4.30編制軟件計劃書,分配角色和任務完成任務52005.5.1-2005.6.1編寫程序代碼、進行調(diào)試完成任務62005.6.1-2005.6.11撰寫畢業(yè)論文及答辯完成任務指導教師批準日期 年 月 日 簽名畢業(yè)設計(論文)開題報告課題名稱通用試卷自動生成系統(tǒng)院系名稱計算機科學系專業(yè)名稱計算機科學與技術(shù)學生姓名陳惠欽指導教師高曉清一、課題的意義試卷自動生成系統(tǒng),此課題目的是在我們以往學習數(shù)據(jù)庫的基礎上,靈活運用數(shù)據(jù)庫開發(fā)軟件Delphi和結(jié)構(gòu)化查詢語言SQL2000,開發(fā)出能供教學使用的一套出試卷系統(tǒng),以方便教學。應用所學的有關(guān)數(shù)據(jù)庫的知識,更深入地學習Delphi和SQL2000,將所學的書面知道和實際應用結(jié)合起來,以達到學以致用的目的。在各學校開始逐步引入計算機的今天,試卷作為考察教學成果的重要手段之一,通用試卷自動生成系統(tǒng)升化了傳統(tǒng)的手工出卷,解決了很多問題,例如: 避免了不必要的重復勞動,節(jié)約了人力資源及時間; 使用科學的衡量、評價及統(tǒng)一試卷難易度、試卷質(zhì)量的有效手段; 大幅度降低了試卷出現(xiàn)錯漏缺的機率,減少不必要的麻煩。二、發(fā)展狀況在以往的教學中,老師出試卷大多由手工出卷,這樣生成的試卷往往會有知識點分布太集中、難易程度不當、分值分布不均等一些缺點;這樣,既增加了老師的負擔,也沒有達到很好考查學生學習的真實水平,造成教學上的失誤?;谝陨系脑颍泻芏鄰氖萝浖_發(fā)的人員,在試卷自動生成方面做了很大的研究。目前這一領域也以良好的發(fā)展姿態(tài)而不斷進步,早期已經(jīng)有了一些類似的系統(tǒng),但經(jīng)過軟件開發(fā)人不斷的完善,大致形成了具備如下功能的系統(tǒng):刪除試題、批量錄入試題、試題交流、合并題庫、自定義試題參數(shù)等一些功能,其中試題交流功能非常實用,主要用于同事間交流試題。系統(tǒng)體積非常小,壓縮后只有幾百K。平時只要將一些試題或從網(wǎng)絡下載的試題,按學科、章節(jié)、知識點、題型、難易程度、備注六個參數(shù)進行歸類,錄入題庫,需要用時,只要輸入一些查詢條件即可查出所要找的試題。生成試卷非常方便,只需幾分鐘就可以生成一份試卷,生成的試卷還配有答案,更重要的是軟件能與WROD的完美結(jié)合,試題、答案的編輯、試卷的排版打印全部由WORD來完成,試卷和答案都可保存為*.DOC格式??梢?,試卷自動生成系統(tǒng)這方面的研究日益成熟,這不但減輕了教師的工作負擔,也使用教學更加地科學化,有利用教育事業(yè)的發(fā)展。三、研究內(nèi)容/(還末改進)1、新建試卷,添加、刪除題目、選項、試卷;2、編輯試卷屬性:設置試卷的總分、名稱、保存路徑;3、系統(tǒng)能支持不同類型的題目,比如:判斷、單選、多選等;4、編輯題目時能插入圖片;5、可以按試卷類型對試卷進行分類;6、可以對用戶進行管理,修改用戶口令密碼等;7、生成的試卷可以進行脫機測試,測試過程中如出現(xiàn)漏題,選項漏選,在提交前系統(tǒng)你能對用戶進行提示;8、編輯題目時如出現(xiàn)邏輯上的錯誤,比如判斷題沒有設置正確答案,單選題沒有設置正確選項,多選題沒有設置全正確選項等,在保存試題時系統(tǒng)能自動進行提示;9、測試完畢,系統(tǒng)自動對試卷進行批改,試卷得分以及做錯的題目系統(tǒng)能以醒目顏色進行標示。四、研究方法/(還末改進)系統(tǒng)從設計理念上堅持采用樹狀管理結(jié)構(gòu),在系統(tǒng)結(jié)構(gòu)中用“科目”、“課程”、“章節(jié)”、“知識點”來組織整個系統(tǒng);每道題目都由“科目”、“課程”、“章節(jié)”、“題型”、“知識點”、“難度”這六個參數(shù)組成,再而演變出試卷和成績。故系統(tǒng)對小學、初中、中專、高中、大專、大學、單位自辦學校和教師個人都適用。本系統(tǒng)利用計算機強大的數(shù)據(jù)處理功能,由計算機逐步代替?zhèn)鹘y(tǒng)的人工出卷,并且規(guī)范出卷程序。用模塊化設計方法設計試卷自動生成系統(tǒng),將要實現(xiàn)的功能在需求分析中詳細描述出來;然后在概要設計階段對這些功能歸納總結(jié),使它們模塊化,也就是進行總體控制;由大模塊再細分為一些小?;?逐步細化,從而使功能不斷地完善。用模塊化設計方法設計試卷自動生系統(tǒng),可以使那些繁瑣、復雜的功能變成一個簡單易實現(xiàn)的小模塊,從而使設計工作事倍功半。五、 研究手段1、 自我準備:本次設計所需要的是Delphi和SQL2000。我已學習過這兩個軟件的使用方法;盡管如此,但不能滿足畢業(yè)設計的需要,所以必須深入學習并熟練掌握其功能和使用方法。2、 查找資料:為了搞好畢業(yè)設計,我在圖書館和網(wǎng)上查閱了大量有關(guān)試卷自動生成系統(tǒng)方面的資料,對其分析和講解得都很詳細;我還購買一些相關(guān)書籍,通過借鑒他人的一些Delphi和SQL2000的使用方法和技巧,為畢業(yè)設計做準備。 3、 設計方案:試卷自動生成系統(tǒng)要具有手工生成和自動生成的功能;對用戶的管理也應當具有增加、刪除用戶等功能;對生成的試卷如有不滿意的,可對其進行修改;還可對題庫進行增、刪、改等功能,使題庫不斷的完善。六、研究步驟該方案的題庫系統(tǒng)的開發(fā)分為以下幾個階段:1 進行需求分析 ,通過需求分析,確定整個系統(tǒng)大概的規(guī)模 。2 進行系統(tǒng)分析,通過系統(tǒng)分析 ,確定該系統(tǒng)該具有那些功能,有那些模塊,各個模塊之間是怎樣聯(lián)系的,以及怎樣組合的 。3 建立數(shù)據(jù)庫,通過對系統(tǒng)的分析,我們要確定數(shù)據(jù)庫的結(jié)構(gòu)是怎么樣的,使得數(shù)據(jù)庫的表結(jié)構(gòu)盡可能的合理,操作上更加方便、簡潔 。4 劃分功能模塊,使得整個系統(tǒng)分到每個小組成員,使系統(tǒng)能整個進行。5 系統(tǒng)模塊的拼裝,把每個小組成員所做的模塊,組裝成一個系統(tǒng),并且是系統(tǒng)整體能夠運行。6 調(diào)試,調(diào)試整個的系統(tǒng)模塊的功能,看各個功能是否能正常運行,并找出程序中的錯誤,改正這些錯誤 。7 撰寫畢業(yè)論文及答辯。七、參考書目Delphi7數(shù)據(jù)庫應用開發(fā) 郭晶、楊章玉編著 電子工業(yè)出版社Delhpi7數(shù)據(jù)庫高級教程 劉斌、李文革編著 清華大學出版社研究內(nèi)容-開發(fā)一個基于知識點通用題庫管理系統(tǒng)軟件,采用大型數(shù)據(jù)庫,包括題庫、試卷等模塊。該系統(tǒng)提供題庫的框架結(jié)構(gòu),以及對題庫中數(shù)據(jù)的維護功能。該系統(tǒng)數(shù)據(jù)庫中可預先存入相關(guān)試題資料,也可在系統(tǒng)運行過程中添加數(shù)據(jù)。其系統(tǒng)應包含以下特點與功能:1 采用SQL Server數(shù)據(jù)庫,NT4.0或者Windows98操作系統(tǒng)以上。題庫可以自由維護、擴充,題庫大小只受物理限制的存儲容量。2 權(quán)限分明的管理操作系統(tǒng),支持按操作者及題庫權(quán)限進行操作,確保題庫的公共性與私有性。3 試題支持單項選擇題,判斷題,填空題,編程題等題型,用戶可以自由設置題型,試題內(nèi)容包括內(nèi)容,標準答案等屬性,提供可以自由設置的試卷分類;多種試卷生成方式,可以設定參數(shù)自動生成或者手工選擇試題,題庫中自動抽取指定數(shù)量的試題或手工選取試題,也可以從某題庫中每個題型各抽取多少分的試題,或者從多個題庫中分別抽取指定數(shù)量的試題合成試卷,試卷生成的方式可以帶答案、解答。4 定義的試卷可以重新編輯、排序、刪除、調(diào)整,可以自動生成一份文檔,也可以把現(xiàn)有的文檔資料存到系統(tǒng)里,內(nèi)容不受限制。研究方法-這種試題庫系統(tǒng)的基本思想是按照“知識點”來構(gòu)建試卷,主要是思路是依據(jù)教學大綱的要求,以課程的主干內(nèi)容為主線,先把教學內(nèi)容細致分解為一個個知識點,然后按大綱對各個知識點的要求掌握的層次,與題型、題量、難易度及各知識點間的館包容性結(jié)合起來,作為該試題庫系統(tǒng)構(gòu)建試題的基本原則,以便計算機自動生成每份試卷、在考查點的分布上具有較強的科學性。要實現(xiàn)基于知識點的試題庫系統(tǒng)的試卷建構(gòu),首先必須研究從知識點角度對試題如何進行分類,并結(jié)合試題的類型賦予各種特征參數(shù),使試題庫編程符合科學化與規(guī)范化的要求。因此,參數(shù)的設置是否合理,對能否體現(xiàn)基于知識點建構(gòu)試卷的思想.所建構(gòu)試卷的質(zhì)量,編程的工作量及運行效率都是直觀重要的。本試題庫管理系統(tǒng)中,對于其中的每一道題,設置了以下屬性字段,分別是:“章號、節(jié)號、編號、難度系數(shù)、試題類型、試題內(nèi)容。其中”章號+編號”唯一對應一道題;試卷生成模塊是整個題庫管理系統(tǒng)的核心。本系統(tǒng)的組卷是采用交互方式,即用戶在輸入各種要求后,系統(tǒng)會自動生成一份符合要求的試卷。組卷過程中系統(tǒng)會向用戶依次詢問以下信息:(1) 要生成的試卷滿分分數(shù)(2) 是否考所有章的內(nèi)容,若只是考部分章內(nèi)容,還應輸入所考章的章號;(3) 將系統(tǒng)試題庫表中該門課程所用全部題型列表顯示,供用戶選擇。(4) 具體輸入所考類型的代號,該類型的題目數(shù)目以及該類型題所占分數(shù);(5) 將每種題型的題數(shù)分配到各章節(jié);(6) 輸入本試卷整體的難度系數(shù);所有上述參數(shù)有效輸入后,確信在題庫中滿足上述條件的題目數(shù)目量足夠的情況下即可生成 一份試卷來摘 要運用可視化Delphi開發(fā)出試題自動生成系統(tǒng).利用其提供的各種面向?qū)ο蟮拈_發(fā)工具, 建立系統(tǒng)應用原型,然后進行需求迭代,不斷修正和改進,直到形成滿意的可行系統(tǒng)。該系統(tǒng)結(jié)構(gòu)良好、使用方便,題庫數(shù)據(jù)輸入簡單,系統(tǒng)能夠?qū)崿F(xiàn)人工選題和隨機抽題兩大功能. 包括后臺數(shù)據(jù)庫的建立、維護以及前端應用程序的開發(fā)兩個方面。該系統(tǒng)有安全的用戶登錄模塊、方便快捷的瀏覽界面、易于操作的功能模塊。本文的分析基于知識點的試題庫結(jié)構(gòu)基礎上,闡述以知識點難度系數(shù)和題型為主要控制參數(shù)的組卷算法的建立與實現(xiàn)方法。該系統(tǒng)的運用不僅提高了教師的工作效率,而且可以實現(xiàn)真正意義上通用性。關(guān)鍵詞:通用試卷;知識點;自動組卷; Delphi; SQL Server;this paper describes the design of the structure of the test questiondatabase and the method of the foundation realization of arithmetic of organizing examination paper with the main controls parameters of content of exam and coefficient of difficulty and the structure of test questionthe examination base is developed by the use of visual tool DELPHI7.0 and can be used in wide range of applicationsThis program is about a manage system in miniature of house resource. It adopt the Client/Server model including backstage supporter foundation and maintain and front two respects of development of application program of data base mainly. Through so analyse the situationing, I use DELPHI 6.0 developing instruments and utilize its various kinds of developing instruments which face the target offered, it set up and use by prototype systematically within short time at first, then, Carry on demand change and take the place of, revise and improve constantly, until forming the user satisfied feasible system to initial prototype system.This system has secure user entry, convenient scanning and easy using query 、append and so on. I believe it will meet the corporations satisfaction.關(guān)鍵詞:(小四號、黑體、左頂格) (內(nèi)容采用小四號、宋體、接排,各關(guān)鍵詞之間用分號隔開)(模板一)ABSTRACT(采用三號字、Times New Roman字體、加粗、居中、與內(nèi)容間空一行)(內(nèi)容采用小四號Times New Roman字體)Key words:(小四號、Times New Roman字體、加粗、左頂格) (內(nèi)容采用小四號、Times New Roman字體、接排、各關(guān)鍵詞之間用分號和1個空格隔開)(模板二)目 錄(三號、黑體、居中、“目錄”兩字間空四格、與正文間空一行)1(空一格)(小三號、黑體)11 概述2 數(shù)據(jù)庫理論基礎和開發(fā)工具2.1 數(shù)據(jù)庫理論基礎2.1.1 數(shù)據(jù)庫管理系統(tǒng)2.1.2 數(shù)據(jù)庫系統(tǒng)設計2.1.3 數(shù)據(jù)庫設計范式分析2.2 數(shù)據(jù)庫開發(fā)工具2.2.1 Delphi 7.0具體特點2.2.2 基本數(shù)據(jù)庫組件2.2.3 Delphi 7.0 一些控件2.3 在Delphi中通過BDO 連接數(shù)據(jù)庫2.3.1 BDE概述2.3.2 BDE原生對象2.3.3 BDE組件概要介紹2.4 SQL語言在Delphi中的應用2.5 本章小結(jié)3 通用試卷生成系統(tǒng)的定義3.1 問題的定義3.2 可行性分析3.3 需求分析3.3.1 題庫管理3.3.2 試卷管理3.3.3 權(quán)限管理4 系統(tǒng)的框架分析和設計4.1 系統(tǒng)總體結(jié)構(gòu)設計4.2 試題設計流程4.3 數(shù)據(jù)模塊窗體及BDE的設置4.4 前臺用戶部分模塊設計4.4.1 用戶登錄窗口設計4.4.2 主界面設計4.4.3 權(quán)限管理4.5 數(shù)據(jù)庫后臺設計4.5.1 數(shù)據(jù)庫表的設計思路4.5.2 數(shù)據(jù)庫部分表的列舉4.6 試卷生成4.7 自動生成試卷向?qū)K設計4.8 算法概要4.8.1 隨機策略4.8.2 補償策略4.8.3 算法描述4.9 試卷預覽4.10 本章小節(jié)5 總結(jié)參考文獻參考文獻多少頁(模板三)1(空一格)(小三號、黑體、左頂格)1 概述 /未改 隨著社會經(jīng)濟的迅速發(fā)展和科學技術(shù)的全面進步,計算機事業(yè)的飛速發(fā)展,以計算機與通信技術(shù)為基礎的信息系統(tǒng)正處于蓬勃發(fā)展的時期。隨著經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。在計算機飛速發(fā)展的今天,簡化試卷的手工操作勢必所然,。所以如何設計好倉庫管理系統(tǒng),盡可能地減少倉庫管理的重復性和低效性就成為當前最為重要的問題。圖書倉庫管理的核心是入庫、庫存和出庫之間的聯(lián)系,如何處理好三者之間的關(guān)系是系統(tǒng)最為關(guān)鍵的部分。另外,員工信息和供應商信息管理也是倉庫管理中一個必不可少的部分,它提供著與入庫和出庫相關(guān)的地一些信息,使得整個系統(tǒng)更加完整,更加實用。通過對倉庫管理日常工作的詳細調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能的實現(xiàn),技術(shù)的要求以及可行性等多方面進行考慮,認為本課題是一個適應現(xiàn)今圖書倉庫管理需求的計算機信息管理系統(tǒng),具有一定的實際開發(fā)價值和使用價值。2 數(shù)據(jù)庫理論基礎和開發(fā)工具2.1 數(shù)據(jù)庫理論基礎數(shù)據(jù)庫處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時成為最熱門技術(shù)之一。數(shù)據(jù)庫技術(shù)能使Internet應用超越具有早期應用特點的簡單的發(fā)布。同時,Internet技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫內(nèi)容的標準化的訪問方法。這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫技術(shù)的要求。它們只是加重了數(shù)據(jù)庫技術(shù)的重要性。數(shù)據(jù)庫的設計和開發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設計是一個藝術(shù)過程。把設計轉(zhuǎn)變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應用,是一個工程過程。數(shù)據(jù)庫的目的是幫助人們跟蹤事務。經(jīng)典的數(shù)據(jù)庫應用涉及諸如訂單、顧客、工作、員工、學生、電話之類的項,或其它數(shù)據(jù)量較大、需要密起關(guān)注的事務。最近,由于數(shù)據(jù)庫的普及,數(shù)據(jù)庫技術(shù)已經(jīng)被應用到了新的領域,諸如用于Internet的數(shù)據(jù)庫或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫。數(shù)據(jù)庫也被越來越多地應用于生成和維護多媒體應用程序上。2.1.1 數(shù)據(jù)庫管系統(tǒng)數(shù)據(jù)管理系統(tǒng)(DBMS)是用描述、管理和維護數(shù)據(jù)庫的程序系統(tǒng),是數(shù)據(jù)庫系統(tǒng)的核心組成部分。它建立在操作系統(tǒng)的基礎上,對數(shù)據(jù)庫進行統(tǒng)一的管理和控制。其主要功能有:1) 描述數(shù)據(jù)庫:描述數(shù)據(jù)庫的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、語義信息和保密要求等。2) 管理數(shù)據(jù)庫:控制整個數(shù)據(jù)庫系統(tǒng)的運行,控制用戶的并發(fā)性訪問,檢驗數(shù)據(jù)的安全、保密與完整性,執(zhí)行數(shù)據(jù)的檢索、插入、刪除、修改等操作。3) 維護數(shù)據(jù)庫:控制數(shù)據(jù)庫初始數(shù)據(jù)的裝入,記錄日志,監(jiān)視數(shù)據(jù)庫性能,修改更新數(shù)據(jù)庫,重新組織數(shù)據(jù)庫,恢復出現(xiàn)故障的數(shù)據(jù)庫。4) 數(shù)據(jù)通信:組織數(shù)據(jù)的傳輸。2.1.2 數(shù)據(jù)庫系統(tǒng)設計在軟件需求分析階段,搞清楚了軟件“做什么”的問題,形成了目標系統(tǒng)的邏輯模型?,F(xiàn)在我們所要做的就是要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實現(xiàn)軟件的需求。首先,我們需要描述的是系統(tǒng)的總的體系結(jié)構(gòu)(1) 數(shù)據(jù)庫模塊設計:系統(tǒng)的概要設計中最重要的就是系統(tǒng)模塊化設計。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎。(2) 數(shù)據(jù)表設計: 數(shù)據(jù)表的設計是指設計數(shù)據(jù)庫中表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱,類型、表示形式、缺省值、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設計,但為了使效率高,規(guī)范化程度應用環(huán)境和條件來決定。數(shù)據(jù)表設計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關(guān)信息、操作責任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。(3) 存儲設備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。(4) 數(shù)據(jù)使用權(quán)限設置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)完全。2.1.3 數(shù)據(jù)庫設計范式分析建立起一個良好的數(shù)據(jù)指標體系,是建立數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的最重要的一環(huán)。一個良好的數(shù)據(jù)指標體系是建立DB的必要條件,但不是充分條件。我們完全可以認為所建指標體系中的一個指標類就是關(guān)系數(shù)據(jù)庫中的一個基本表,而這個指標類下面的一個個具體指標就是這個基本表中的一個字段。但如果直接按照這種方式建庫顯然還不能算最佳。對于指標體系中數(shù)據(jù)的結(jié)構(gòu)在建庫前還必須進行規(guī)范化的重新組織。在數(shù)據(jù)的規(guī)范化表達中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個關(guān)系(relation),而在這個關(guān)系下的每個數(shù)據(jù)指標項則被稱為數(shù)據(jù)元素(data element),這種關(guān)系落實到具體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個字段(field)。規(guī)范化表達還規(guī)定在每一個基本表中必須定義一個數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標識出該表中其它相關(guān)的數(shù)據(jù)元素。在規(guī)范化理論中表是二維的,它有如下四個性質(zhì):在表中的任意一列上,數(shù)據(jù)項應屬于同一個屬性(如圖中每一列都存放著不同合同記錄的同一屬性數(shù)據(jù))。 表中所有行都是不相同的,不允許有重復組項出現(xiàn)(如圖中每一行都是一個不同的合同記錄)。在表中,行的順序無關(guān)緊要(如圖中每行存的都是合同記錄,至于先放哪一個合同都沒關(guān)系)。 在表中,列的順序無關(guān)緊要,但不能重復(如圖中合同號和合同名誰先誰后都沒關(guān)系,但二者不可重復或同名)。 在對表的形式進行了規(guī)范化定義后,數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結(jié)構(gòu)自動滿足第一、二、三范式,依此類推。第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復項出現(xiàn),如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st NF實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系和表的過程都自動保證了所有表都滿足1st NF。 第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關(guān)鍵字(primary key),其它數(shù)據(jù)元素與主關(guān)鍵字一一對應。例如,在圖l9.7中如果我們將合同號定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functional depEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標識。第三范式(third normal form,簡稱 3rd NF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數(shù)關(guān)系。也就是說對于一個滿足了 2nd NF的數(shù)據(jù)結(jié)構(gòu)來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關(guān)鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防止數(shù)據(jù)庫出現(xiàn)更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設計。2.2 數(shù)據(jù)庫開發(fā)工具Delphi類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出現(xiàn)在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。在Delphi中,每一個類的祖先都是Tobject類,整個類的層次結(jié)構(gòu)就像一棵倒掛的樹,在最頂層的樹根即為Tobject類。這樣,按照面向?qū)ο缶幊痰幕舅枷?,就使得用戶可用Tobject類這個類型代替任何其它類的數(shù)據(jù)類型。實際上在Delphi的類庫中,Tobject類派生出了為數(shù)相當眾多的子類,它們形成了一個龐大的體系,通常情況下,如果不自行開發(fā)組件,就不必了解整個類的體系結(jié)構(gòu),只用到類層次樹的葉結(jié)點就足夠了。2.2.1 Delphi 7.0具體特點。2.2.2 基本數(shù)據(jù)庫組件用Delphi 7.0 開發(fā)數(shù)據(jù)庫應用,重點是和各種數(shù)據(jù)庫組件打交道,數(shù)據(jù)集是一組離散的數(shù)據(jù)記錄的集合。在Delphi中,數(shù)據(jù)集有3種表現(xiàn)形式:表,查詢,存儲過程;3種形式的數(shù)據(jù)集分別用Ttable,Tquery,TStoredProc來操縱。而Ttable,Tquery,TStoredProc的直接上級是TDBDataSet,TDBDataSet而是從TDBEDataSet派生的,而TDBEDataSet又是從TDataSet派生的。這些數(shù)據(jù)集之間的繼承關(guān)系如。示TTableTADODataSetTADOTableTADOQueryTADOStoredProcTQueryTStoredProcTBDEDateSetTNestedTableTBDEDataSetTClientDataSetTDataSetTCustomADODataSet -數(shù)據(jù)集的關(guān)系TdataSouce對象用于在DataSet對象(包括Ttable,Tquery,TStoredProc)和數(shù)據(jù)感知組件之間提供一個連接的紐帶,以便在窗體上顯示數(shù)據(jù)庫中的數(shù)據(jù),在數(shù)據(jù)庫中導航定位與編輯數(shù)據(jù)集中的數(shù)據(jù)。數(shù)據(jù)感知組件負責數(shù)據(jù)庫的顯示,并把用戶對數(shù)據(jù)的修改傳回。這里面的絕大多數(shù)組件,如DBEdit,DBText,DBMemo,DBComboBox等的功能和對應的非數(shù)據(jù)感知組件相同。結(jié)合自己的系統(tǒng),我使用了以下的數(shù)據(jù)庫應用的邏輯三層的結(jié)構(gòu):如下圖所示:。客戶端應用程序 用戶界面TDataSouce數(shù)據(jù)模塊TTableTQueryBDE 數(shù)據(jù)庫服務器 邏輯三層結(jié)構(gòu)2.2.3 Delphi 7.0 的一些控件(1) 數(shù)據(jù)控制類DataControl (2) 數(shù)據(jù)訪問類DataAccess2.3 在Delphi中通過BDE連接數(shù)據(jù)庫2.3.1 BDE 概述2.3.2 BDE原生對象2.3.3 BDE 組件概要介紹。(很多個組件的介紹與功能Table.query.stro,dateset,connrct,command等)2.4 SQL 語言在Delphi中的運用在Delphi中使用SQL語言非常方便,一般來說,都是通過Tquery組件來使用SQL語言的。可以在TQuery組件的SQL屬性中設置SQL語句。設計程序時,在該組件的屬性對話框中選擇SQL屬性,單擊帶省略號的按鈕,就可以打開String List Editor對話框,然后我們就可以在對話框中添加SQL語句。還可以使用Delphi的SQL Builder來自動生成SQL語句,這樣可以避免手工編寫SQL而可能造成的語法錯誤。靜態(tài)SQL語句在程序設計時便已固定下來,它不包含任何參數(shù)和變量。動態(tài)SQL語句,也被稱作參數(shù)化的語句,在其中間包含著表示字段名或表名的參數(shù),例如下面的語句是一條動態(tài)SQL語句: Select * From Students Where StudentCode =: StudentCode;其中的變量StudentCode便是一個參數(shù)變量,它由一個冒號引導,在程序運行過程中,必須要為該參數(shù)賦值,該條SQL語句才能正確執(zhí)行,每次運行應用程序時可以為該參數(shù)變量賦予不同的值。為參數(shù)賦值有三種方法:根據(jù)參數(shù)在SQL語句中出現(xiàn)的順序,設置TQuery部件的Params屬性值為參數(shù)賦值。直接根據(jù)SQL語句中各參數(shù)的名字,調(diào)用ParamByName方法來為各參數(shù)賦值。將TQuery部件的DataSource屬性設置為另一個數(shù)據(jù)源,這樣將另一個數(shù)據(jù)源中與當前TQuery部件的SQL語句中的參數(shù)名相匹配的字段值賦給其對應的參數(shù)。利用這種方法也能實現(xiàn)所謂的連接查詢,創(chuàng)建主要明細型數(shù)據(jù)庫應用。在程序運行過程中,要想設置TQuery部件的SQL屬性,必須首先調(diào)用Close方法,關(guān)閉TQuery部件,然后再調(diào)用Clear方法清除SQL屬性中現(xiàn)存的SQL命令語句, 最后再調(diào)用Add方法為SQL屬性設置新的SQL命令語句。例如:Query1.Close 關(guān)閉Query1)Query1.SQL.Clear 清除SQL屬性中的SQL命令語句Query1.SQL.Add(Select * From Students);Query1.SQL.Add( Where Name =Lucy );在為TQuery部件設置SQL屬性時調(diào)用Close方法總是很安全的,如果TQuery部件已經(jīng)被關(guān)閉了,調(diào)用Close方法時不會產(chǎn)生任何影響。在應用程序中為SQL屬性設置新的SQL 命令語句時,必須要調(diào)用Clear方法以清除SQL屬性中現(xiàn)存的SQL命令語句,如果不調(diào)用Clear方法,便調(diào)用Add方法向SQL屬性中設置SQL命令語句,那么新設置的SQL命令語句會追加在現(xiàn)存SQL命令語句后面, 在程序運行時常常會出現(xiàn)出乎意料的查詢結(jié)果甚至程序無法運行下去。在這里要特別注意的,一般情況下TQuery部件的SQL屬性只能包含一條完整的SQL語句,它不允許被設置成多條SQL語句。當然有些數(shù)據(jù)庫服務器也支持在TQuery部件的SQL屬性中設置多條SQL語句,只要數(shù)據(jù)庫服務器允許這樣,我們在編程時可以為 SQL 屬性設置多條SQL語句。在為TQuery部件設置完SQL屬性的屬性值之后,也即編寫好適當?shù)腟QL程序之后,可以有多種方式來執(zhí)行SQL程序。在設計過程中,設置完TQuery部件的SQL屬性之后將其Active屬性的值置為True, 這樣便可以執(zhí)行SQL屬性中的SQL程序,如果應用中有與TQuery部件相連的數(shù)據(jù)瀏覽部件( 如TDDGrid TDBEdit等)那么在這些數(shù)據(jù)瀏覽部件中會顯示SQL程序的執(zhí)行結(jié)果。在應用程序運行過程中,通過程序調(diào)用TQuery部件的Open方法或ExecSQL 方法可以執(zhí)行其SQL屬性中的SQL程序。Open方法和ExecSQL方法是不一樣的。Open方法只能用來執(zhí)行SQL語言的查詢語句(Select命令), 并返回一個查詢結(jié)果集,而ExecSQL方法還可以用來執(zhí)行其它常用的SQL語句(如INSERT, UPDATE, DELETE等命令),例如:Query1.Open (這樣會返回一個查詢結(jié)果集)如果調(diào)用Open方法,而沒有查詢結(jié)果時,會出錯。此時應該調(diào)用ExecSQL 方法來代替Open方法。如:Query1.ExecSQL (沒有返回結(jié)果)當然在設計應用程序時,程序設計人員是無法確定TQuery部件中的SQL 語句是否會返回一個查詢結(jié)果的。對于這種情況應當用TryExcept模塊來設計程序。在 Try 部分調(diào)用Open方法,而在Except部分調(diào)用ExceSQL方法,這樣才能保證程序的正確運行。Delphi中用ADOQuery來使用SQL語句同樣十分方便。在ADOQuery組件中首先通過ConnectionString屬性值來聯(lián)接數(shù)據(jù)源,然后就通過雙擊SQL屬性值來寫入SQL語句。在Delphi中調(diào)用數(shù)據(jù)庫,就可以調(diào)用ADOQuery組件,通過修改其中的SQL屬性中的SQL語句來實現(xiàn)對數(shù)據(jù)庫的各項操作。值得注意的是,ADOQuery組件只有在激活的情況下才可以被正確地使用,這樣就提出了一個問題,也就是說,在每次修改ADOQuery組件的SQL屬性時都必須先行進行關(guān)閉,待清除掉SQL中所有的SQL語句后才可以添加新的SQL語句。而且,在每一次修改完成以后,還應該記得重新將ADOQuery激活。其它的使用方法與TTQuery有許多的相似之處。2.5 本章小節(jié)本章主要介紹了數(shù)據(jù)庫的理論基礎、數(shù)據(jù)庫的開發(fā)工具Delphi和SQL語句在Delphi中的使用方法,數(shù)據(jù)庫理論基礎分析了數(shù)據(jù)庫的設計過程中要遵守的規(guī)則和設計方法。數(shù)據(jù)庫開發(fā)工具主要介紹了Delphi的特點和Delphi的DBE控件組,另外還簡要介紹了SQL 在Delphi中的運用。3 通用試卷生成系統(tǒng)的定義3.1 問題的定義隨著教育教學改革的不斷深入,/教考分離!試卷規(guī)范化!標準化的呼聲越來越高如何實現(xiàn)之是許多教育工作者潛心探討的問題而伴隨著國家對教育發(fā)展投入的力度不斷加大和全社會信息化水平的不斷提高,各級各類學校基本具備了實現(xiàn)現(xiàn)代化信息管理的物質(zhì)基礎因此,采用計算機信息管理系統(tǒng)來解決/教考分離!試卷規(guī)范化!標準化的問題是一種行之有效的方法它不僅可以減輕人員的重復勞動,提高工作效率,更是各學校實現(xiàn)考務自動化,管理數(shù)字化!信息化的標志基于上述原因,本文給出了一個通用試卷生成系統(tǒng)的設計方案其系統(tǒng)應包含以下特點與功能:1、 用SQL Server數(shù)據(jù)庫,NT4.0或者Windows98操作系統(tǒng)以上。題庫可以自由維護、擴充,題庫大小只受物理限制的存儲容量。2、 限分明的管理操作系統(tǒng),支持按操作者及題庫權(quán)限進行操作,確保題庫的公共性與私有性。3、 題支持單項選擇題,判斷題,填空題,編程題等題型,用戶可以自由設置題型,試題內(nèi)容包括內(nèi)容,標準答案等屬性,提供可以自由設置的試卷分類;多種試卷生成方式,可以設定參數(shù)自動生成或者手工選擇試題,題庫中自動抽取指定數(shù)量的試題或手工選取試題,也可以從某題庫中每個題型各抽取多少分的試題,或者從多個題庫中分別抽取指定數(shù)量的試題合成試卷,試卷生成的方式可以帶答案、解答。4、 義的試卷可以重新編輯、排序、刪除、調(diào)整,可以自動生成一份文檔,也可以把現(xiàn)有的文檔資料存到系統(tǒng)里,內(nèi)容不受限制。3.2 可行性分析通用試卷生成系統(tǒng)是一個具有題庫管理功能和出卷功能系統(tǒng)??梢詫⒃撓到y(tǒng)分為題庫管理系統(tǒng)和出卷系統(tǒng)兩個模塊來做,其中出卷系統(tǒng)又分為手工出卷和自動出卷兩個子模塊。題庫管理模塊應具有:查看題庫,修改題庫、新增題目、刪除題目、章節(jié)管理、題型管理的功能。手工出卷讓用戶自己選擇試題,當用戶選擇的試題存在重復(例如,同一道題選擇了兩次)或者有內(nèi)容沖突(例如,同一知識點,在選擇題中出現(xiàn),又在填空題中出現(xiàn))時,要能提示用戶。自動出卷則是通過用戶選擇的生成試卷的條件,隨機地選擇試題,自動完成試卷的生成。這種試題庫系統(tǒng)的基本思想是按照“知識點”來構(gòu)建試卷,主要是思路是依據(jù)教學大綱的要求,以課程的主干內(nèi)容為主線,先把教學內(nèi)容細致分解為一個個知識點,然后按大綱對各個知識點的要求掌握的層次,與題型、題量、難易度及各知識點間的館包容性結(jié)合起來,作為該試題庫系統(tǒng)構(gòu)建試題的基本原則,以便計算機自動生成每份試卷、在考查點的分布上具有較強的科學性。要實現(xiàn)基于知識點的試題庫系統(tǒng)的試卷建構(gòu),首先必須研究從知識點角度對試題如何進行分類,并結(jié)合試題的類型賦予各種特征參數(shù),使試題庫編程符合科學化與規(guī)范化的要求。因此,參數(shù)的設置是否合理,對能否體現(xiàn)基于知識點建構(gòu)試卷的思想.所建構(gòu)試卷的質(zhì)量,編程的工作量及運行效率都是直觀重要的。試卷生成模塊是整個題庫管理系統(tǒng)的核心。本系統(tǒng)的組卷是采用交互方式,即用戶在輸入各種要求后,系統(tǒng)會自動生成一份符合要求的試卷。組卷過程中系統(tǒng)會向用戶依次詢問以下信息:(1) 要生成的試卷滿分分數(shù)(2) 是否考所有章的內(nèi)容,若只是考部分章內(nèi)容,還應輸入所考章的章號;(3) 將系統(tǒng)試題庫表中該門課程所用全部題型列表顯示,供用戶選擇。(4) 具體輸入所考類型的代號,該類型的題目數(shù)目以及該類型題所占分數(shù);(5) 將每種題型的題數(shù)分配到各章節(jié);(6) 輸入本試卷整體的難度系數(shù);所有上述參數(shù)有效輸入后,確信在題庫中滿足上述條件的題目數(shù)目量足夠的情況下即可生成 一份試卷來。抽題組卷是系統(tǒng)的關(guān)鍵,如何設計 一個算法一定能抽出滿足要求的試卷,這是一個非常復雜的問題,從大綱對各個知識點所要求掌握的層次、題型、題量、各知識點之間的包容性,及考查點分布的科學性等角度來看,現(xiàn)有的試卷生成系統(tǒng)并不能完全達到教學基本要求,有待進一步研究。題庫查詢和統(tǒng)計模塊能夠及時地查詢和統(tǒng)計現(xiàn)在題庫中試題的數(shù)量,為題庫的擴充和更新提供了很好的參照。由上述需求可以畫出數(shù)據(jù)流程圖。為了表達較為復雜問題的數(shù)據(jù)處理過程,用一張數(shù)據(jù)流圖是不夠 的,要按照問題的層次結(jié)構(gòu)進行逐步分解,并以一套分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。在這里一共使用了兩層數(shù)據(jù)流圖,即頂層圖和底層圖。它們是系統(tǒng)的關(guān)鍵部分,也是主要的部分。通過以上對數(shù)據(jù)流圖的分析之后,我們已大體地了解了系統(tǒng)的功能和目標,接下來所要做的就是系統(tǒng)功能模塊的劃分和數(shù)據(jù)庫的設計,也就是系統(tǒng)的概要設計。該系統(tǒng)分為兩個子系統(tǒng):題庫管理系統(tǒng)和試卷生成系統(tǒng)。經(jīng)過對系統(tǒng)的分析首先得到系統(tǒng)流程圖。如下:試卷生成程序操作記錄題庫題庫管理程序事務試卷事務 試卷生成系統(tǒng)數(shù)據(jù)流圖:題庫管理系統(tǒng)數(shù)據(jù)流圖:3.3 需求分析本系需要實現(xiàn)以下一些基本功能:3.3.1 題庫管理試題管理的主要目的是維護題庫中已有的試題及各項參數(shù)輸出及題庫查詢。其中包括題庫編輯、題庫排序、題庫查詢。題庫編輯;其內(nèi)容包括新建題庫,已存在題庫的內(nèi)容修改和增添、刪除以及舊題庫文件的刪除這部分是對基本庫文件直接進行操作,特別是刪除操作,對庫文件的潛在危害極大。因此應防止因用戶誤操作而對文件造成的損壞。題庫查詢:要編制試卷首先要清楚各個基本庫文件中的試題分布情況,因此要對基本庫文件做查詢,將查詢反饋給出卷者(用戶),出卷者再根據(jù)庫中試題分步情況來選題。3.3.2 試卷管理該模塊可根據(jù)要求實現(xiàn)試卷的自動/手工出卷自動生成的試卷試題由系統(tǒng)隨機抽取,由于題庫中的試題按照題目的難易程度分類,故隨機抽出的試題難易適中,既可滿足一般考試的要求又避免了人為因素,增強了試卷的可信度盡管自動生成試卷符合規(guī)范化考試的要求,但為了滿足不同用戶的特殊需要,特設置了手工出卷的操作,這樣就增加了系統(tǒng)的通用性與靈活性此外,該模塊還可根據(jù)用戶的查詢要求生成關(guān)于試卷情況的文檔/試題編輯模塊本模塊的主要功能是錄入試題,同時可對試題內(nèi)容進行編輯和修改。(1)試題編號的生成試題庫中的試題編號是區(qū)別試題的重要標志,因此必須保證試題編號的唯一性。為防止由于試題錄入者的錯誤錄入而造成的系統(tǒng)出錯,同時減輕試題錄入者的工作量,試題編號將由系統(tǒng)自動給出。圖1 系統(tǒng)功能示意圖在錄入新試題時,系統(tǒng)給出的試題編號為當前題庫中的試題數(shù)加一。(2)試題的錄入在連續(xù)錄入試題時,試題的科目、題型、知識點等字段的值往往會重復出現(xiàn),因此系統(tǒng)將保留前一題錄入的某些字段值,以提高試題錄入效率,減輕試題錄入者的工作量。2.1.2 試題查詢模塊本模塊的主要功能是按照用戶設置的查詢條件對試題進行快速查詢。用戶可以根據(jù)科目、試題題型、試題難度、試題使用情況、試題編號以及試題知識點,來查詢試題的內(nèi)容、答案等信息。2.1.3 試題刪除模塊本模塊的主要功能是對一些舊題、錯題進行邏輯刪除或?qū)σ驯贿壿媱h除的試題進行撤消刪除操作。在試題錄入過程中,系統(tǒng)自動生成的試題編號為題庫中的試題數(shù)加一,因此如果隨便對試題進行物理刪除,題庫中的試題編號將會出現(xiàn)重復的情況,這是系統(tǒng)所不允許的。為解決這一問題,我們在題庫中設置了一個“刪除記號”字段。當字段值為.T.時,表示該題已被邏輯刪除;當字段值由.T.變?yōu)?F.時,表示對已被刪除的試題進行撤消刪除操作。2.2 試卷生成與管理模塊本模塊完成試卷的組織與生成、查閱與打印及編輯功能。2.2.1 試卷組織與生成模塊本模塊的主要功能是組織試卷結(jié)構(gòu),生成一份完整的試卷。(1)試卷的結(jié)構(gòu)組織一份試卷主要是由試卷標題、試卷內(nèi)容及試卷答案三部分構(gòu)成。其中試卷內(nèi)容為試卷的主體,包含若干大題,每一大題中又有若干小題。由于試卷的大題數(shù)一般不會太多,因此在本系統(tǒng)中,我們規(guī)定大題數(shù)的上限為10。(2)試卷的選題出卷者給出試卷選題的要求,如試題的題型、難度等,系統(tǒng)將根據(jù)這些要求,從題庫中找出滿足條件的試題,并從中進行隨機選題。如果出卷者對選題結(jié)果不滿意,可以讓系統(tǒng)重新選題或?qū)€別試題進行調(diào)整。2.2.2 試卷查閱與打印模塊本模塊的主要功能是對歷屆的試卷進行查閱和打印。(1)試卷查閱的安全性問題(2)由于本系統(tǒng)允許有多個用戶,所以需要采取必要的措施,使任何一位用戶所出的試卷不能被其他用戶看到。在試卷的查閱過程中,如果將使用過的試卷和未使用過的試卷混在一起進行查閱,將是一種很不安全的做法。因此,本系統(tǒng)將自動隱藏未曾使用過的試卷;用戶如果希望對這些試卷進行查閱,就必須通過身份驗證。/3.3.3 權(quán)限管理:增加可刪除系統(tǒng)操作人員,并指定操作人員的權(quán)限??赏ㄟ^對用戶進行權(quán)限管理范圍設定,減輕操作內(nèi)容,也可對單個用戶權(quán)限及范圍進行修訂,從而保證系統(tǒng)在實施中的靈活性。4 系統(tǒng)的框架分析和設計4.1 系統(tǒng)總體結(jié)構(gòu)設計通用試卷生動生成系統(tǒng)從功能上分為幾大模塊:系統(tǒng)管理模塊又分為用戶權(quán)限的分配,賦予權(quán)限、修改密碼,新增用戶四個模塊;試卷模塊主要分為兩大分支,手動生成試卷和自動生成試卷兩大類,不同的題目對應不同的題型,根據(jù)不同的題型選擇不同的數(shù)據(jù)源,最后顯示在同一個表上。/要改善的題庫管理模塊又分為題庫的修改模塊(包括增加、刪除、編輯、新題錄入)、查詢模塊,查詢題庫時可選擇多條件查詢,精確查詢和模糊查詢,細分模塊,添加細節(jié)。比如,又將修改界面中其分為增加題目,修改題目信息、刪除。試卷管理模塊又分為題庫自動生成模塊、手動生成模塊、試卷修改模塊、試卷刪除模塊、試卷預覽模塊。系統(tǒng)體系結(jié)構(gòu)框圖如下圖。手工生成自動生成試卷修改試卷刪除試卷預覽試卷 管理系統(tǒng) 管理試題輸入試題查詢試題添加試題修改題庫 管理修改密碼用戶添加用戶刪除修改權(quán)限數(shù)據(jù)管理退出系統(tǒng)登陸系統(tǒng)試卷自動生成系統(tǒng) 系統(tǒng)體系結(jié)構(gòu)4.2 試題設計流程圖如下:定制試卷1.題型 。分數(shù)自動生成-章節(jié)選擇-難度選擇-試卷生成瀏覽-答案生成查看4.3 數(shù)據(jù)模塊窗體及BDE的設置本系統(tǒng)使用了一個數(shù)據(jù)模塊窗體,這個數(shù)據(jù)模塊窗體繼于TdataModule。在本系統(tǒng)中所有的數(shù)據(jù)存取組件和數(shù)據(jù)源組件都在此數(shù)據(jù)模塊中進行了定義。在編寫數(shù)據(jù)庫應用程序時,經(jīng)常要遇到這樣的情況,即多組件、窗體同時訪問相同的數(shù)據(jù)源,如果為每一個組件或者窗體都設置一個數(shù)據(jù)源將是十分耗時的工作,而且要保證這些數(shù)據(jù)源的確是相同的也需花一番功夫。數(shù)據(jù)模塊就把這些數(shù)據(jù)源集中管理做成的一個統(tǒng)一的模塊,需要時就將該模塊引入而不必直接操作數(shù)據(jù)源本身。簡單說來,數(shù)據(jù)模塊是用來集中管理數(shù)據(jù)源的一個窗體。該窗體可在需要的地方隨時引入,不過一定要的是在使用該數(shù)據(jù)組件時須在USES中加入該數(shù)據(jù)模塊單元。/再寫一點如何連接的,屬性。4.4 前臺用戶部分模塊設計4. 登陸模塊供用戶登陸進入系統(tǒng)使用,用戶首先選擇用戶,只有當密碼符合時,用戶才被允許進入系統(tǒng),實現(xiàn)方法是對用戶表進行遍歷搜索,若存在記錄滿足用戶輸入的密碼,則打開主窗體,并記錄登陸事件和相應資料。當密碼三次輸入錯誤時就退出。主要使用了Ttable 的Locate()方法。當輸入的密碼正確下,登陸窗體就將主窗體可以顯示的標志為真,同時,把登陸人的號碼和登陸人的姓名也傳到主窗體中,作為其它的功能條件。如圖* 圖。4.4.2 主界面設計主窗體(如圖4-4)在一定的程度是存放打開各功能菜單的一個窗體,按照設計,不同的用戶登陸能使用不同的菜

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論