




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 畢 業 設 計(論 文) 設計(論文)題目: 通用試題庫管理系統開發 學生姓名: 于偉躍 指導教師: 李廣水 二級學院: 龍蟠學院 專業: 計算機科學與技術 班級:08計算機科學與技術 學號: 0821113801 提交日期:2012 年 4月 23日 答辯日期: 2012年5月 16 日 目 錄1 緒論21.1 通用試題庫管理系統開發的背景21.2 通用試題庫管理系統開發的目的和意義21.3 試題庫管理系統的研究現狀與發展3 國外試題庫研究現狀3 國內試題庫研究現狀3 試題庫管理系統的發展趨勢31.4 系統研究的主要內容及組織41.5 小結42 通用試題庫管理系統需求分析52.1 系統需求
2、分析52.2系統功能邏輯圖62.3數據庫需求分析62.3系統使用的各種關鍵技術72.3.1 ADO數據訪問技術72.3.2 VBA編程技術72.3.3 OLE編程技術82.4 小結8自動成卷模塊10手動成卷模塊113.3.4 數據庫設計原則144 通用試題庫管理系統的實現154.2詳細設計16登陸模塊的設計16試題錄入模塊的設計17試題查詢、瀏覽、修改模塊的設計19課程、章節模塊的設計20自動出卷模塊的設計21手動出卷模塊的設計214.4數據層的設計22用ADO或Data連接數據庫224.5試題庫管理系統中的主要算法25組卷254.6 數據庫設計過程26用戶表的設計26題庫表的設計26課程表的
3、設計26章節表的設計26難易度表的設計26題目類型表的設計27試卷管理表的設計27小結275 總結28參考文獻29通用試題庫管理系統開發中文摘要隨著計算機技術的發展和國家教學水平的提高,使得計算機逐漸成為人們生活與學習的工具。由于考試作為評估各個學校教學質量和學生能力的重要手段,建立試題庫并且實施有效的管理便成了學校迫切希望解決的問題。本課題的研究實現了高效、方便、客觀的出題,具有較高查詢效率,且能自動生成試卷,又能使試卷管理工作更科學更高效。本系統采用C# 等技術對試題庫管理系統的設計進行了研究開發。 本文主要介紹了該系統的背景、目的和意義,給出了系統的需求分析、總體方案和總體設計,還有本系
4、統運行的工作環境以及所使用的開發工具,包括C# 、SQL 等軟件。采用ADO數據庫訪問技術對數據庫進行連接和訪問。實現了自動出卷和手動出卷等主要功能。 本系統采用C# 作為開發平臺,以SQL 作為后臺數據庫,整個系統層次結構簡單,易懂。關鍵詞:試題庫,C#,SQL,ADOUniversal test library management system developmentAbstractWith the development of computer technology and the state to raise teaching standards, making computers
5、increasingly become life and learning tools. As a result of the examination to be an important mean to assess the quality of teaching in all schools and to check students ability, examination base has become an important educational resource. It can play a high-effect, convenient and objective effec
6、t ion when setting a theme. Item Bank to establish and implement effective management has become a teacher eager to solve the problem of it. The system use C# technology to test the design of database system research and development carried out.It introduces the background, purpose and significance
7、of this system and describes the need analysis, general scheme and design of the system. Still and, it introduces the running environment of the system and the C# tool for suing and so on. This examination base system adopts three-layer architecture. Using ADO technology to connect and SQL the datab
8、ase SQL. These functions of this software are as follows: Manual creates paper and Auto creates paper and so on.The system uses C# as a development platform, and uses the SQL to be the backstage database; The level of the entire system structure is simple and easy to understand.Keywords:Examination
9、base, C#, SQL, ADO1 緒論1.1 通用試題庫管理系統開發的背景計算機在教學管理中的應用是現實教學管理更加科學化、現代化的關鍵。要提高教學質量,必須把握各個教學環節。考試是重要的一環,是檢測學生學習效果和客觀評價的一種手段。在學校教學工作中,傳統的試題管理通常是以試題集或者試卷集的形式進行的,各位老師單獨或者集體命名,采用人工手段,工作復雜。隨著科學的不斷發展,現代化的教學手段廣泛應用,傳統的試題管理模式和手工組卷模式將逐步被計算機代替,是教學檢測更客觀,更科學,更公正,不斷提高教學水平質量。本系統可以從試題庫中自動的查找和組織出一些不同類型。不同難度、不同章節范圍內的試題來組
10、成一份合理的試卷。它采用的是利用試卷自動生成章法記錄尸體的一組特征值,根據用戶提供的試卷題目類型、章節分卷、難易度等條件,借助于系統中的一系列數據文章,是具體課程的相關數據動態的抽象成邏輯數據,用以解決通用問題,現行的規劃出一份約束滿足的、合理的試卷。1.2 通用試題庫管理系統開發的目的和意義設計開發通用試題庫管理系統的目的主要是為了幫助教師輕松的出一份高質量的試卷,提供一個科學和實用的教學資源管理工具。通用試題庫管理系統的重大意義是讓教師節約大量的教學工作準備時間,并且擁有更多的時間進行教學研究和對學生進行個性化深入輔導。選擇通用試題庫管理系統研究設計的意義,是試題庫管理系統可以為學校教師舉
11、行考試提供方便與快捷的方式,擁有與真實考試同樣的題型、組卷等功能。而且,結合ADO控件和數據庫查詢等技術建立具有較高查詢效率的試題庫組織結構,使得試卷的自動生成并逐步積累,形成有效的試題庫,使試卷管理工作更科學更高效。本試題庫管理系統具有以下幾方面的優點:(1)教師可以容易地組成試卷,對被考試對象進行考試;(2)教師可以在試題庫的范圍內,按被考對象的情況方便地取出一定數量的試題,在確保內容的基礎上組成試卷;(3)當在試題庫中試題內容恰當和技巧完備情況下,通過試題庫組成的試卷質量將高于出試卷人自己出的試卷;(4)教師工作會變得簡單和高級,不需要花費大量的時間,運用計算機技術,可以方便地完成對試題
12、的錄入、刪除、修改,自動生成試卷,幫助學生復習和教師出題;(5)方便形成習題供學生練習,同時又方便教師出題;(6)在教學管理上,試題庫具有經濟、靈活的特點;(7)在教育測量上,試題庫能生成比傳統試卷質量高的試卷。1.3 試題庫管理系統的研究現狀與發展1.3.1 國外試題庫研究現狀 國外試題庫的建設是從1945年后發展起來的,如今發達國家的考試專業機構都根據自己承擔的職能建立起大型題庫,沒有題庫的考試機構很難體現出其應有的專業性。由于基于計算機考試的蓬勃發展和題庫研究的不斷深入,美國心理協會(APA)在1986年出版了關于如何開發、使用計算機化考試及解釋考分的指南,這成了考試和軟件開發者出版商的
13、事實標準。投入實際使用的例子有,1982年采用遠距離教育方式的美國學院(American college)開始用計算機進行測驗,當時被稱為“點播測驗(EOD)”,學院可以再認為準備好的任何時候參加某一門功課的考試;1993年ETS實現了計算機適應性GRE考試;從1994年開始,美國護理證書考試會全在計算機上進行。目前,國外許多大型測驗出版機構、地區教育主管部門、地區學校以及工業個專業資格認證機構都以某種測量理論為指導建立題庫、編制試卷等進行各種有關研究。1.3.2 國內試題庫研究現狀現在越來越多的網絡公司致力于各種考試系統的開發研究,以下就針對現今國內使用率比較高的考試系統作簡單介紹:北京杰佛
14、軟件技術開發有限公司開發的通用考試系統WebExam:通用考試系統WebExam是目前應用比較廣泛的遠程網絡學習考試軟件,它有開放的題庫管理系統和靈活的組卷系統,能夠自動輸出Word試卷、提供題目導入導出、題庫和試卷導入導出等設計,提供資源的快速收集和高度共享。通用考試系統適合政府、行業及企業的各專業網上考試、作業、練習、培訓管理等應用。但只是很適用于遠程或是分布式測試或考試,而在學校,老師為班級測試或作為考試而出的試卷只需要在校園或是機房的范圍內使用,而不必上網,因而單機版的易于控制而更有優勢。現在設計編寫的試題庫管理系統,一般都是基于兩種目的:一是充分利用現有的計算機系統減輕工作人員的勞動
15、強度;二是摒棄傳統的手工整理、以試卷(紙質)的形式存放到檔案室,浪費紙張等原材料,也占地方,不利于保護環境和保存。針對以上傳統試卷的種種問題,再考慮到Internet信息世界的現代化和計算機硬件配置的日新月異,很多人在研究能不能把題目放到計算機上讓考生來抽題,一方面減少泄題的可能性,另一方面也可以增加試題的靈活性,從而使教師能更快更好的了解掌握學生的知識掌握情況。1.3.3 試題庫管理系統的發展趨勢 隨著計算機事業在我國的縱深發展,題庫在我國的應用也越來越廣泛。一個好的試題庫管理系統,要求界面友好,能方便地錄入試題,試題庫的維護(修改、刪除試題)操作簡單,組卷靈活快捷,查詢試題或試卷迅速,以適
16、應各種知識更新對試卷難度、題型的要求,還要具有一定的安全性,因此利用計算機化的試卷生成系統來組卷將是未來學校考試的發展趨勢。1.4 系統研究的主要內容及組織 試題庫管理系統包括的主要的內容有試題的錄入、試題管理(修改、刪除)、試卷管理,生成試卷,用戶管理和課程管理的功能。試題的錄入、修改、刪除主要是由教師來完成,從而達到對試題庫的管理。在試題錄入模塊選擇所屬的科目,章節次等來錄入試題保存在題庫中,以便日后生成試卷,試卷生成過后,在試卷管理模塊選擇試卷修改(手動),打開試卷以便對試卷進行刪除、瀏覽等,點擊出卷即老師出卷完成。第一章 緒論主要介紹通用試題庫管理系統開發的背景、意義和目的,以及它的發
17、展和現狀。第二章 通用試題庫管理系統總體方案的設計對系統的總體方案進行需求分析,包括本系統的平臺選擇和所要完成的功能以及數據庫結構設計、數據庫設計原則、對數據庫設計進行分析。還介紹了系統使用到的各種關鍵技術,如:ADO、Data等技術的應用。第三章 通用試題庫管理系統的設計主要是試題庫管理系統的詳細設計和設計原則,系統使用的各種控件技術介紹。以及自動、手動出卷的實現過程。第四章 試題的數據庫系統設計主要是介紹數據庫設計概述、數據庫原則、設計過程、以及用戶表、題庫表、試卷管理表、自動出卷表、課程表等的設計。第5章 結論1.5 小結本章主要是介紹了當前通用試題庫管理系統的背景、意義和目的,發展和現
18、狀,以及隨著計算機技術的發展,試題庫管理系統的發展現狀和國內外的情況。對本試題庫管理系統所提供的功能做了個簡單的介紹,分析各個部分的功能以及需要完成的設計。2 通用試題庫管理系統需求分析2.1 系統需求分析通用試題庫管理系統的設計旨在為各單位的教務管理部門和老師提供一個方便的試題管理工具,為教師的教學準備工作節約大量時間,從而可以讓教師擁有更多的時間進行教學研究,建立一個有效的試題庫,可以很大程度的減輕教師的負擔,提高教學質量。在出卷功能的幫助下,能夠有效的做出按照教師需求的試卷,出卷類型還有自動和手動之分,手動出卷能夠按照教師自己的醫院出卷,體現了出卷的人性化和準確化。自動出卷能夠節省時間,
19、在數據庫相對豐富和準確的情況下,系統能夠做出相對公平和準確的試卷 通用試題庫管理系統的主要功能是試題錄入、查詢、瀏覽、修改、刪除、出題、成卷、課程和章節管理、導入導出,其最大的特點是方便和靈活,方便了教師出題,友好的人機的界面更是超越了手動試題的整理。 教師通過用戶名和密碼登錄到系統主界面,可以進行試題的錄入、刪除、修改和查詢,也可以進行試卷生成,利用試題導入導出的功能,可以將固定格式的題目導入到題庫中,豐富試題庫的內容,在相對豐富的數據庫中能夠做出相對公平和準確的試卷。 管理員登錄到系統,可以對用戶系統進行管理,進行用戶系統的維護。 試卷管理系統是根據已經完成的模板完成試卷的組卷工作。出卷系
20、統分為手動和自動出卷兩種,其中自動出卷是系統根據完成的模板自動選取題型,難度相當的試題組成試卷,而手動出卷是指教師能夠按照自身的要求完成組卷工作。通用試題庫管理系統需要完成功能描述:(1)能完成試題的編輯功能,錄入、刪除、修改;(2)設計手動生成試卷功能;(3)設計自動生成試卷功能;(5)具有用戶管理的功能;(6)具有課程和章節管理的功能;(7)具有試題導入導出的功能;(8)具有試題查詢瀏覽、查詢的功能;(9)數據庫設計;2.2系統功能邏輯圖用戶名用戶名提示密碼錯誤密碼錯誤驗證用戶名密碼密碼用戶登陸成功組卷要求試題錄入、查詢、修改通用試題庫管理系統題庫臨時試卷庫試卷修改生成試卷圖1 系統功能邏
21、輯圖2.3數據庫需求分析數據庫設計的第一個階段,也是非常重要的一個階段是數據庫需求分析。需求分析的結果是系統開發的基礎。在這個階段主要是收集基本數據以及數據處理的流程,為以后進一步設計打下基礎。1、信息需求。信息需求定義系統未來使用的所有信息,調查應用系統用戶需要操作的數據,決定在數據庫中存儲什么數據。描述數據間本質上和概念上的聯系,描述信息的內容和結構,以及信息之間的聯系等性質。2、處理需求。處理需求定義系統未來數據處理的操作功能,包括操作執行的頻率和場合,操作與數據之間的聯系等。調查應用系統用戶要求對數據進行什么樣的處理,理清數據庫中各種數據之間的關系3。針對通用試題庫管理系統的需求,通過
22、業務和數據流分析,設計出下面所示的數據項和數據結構(部分):課程:包括的數據項有課程名稱。難度:包括的數據項有難易度。章節:包括的數據項有所屬章節。題型:包括的數據項有題目類型。題庫:包括的數據項有題目內容、答案、題目類型、所屬課程、所屬章節、分值等。試卷管理:包括手動出題時臨時產生的數據,題目內容、答案、題目類型、所屬課程、所屬章節、分值等。自動出卷:包括自動出題時臨時產生的數據,題目內容、答案、題目類型、所屬課程、所屬章節、分值等。2.3 小結本章主要分析系統的設計方案以及原則,介紹了AOD技術和VBA技術以及OLE對象嵌入技術,利用AOD對數據庫進行訪問,VBA操縱word,實現試題錄入
23、和組卷的整體功能第3章 通用試題庫系統設計3.1系統模塊系統模塊如圖2所示:圖2 系統模塊 通用試題庫管理系統需要實現的功能主要有五大模塊,它們分別是:系統管理模塊、試題管理模塊、試卷管理模塊、課程管理模塊、幫助模塊。如圖需要完成的模塊,主要實現了用戶的管理,以及試題錄入、修改、查詢、到處、刪除等操作。在試卷管理的方面,主要實現手動和自動出卷功能。系統建立需要考慮的問題:(1)友好的人機界面,人機界面是用戶面對最多的軟件界面,應當設置得美觀大方; (2)多種途徑的對試題庫試題進行維護,試題庫的題目內容不是固定不變的,應根據課程發展的需要及時更新或添加或查詢有關試題內容;(3)手動、自動成卷策略
24、;(4)方便對已有試題的添加、刪除、修改等管理;(5)完善的系統幫助功能,可以幫助用戶盡快熟悉和掌握對試題庫管理系統的運用。 教師添加試題模塊登陸主界面進入試題添加界面填寫試題屬性(課程、難度、章節、題型)查看添加的試題點擊保存退出圖 3 教師添加試題流程圖 教師添加試題模塊主要是是對試題庫中的試題查詢、添加、修改、刪除。添加試題的界面有很多需要填寫的屬性,在填寫試題內容之前,需要先填寫試題類型、所屬知識點(章節)、分值、難易度、答案等信息。填寫完成之后才能對試題的內容和答案進行填寫。這樣填寫的試題屬性是幫助教師按照試卷模板組出想要的試卷,試卷符合模板要求內容,即對于知識點(章節)、類型、難易
25、度、分值的要求。試題的修改和刪除模塊主要是對已查詢的試題進行屬性的修改,即:類型、所屬指示點(章節)、分值、難易度、答案的修改以及刪除。自動成卷模塊自動生成試卷的流程圖登陸主界面自動成卷設定選題條件自動出題生成試卷查看出題結果退出程序自動成卷,其基本原理是由教師輸入選題條件,計算機隨機地從試題庫中抽取一定數量的符合條件的試題。本系統采用的算法排除了重復的可能性,即一次性出題重復率為0。如果題量大,多次出題的重復率也可以降至最小,這由系統產生的隨機數決定。通過自動成卷,按照模板能夠組成教師需要的試卷。手動成卷模塊手動生成試卷的流程圖登陸主界面手動成卷是檢查試卷庫是否有題清空試卷庫否選擇符合條件的
26、題目查看出題結果生成試卷退出程序手動成卷,其基本原理是由教師選定某個課程,選擇題型,系統過濾出符合題型的題目顯示出來,然后由教師選定要出的題,加入臨時試卷庫,查看出題結果之后滿意即可生成試卷。手動生成試卷有檢測重復的代碼,使得一次性出題重復率也為0。試題庫試題E-R圖試題分值試題內容試題試題類型試題所屬知識點試題難度3.2 數據項目分析針對通用試題庫管理系統的需求,通過業務和數據流分析,設計出下面所示的數據項和數據結構(部分):課程:包括的數據項有課程名稱。難度:包括的數據項有難易度。章節:包括的數據項有所屬章節。題型:包括的數據項有題目類型。題庫:包括的數據項有題目內容、答案、題目類型、所屬
27、課程、所屬章節、分值等。試卷管理:包括手動出題時臨時產生的數據,題目內容、答案、題目類型、所屬課程、所屬章節、分值等。自動出卷:包括自動出題時臨時產生的數據,題目內容、答案、題目類型、所屬課程、所屬章節、分值等。3.3 數據庫分析3.3.1 數據庫模塊分析 對于數據庫需要完成管理員表(manager)、習題表(problem)、試卷表(test)、答案(answer)。管理員表(manager)賬號mana_no姓名mana_name密碼mana_pwd習題表(problem)編號pro_no題目pro_detail習題答案編號pro_ansno難度系數pro_dif所屬章節編號cha_no所
28、屬章節要點cha_mpiont習題類型pro_type試卷表(test):試題編號tst_no試題名稱tst_name生成時間tst_time試題類型tst_type試題難度tst_dif試題數量tst_num試題分數tst_score試題內容tst_detail答案(answer):答案編號ans_no答案內容ans_detail答案對應習題編號pro_no3.3.2 數據庫的其他數據輸入數據:鼠標對按鈕的點擊查詢方式、查詢關鍵字;新建習題項;習題項、章節項相應紀錄更改;備份數據恢復所需的數據備份文件;修改習題、查詢習題、刪除習題返回課程負責人的帳號、姓名;受限操作所需的密碼;輸出數據:查詢
29、關鍵字確定的數據庫記錄的子集;統計結果及其格式化文件;信息錄入、刪改結果(成功或失敗);用戶查詢、生成試卷、習題更新操作等操作結果;數據備份輸出的數據備份文件;3.3.4 數據庫設計原則1、一致性原則對信息進行統一、系統的分析與設計,協調好各數據源,做到“數出一門”、“算法統一”、“度量一致”。保證系統數據的一致性和有效性。2、完整性原則數據庫的完整性是指數據的正確性和相容性。要防止合法用戶使用數據庫時向數據庫加入不合語義的數據。對輸入到數據庫中的數據要有審核和約束機制。3、安全性原則數據庫的安全性是指保護數據,防止非法用戶使用數據庫或合法用戶非法使用數據庫造成數據泄露、更改或破壞。要有認證和
30、授權機制。4、可伸縮性原則數據庫結構的設計應充分考慮發展的需要、移植的需要,具有良好的擴展性、伸縮性和適度冗余4。4 通用試題庫管理系統的實現4.1 程序及數據庫介紹C#(C Sharp)是微軟(Microsoft)為。NET Framework量身訂做的程序語言,C#擁有C/C+的強大功能以及Visual Basic簡易使用的特性,是第一個組件導向(Component-oriented)的程序語言,和C+與Java一樣亦為對象導向(object-oriented)程序語言。微軟C#語言定義主要是從C和C+繼承而來的,而且語言中的許多元素也反映了這一點。C#在設計者從C+繼承的可選選項方面比J
31、AVA要廣泛一些(比如說struts),它還增加了自己新的特點(比方說源代碼版本定義).但它還太不成熟,目前不可能擠垮JAVA。C#還需要進化成一種開發者能夠接受和采用的語言。而微軟當前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應是:“這是對JAVA的反擊”。 C#更像JAVA一些,雖然微軟在這個問題上保持沉默。這也是意料中的事情,因為JAVA近來很成功而使用JAVA的公司都報告說它們在生產效率上比C+獲得了提高。 JAVA所帶來的巨大影響和大家對它的廣泛接受已經由工作于這種語言和平臺之上的程序員數量明顯的說明了(估計世界范圍內共有兩百五十萬程序員使用JAVA)。由這種語言寫成的應用
32、程序的數量是令人驚訝的并已經滲透了每一個級別的計算,包括無線計算和移動電話(比如日本發明的JAVA電話)。C#能夠在用戶領域獲得這樣的禮遇嗎?我們必須等待并觀望,就象已經由SSI公司的CEO和主席KALPATHI S. SURESH指出來的那樣:"我發現所有這些都是漸進的。如果C#不存在,我們總能回到JAVA或C和C+。這些都不完全是新技術,它們在更大的意義上來說只是大公司制造的市場噱頭。我們必須給他們時間安頓下來看看這些是不是真的對IT工業有什么影響。" C# (C SHARP)是微軟對這一問題的解決方案。C#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各
33、種基于MICROSOFT .NET平臺的應用程序,MICROSOFT .NET提供了一系列的工具和服務來最大程度地開發利用計算與通訊領域。 正是由于C#面向對象的卓越設計,使它成為構建各類組件的理想之選無論是高級的商業對象還是系統級的應用程序。使用簡單的C#語言結構,這些組件可以方便的轉化為XML網絡服務,從而使它們可以由任何語言在任何操作系統上通過INTERNET進行調用。 最重要的是,C#使得C+程序員可以高效的開發程序,而絕不損失C/C+原有的強大的功能。因為這種繼承關系,C#與C/C+具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。SQL是高級的非過程化編程語言,是溝通數據庫
34、服務器和客戶端的重要工具,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以,具有完全不同底層結構的不同數據庫系統,可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。結構化查詢語言(Structured Query
35、 Language)最早是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。如今無論是像Oracle、Sybase、DB2、Informix、SQL Server這些大型的數據庫管理系統,還是像Visual Foxpro、PowerBuilder這些PC上常用的數據庫開發系統,都支持SQL語言作為查詢語言。 美國國家標準局(ANSI)與國際標準化組織(ISO)已經制定了SQL標準。ANSI是一個美國工業和商業集團組織,負責開發美國
36、的商務和通訊標準。ANSI同時也是ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標準組織相應的美國標準。1992年,ISO和IEC發布了SQL國際標準,稱為SQL-92。ANSI隨之發布的相應標準是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。盡管不同的關系數據庫使用的SQL版本有一些差異,但大多數都遵循 ANSI SQL 標準。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標準。 SQL語言包含3個部分: 數據定義語言D
37、ata Definition Language(DDL),定義:definition/ 例如:CREATE、DROP、ALTER等語句。 數據操作語言Data Manipulation Language(DML),操作:make/ 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。 數據控制語言Data Controlling Language(DCL),控制:control/ 例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。 SQL語言包括三種主要程序設計語言類別的語句:數據定義語言(DDL),數據操作語言(DML)及數據控制語言(DCL)。
38、SQL 是用于訪問和處理數據庫的標準的計算機語言。系統使用的各種關鍵技術 ADO數據訪問技術ADO (ActiveX Data Objects,ActiveX數據對象)是Microsoft提出的應用程序接口(API)用以實現訪問關系或非關系數據庫中的數據。例如,如果您希望編寫應用程序從DB2或Oracle數據庫中向網頁提供數據,可以將ADO程序包括在作為活動服務器頁(ASP)的HTML文件中。當用戶從網站請求網頁時,返回的網頁也包括了數據中的相應數據,這些是由于使用了ADO代碼的結果。ADO使得客戶端應用程序能夠通過任何 OLE.DB 提供者來訪問和操作數據庫服務器中的數據。 ADO 使您能夠
39、編寫應用程序以通過 OLE.DB 提供者訪問和操作數據庫服務器中的數據。ADO 最主要的優點是易于使用、速度快、內存支出少和磁盤遺跡小。ADO 支持建立客戶端/服務器和基于 Web 的應用程序的關鍵功能。 ADO 的另一個功能是“遠程數據訪問”(RDS),能夠通過一個來回的傳輸將數據從服務器移動到客戶端應用程序或 Web 頁中,然后在客戶端對數據進行操作,最后將更新數據返回服務器。RDS 先前發布的版本是 Microsoft Remote Data Service 1.5。RDS 已與 ADO 編程模塊合并以簡化客戶端數據的遠程調用。 VBA編程技術Visual Basic for Appli
40、cations(簡稱VBA)是新一代標準宏語言。在沒有VBA 以前,一些應用軟件如Excel, Word, Access 等都采用自己的宏語言供用戶開發使用,但每一種宏語言都是相互獨立的并且它們之間是互不兼容的。這導致了應用軟件之間不能在程序上互聯。找到一種可被所有的Microsoft 可編程應用軟件所共享的通用宏語言是Microsoft 公司長期追求的目標。VBA 作為新一代的標準宏語言具有了跨越多種OFFICE 應用軟件并且控制應用軟件對象的能力。 OLE編程技術OLE是Object Linking and Embedding的縮寫,譯為對象連接與嵌入。 OLE技術在辦公中的應用就是滿足用
41、戶在一個文檔中加入不同格式數據的需要(如文本、圖像等),即解決建立復合文檔問題。OLE是采用更為完善的組件技術,通過OLE這座橋梁可以極為方便實現中各個功能模塊的相互調用與協同工作來創建復合文檔。4.2詳細設計4.2.1登陸模塊的設計第一步,用戶進入系統首先經過登錄界面,需要輸入用戶名和密碼,程序檢查用戶名和密碼與用戶數據庫中的用戶資料是否匹配,如果不匹配,登錄程序則提示錯誤,重新登錄;如果匹配,通過登錄程序的驗證,將登陸到程序主界面,登錄成功,進入本系統的主頁面。登陸界面如圖3所示。圖3 登錄界面4.2.2試題錄入模塊的設計用戶通過身份驗證后進入主界面,進而對試題管理,試題錄入、用戶管理(管
42、理員權限)、試卷管理等功能,可錄入試題,包括題目內容、答案、題目類型、所屬課程、所屬章節、分值等的錄入。題型分七種:多選題、單選題、填空題、判斷題、簡答題、論述題和綜合題,非綜合題包括了除綜合題以外的所有題型,綜合題主要是為了一些圖像和公式輸入的方便而做的。因為采用AOD控件綁定數據庫實現題目的輸入,因而無需輸入代碼。非綜合題錄入如圖4所示。圖4 非綜合題錄入界面綜合題采用的是OLE對象嵌入技術實現對圖像和公式的處理,與非綜合題有比較大的區別,需要部分代碼的支持。綜合題錄入界面如圖5所示。部分代碼如下:If Data1.Recordset.BOF Thent = "1"Co
43、mmand3.Enabled = FalseElset = Str(Val(Data1.Recordset.Id) + 1)Data1.Recordset.Id = tCommand3.Enabled = FalseOLE1.Class = "word.document.8"OLE1.DisplayType = 0OLE1.SourceDoc = "" & App.Path & "doc1.doc"OLE1.Action = 1OLE1.RefreshEnd If圖5 綜合題錄入界面4.3.1試題查詢、瀏覽、修改模塊的
44、設計用戶通過身份驗證后進入主界面,點擊試題管理菜單,選擇試題查詢、瀏覽、修改功能,即可對試題進行查詢、修改、瀏覽。如圖6所示:圖6 試題查詢界面4.3.2課程、章節模塊的設計用戶通過身份驗證后進入主界面,點擊課程管理菜單,選擇課程管理或章節管理,即可對課程或章節進行添加和修改。如圖7所示:圖7 課程添加、修改界面4.3.3自動出卷模塊的設計自動出題是試題庫管理最重要的一部分功能,設計好這個功能將對出題產生重大影響,也是對老師出題公正性和嚴謹性的考驗。當選定課程后,會在相應的題型里顯示本課程的題目數量。對教師出題很有幫助。算法在第五章,設計界面如圖8所示。圖8 自動出卷界面4.3.4手動出卷模塊
45、的設計手動出題作為題庫系統的輔助功能項,同樣具有強大的功能,教師可以自己手動的添加試題,選定課程和題型后即可添加試題。界面如圖9所示。圖9 手動出卷界面4.4數據層的設計4.5.1用ADO或Data連接數據庫在C# 里,采用ADO控件連接或綁定數據庫,大大減少了代碼的寫入量,(1)連接數據源利用Connection對象可以創建一個數據源的連接.應用的方法是Connection對象的Open方法.語法:Connection對象.Open ConnectionString, UserID, PassWord, OpenOptions其中:Connection對象為你定義的Connection對象的
46、實例;ConnectionString為可選項,包含了連接的數據庫的信息;UserID 可選項,包含建立連接的用戶名;PassWord為可選項,包含建立連接的用戶密碼;OpenOptions為可選項,假如設置為adConnectAsync,則連接將異步打開。(2)打開記錄集對象實際上記錄集返回的是一個從數據庫取回的查詢結果集.因此他有兩種打開方法:一種使用記錄集的Open方法,另一種是用Connection對象的Execute方法。(a)記錄集的Open方法語法:Recordset.Open Source, ActiveConnection, CursorType, LockType, Opt
47、ions 其中Recordset為所定義的記錄集對象的實例。Source可選項,指明了所打開的記錄源信息.可以是合法的命令,對象變量名,SQL語句,表名,存儲過程調用,或保存記錄集的文件名。ActiveConnection可選項,合法的已打開的Connection對象的變量名,或者是包含ConnectionString參數的字符串。CursorType可選項,確定打開記錄集對象使用的指針類型。LockType可選項 確定打開記錄集對象使用的鎖定類型。(b)Connection對象的Execute方法語法:Set recordset=Connecti
48、on.Execute(CommandText,RecordsAffected,Options)參數說明:CommandText 一個字符串,返回要執行的SQL命令,表名,存儲過程或指定文本。RecordsAffected 可選項,Long類型的值,返回操作影響的記錄數。Options 可選項,Long類型值,指明如何處理CommandText參數。介紹完了如何打開數據庫下面說說怎么使用吧。(3)使用記錄集 (a)添加新的記錄:在ADO中添加新的記錄用的方法為:AddNew 它的語法為:Recordset.AddNew FieldList, ValuesRecordset為記錄集對象實例Fiel
49、dList為一個字段名,或者是一個字段數組。Values為給要加信息的字段賦的值,如果FiledList為一個字段名,那么Values應為一個單個的數值,假如FiledList為一個字段數組,那么Values必須也為一個個數,類型與FieldList相同的數組。再用完AddNew方法為記錄集添加新的記錄后,應使用UpDate將所添加的數據存儲在數據庫中.不過你最好在用UpDate方法之前使用CancelUpdate方法來取消該項操作。(b)修改記錄集 其實修改核對記錄集中的數據重新賦值沒有什么太大的區別,只要用SQL語句將要修改的字段的一個數據找出
50、來重新賦值就可以了.這里不再細說了。(c)刪除記錄在ADO中刪除記錄集中的數據的方法為:Delete方法,這與DAO對象的方法相同,但是在ADO中它的能力增強了,可以刪掉一組記錄了。它的語法如下:Recordset.Delete AffectRecords其中的,AffectRecords參數是確定Delete方法作用的方式的,它的取值如下:adAffectCurrent 只刪除當前的記錄adAffectGroup 刪除符合Filter屬性設置的那些記錄.為了一次能刪除一組數據,應設置Filter屬性。(d)查詢記錄在ADO中查詢的方法很靈活,有幾種查詢的方法。一是使用連接對象的Execute
51、方法執行SQL命令,返回查詢記錄集。二是使用Command對象的Execute方法執行CommandText屬性中設置的SQL命令,返回查詢記錄集。第一個方法的具體語法在前面數據連接時已經介紹過了,下面就第二方法具體說一下。Command對象的Execute方法的語法如下:Command.Execute RecordsAffected, Parameters, Options,不返回記錄集或者 Set Rscordset=cmmnad.Execute(RecordsAffected,Parameters,Options),返回記錄集CommandText的語法為:Command.Command
52、Text=stringvariable其中: stringvariable為字符串變量,包含SQL語句,表名或存儲過程。(4) 斷開連接 在應用程序結束之前,應該釋放分配給ADO對象的資源,操作系統回收這些資源并可以再分配給其他應用程序。使用的方法為:Close方法。語法如下:Object.Close,Object為ADO對象94.5試題庫管理系統中的主要算法組卷自動成卷,其基本原理是由教師輸入選題條件,計算機隨機地從試題庫中抽取一定數量的符合條件的試題。本系統采用的算法排除了重復的可能性,即一次性出題重復率為0。如果題量大,多次出題的重復率也可以
53、降至最小,這由系統產生的隨機數決定。手動成卷,其基本原理是由教師選定某個課程,選擇題型,系統過濾出符合題型的題目顯示出來,然后由教師選定要出的題,加入臨時試卷庫,查看出題結果之后滿意即可生成試卷。手動生成試卷有檢測重復的代碼,使得一次性出題重復率也為0。生成試卷的部分代碼myrs.Open "delete from 自動出題 ", mycn, adOpenKeyset, adLockOptimistics2 = "insert into 自動出題 " & s1myrs.Open s2, mycn, adOpenKeyset, adLockOpti
54、misticmyrs2.Open "delete from 自動出卷", mycn, adOpenKeyset, adLockOptimisticj = Text1.Textmyrs3.Open "select * from 自動出題 ", mycn, adOpenKeyset, adLockOptimisticFor i = 1 To jnb = Int(myrs3.RecordCount)rdnb = Int(nb) * Rnd() '獲得隨機數myrs3.Move rdnbt1 = CStr(myrs3("ID")myrs2.Open "insert into 自動出卷 select * from 自動出題 where ID = " & t1 & " ", mycn, adOpenKeyset, adLockOptimisticmyrs3.Deletemyrs3.MoveFirstNext iEnd If4.5.3小結本章主要對系統的功能模塊和界面設計做了部分介紹,利用ADO連接數據庫,并對數據庫進行操縱,利用datagrid控件顯示數據。介紹自動成卷和手動成卷的成卷原理,使用了合理的算法使得試題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復合材料 課件知識點6 高熵合金基復合材料
- 會滾的汽車課件
- 剪輯技巧培訓課件
- 腫瘤科常用藥物臨床應用與管理
- 路基工程這知識培訓
- 2025年 安康市紫陽縣民歌藝術研究中心招聘考試筆試試卷附答案
- 2025年中國噴泉套件行業市場全景分析及前景機遇研判報告
- 小動物搬家課件
- 蛛網膜下腔出血疑難病例討論
- 紅血絲皮膚的成因及護理
- 寵物清潔衛生用品貓砂
- 大模型備案-落實算法安全主體責任基本情況-XX集團有限公司
- 護理禮儀與人際溝通試題(含答案)
- 2025-2030中國蔬菜溫室大棚市場消費趨勢分析與經營管理風險報告
- 學校外來人員登記制度
- 應急物資中轉站項目可行性研究報告(模板范文)
- 2025年初級等保測評試題及答案
- 薄壁空心墩施工方案
- 多重耐藥菌醫院感染預防與控制技術指南(試行)
- 教師如何使用AI開展教學DeepSeek使用指南人工智能 課件
- 油氣田地面工程詳解
評論
0/150
提交評論