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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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