畢業(yè)設計(論文)試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)_第1頁
畢業(yè)設計(論文)試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)_第2頁
畢業(yè)設計(論文)試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)_第3頁
畢業(yè)設計(論文)試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)_第4頁
畢業(yè)設計(論文)試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 論文編號:試卷管理系統(tǒng)的設計與實現(xiàn)管理員及題庫維護模塊的實現(xiàn)the design and realization of paper management system the realization of administrator and question bank maintenance module 摘要在以往教師想出一份試卷,就得手動的查閱題庫或查找相關書籍,然后手動的生成試卷。這樣即費時又費力,而且很難保證試題的覆蓋面和把握好試卷的難度。開發(fā)本軟件正是為了能夠幫助教師輕松的出一份高質量的試卷。試卷管理系統(tǒng)是為教師開發(fā)的一個試卷管理工具。本系統(tǒng)的設計是基于.net技術平臺,采用ado

2、.net數(shù)據(jù)訪問技術和相關性能優(yōu)化技術,利用c#.net語言設計實現(xiàn),以sql server 2000作為后臺數(shù)據(jù)庫的管理系統(tǒng),系統(tǒng)架構則是當前較為流行的b/s模式。本軟件實現(xiàn)了以下主要功能:1.登錄;2.專業(yè)管理;3.科目管理;4.教師管理;5.題型管理;6.選課管理;7.信息管理;8.章節(jié)管理;9.題庫管理;10.生成試卷。測試表明本軟件在windows平臺運行穩(wěn)定,并能夠順利生成word類型的試卷,基本達到了預期的要求!關鍵詞:試卷管理; 數(shù)據(jù)庫; c#; b/sabstractin the past, teachers come up with a paper, you have to

3、 manually access question bank or find relevant books, and then manually create paper. time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. development of this software is easy to be able to help teachers o

4、ut of a high-quality papers.paper management system is a paper management tool developed for teachers.the design of the system is based on the technology platform of .net,using data access technology of ado.net and related performance optimization technology.its brought about by language design of c

5、#.net,using sql server 2000 as the management system of back-end database,and the system architecture is the more popular b/s mode in the current.these functions of this website are as follows: one. log; two. professional manage; three. subject manage; four. teacher manage; five. questions in manage

6、ment; six. elective manage; seven. information manage; eight. chapter manage; nine. examination manage; ten. create paper. tests show that the software runs in windows platform, stable, and able to successfully generate word types of paper, it is basic reach the requests.key words: paper management;

7、 database; c#; b/s;目 錄摘要iabstractii目 錄iii第1章 引言11.1開發(fā)背景11.2研究意義11.3發(fā)展現(xiàn)狀21.4系統(tǒng)構建2第2章 需求分析42.1 系統(tǒng)的功能和特點42.1.1 系統(tǒng)功能42.1.2 系統(tǒng)特點52.2 功能需求62.2.1 試卷管理系統(tǒng)結構圖62.2.2 功能描述72.3開發(fā)環(huán)境82.3.1 visual studio 2005 概述82.3.2 sql server2000概述82.3.3 c#介紹10第3章 總體設計113.1 系統(tǒng)功能分析113.1.1 功能劃分113.1.2 功能模塊圖113.2 數(shù)據(jù)庫總體設計123.2.1 關系e

8、-r圖123.2.2 數(shù)據(jù)表的設計14第4章 詳細設計184.1 類的設計184.1.1 數(shù)據(jù)操作類sqlhelper184.1.2 邏輯處理類services194.1.3 常用函數(shù)類functions204.2題庫維護模塊的實現(xiàn)204.2.1 修改選擇題214.2.2 修改填空題234.2.3 修改簡述題244.2.4 修改設計題254.3 專業(yè)管理模塊的實現(xiàn)264.3.1 添加專業(yè)功能264.3.2 編輯專業(yè)功能274.4科目管理模塊的實現(xiàn)284.4.1添加科目功能284.4.2編輯科目功能294.5教師管理模塊的實現(xiàn)304.5.1添加教師功能304.5.2編輯教師功能314.6題型管理

9、模塊的實現(xiàn)324.6.1添加題型功能324.6.2編輯題型功能33第5章 系統(tǒng)測試355.1測試的目的和原則355.2測試方法355.3 測試過程365.3.1 題庫維護測試365.3.2專業(yè)管理測試415.3.3 科目管理測試435.3.4教師管理測試435.3.5題型管理測試43第6章 結 論446.1總結446.2心得體會44致 謝45參考文獻46附 錄47附錄a: 附加圖、表47附錄b: 主要源程序48附錄c: 軟件使用說明書69 69論文第1章 引言1.1開發(fā)背景隨著計算機技術的不斷發(fā)展,它被更廣泛地應用在我國的各行各業(yè)中。近年來,國家高等教育事業(yè)的大力發(fā)展, 高校招生規(guī)模的逐年擴大

10、, 專業(yè)設置的增加, 對學校教學質量監(jiān)控提出了更高的要求,尤其是各個學校試題管理的復雜性和要求統(tǒng)計分析的及時性,使傳統(tǒng)的管理方式有著不可克服的困難。但隨著計算機進入學校, 計算機輔助教育在教育系統(tǒng)中的應用,使得我們解決起這些問題來又變得輕而易舉。給教育改革帶來美好的前景。近幾年來,很多高等院校研究和開發(fā)了試卷管理系統(tǒng),計算機輔助手段已得到廣泛應用。這不僅提高了教學質量和教學效果,而且也帶來了教學評價的革命。在教學管理中,為實現(xiàn)教考分開,更加合理、公平、公正、公開地進行各種考試,利用計算機進行考試管理系統(tǒng),輔助教師命題組卷已成為各院校改個的重要內容之一。使用試卷管理系統(tǒng)可以大大提高工作效率,不論

11、是抽題、組卷,還是提取答案、打印試卷,都非常迅速。同時,用計算機隨機抽取試題,可以排除人為因素和誤差,在試題的范圍、難度、題型等方面統(tǒng)一標準,試卷規(guī)范,保證教育測量的客觀、公正。但一直以來, 人們習慣于使用傳統(tǒng)人工的方式制作試卷, 這種制作方式存在著許多缺點,如:效率低、保密性差、容易出錯等,另外,即使把以前的試題都保存起來, 但時間一長, 將產(chǎn)生大量的文件和數(shù)據(jù), 這對于查找、更新和維護都帶來了很大困難。作為計算機應用的一部分, 使用計算機對試卷進行管理, 有著手工管理所無法比擬的優(yōu)點, 例如:效率高、組卷迅速、查找方便、可靠性高、保密性好、成本低等。這些優(yōu)點能夠極大地提高教師的工作效率,

12、有利于建立科學化的教學監(jiān)督與評估體系。因此,開發(fā)這樣一套試卷管理系統(tǒng)成為很有必要的事情。1.2研究意義一個現(xiàn)代化的學校管理,擁有數(shù)千名的學生考試信息,那么如何管理這么龐大的學生考試信息檔案呢?這時,開發(fā)一個功能完善的試卷管理系統(tǒng)就必不可少了。所以需要設計開發(fā)一個實現(xiàn)試卷管理的穩(wěn)定、高效、準確、便捷、安全的系統(tǒng)。從學校的試卷制作到成績查詢實現(xiàn)了自動化的模式,從而提高了工作效率。試卷管理系統(tǒng)是一個現(xiàn)代高校不可缺少的部分,它的內容對于學校的管理者至關重要,所以試卷管理系統(tǒng)能夠為用戶提供充足的信息和快捷的查詢管理手段。用visual studio2005構建的試卷管理系統(tǒng),很符合穩(wěn)定、高效、準確、便捷

13、、安全的要求。1.3發(fā)展現(xiàn)狀 隨著計算機的日益普及, 教育教學水平的不斷提高, 如何利用計算機建立統(tǒng)一的試題庫,開發(fā)出智能型、多功能、通用型試題庫成為多年來我們一直關心的課題。計算機試題庫系統(tǒng),是將編好的試題、答案事先存入計算機的數(shù)據(jù)庫中,使用時,通過軟件的控制,按照一定的方式和規(guī)則,將試題抽取、組合,形成試卷,打印輸出。試題、試卷設計是考試工作的重要環(huán)節(jié)。為此許多大專院校開發(fā)多門課程的試題庫,并有部分已商品化,為考教分離打下了基礎。但從已商品化的試題庫看,其試題管理系統(tǒng)多為封閉式結構,所收入的備考題雖經(jīng)認真篩選,系統(tǒng)不提供試題設計功能,致使其內容不能根據(jù)教學內容的需要更新,試題庫管理系統(tǒng)的通

14、用性差,為此提出一種具有框架化特征的通用試題、試卷設計系統(tǒng)的系統(tǒng)結構,并討論其實現(xiàn)方法。中國高校教學中,計算機輔助手段已得到廣泛應用。這不僅提高了教學質量和教學效果,而且也帶來了教學評價的革命。其中,試題庫管理系統(tǒng)的開發(fā)與應用取得了許多成果,但已有的試題庫管理軟件仍存在通用性差,無法處理圖形的不足,那么如何形成一份科學合理的試卷是其關鍵所在, 由于題庫管理系統(tǒng)在選題, 組卷上的靈活多樣和客觀公正, 所以試卷管理系統(tǒng)是一所學校必不可少的部分。1.4系統(tǒng)構建本軟件是采用b/s結構來實現(xiàn)的。b/s結構(browser/server,瀏覽器/服務器模式),是web興起后的一種網(wǎng)絡結構模式,web瀏覽器

15、是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個瀏覽器(browser),如netscape navigator或internet explorer,服務器安裝oracle、sybase、informix或 sql server等數(shù)據(jù)庫。瀏覽器通過web server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。以目前的技術看,局域網(wǎng)建立b/s結構的網(wǎng)絡應用,并通過internet/intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如lan

16、,wan,internet/intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在java這樣的跨平臺語言出現(xiàn)之后,b/s架構管理軟件更是方便、快捷、高效。隨著學校管理工作的不斷細化,自動化的試卷管理系統(tǒng)就顯得非常必要,而運用開發(fā)軟件與數(shù)據(jù)庫管理軟件,用于項目開發(fā),程序編制,數(shù)據(jù)庫創(chuàng)建,來開發(fā)一套試卷管理系統(tǒng)就顯得十分重要,在這里,要構建這樣的一套管理系統(tǒng),首先得做一個需求分析,在需求分析中包含了功能需求分析和數(shù)據(jù)庫需求分析。接著進行詳細設計, 詳細設計是在需求分析的基礎上實現(xiàn)各個模塊功能的具體過程。然后就是整個項目系統(tǒng)的編碼階段,這期

17、間的工作非常繁瑣,是比較麻煩的一部分。這個階段之后是測試,維護。這樣,整個系統(tǒng)基本上就完成了。第2章 需求分析2.1 系統(tǒng)的功能和特點2.1.1 系統(tǒng)功能系統(tǒng)針對不同的用戶,設置了不同的權限,在用戶登錄時根據(jù)權限跳至不同的界面,從而可以選擇相應的操作。系統(tǒng)采用了較為先進的b/s結構,具有結構靈活、功能齊全等突出特點。使用本系統(tǒng)可以方便地管理專業(yè)、科目、教師、選課和試卷等基本信息,及時調整教學進度,提高學校的管理和教學水平,從而使高校的試卷管理真正實現(xiàn)無紙化。本系統(tǒng)實現(xiàn)的功能主要包括:用戶管理,系統(tǒng)用戶包括:管理員和教師,用戶在選擇角色后,可以分別進入對應的界面:管理員在進入管理員管理界面后,可

18、以對專業(yè)、科目、教師、題型和選課進行增、刪、改的操作,但管理員沒有修改教師信息的權限;教師在初次登錄時需要根據(jù)自己的教師號以及默認的密碼登錄,進入教師管理界面后可以修改信息及密碼,對章節(jié)、題庫進行增、刪、改等操作,也可以選擇組卷方式自動、手動以及抽取現(xiàn)有試卷三種方式。自動生成試卷是系統(tǒng)根據(jù)用戶設置的題型、難易程度隨機組成試卷;手動組卷是教師可以自己選擇題型、分值、題目,可以自己決定試卷的難易程度;抽取試卷是直接用數(shù)據(jù)庫中已經(jīng)存在的試卷。試卷生成包含有實現(xiàn)設置卷頭、預覽和打印試卷及答案的功能。本系統(tǒng)中,用戶首先登錄,登錄時,有身份區(qū)分,分為普通用戶和管理員。輸入系統(tǒng)判定數(shù)據(jù)庫中是否由此用戶,這是

19、個驗證過程,通過驗證才能確定登錄。而普通用戶與管理員的區(qū)別是兩者之間的權限不同。系統(tǒng)流程圖如圖2.1所示。圖2.1 系統(tǒng)流程圖2.1.2 系統(tǒng)特點本系統(tǒng)最明顯的特點就是采用b/s架構,這樣大大減輕了系統(tǒng)維護的成本和工作量,易于操作和維護;同時,基于代碼重用原則,本系統(tǒng)將常用的數(shù)據(jù)庫操作定義在數(shù)據(jù)庫數(shù)據(jù)操作類sqlhelper中,將業(yè)務邏輯處理定義在services類中,將一些常用的函數(shù)定義在functions類中,這樣可以方便實現(xiàn)代碼重用。在功能上,本系統(tǒng)對用戶實行分權限管理,以滿足不同用戶的不同需求,保證了數(shù)據(jù)的安全;在試卷管理功能中,組卷方式,有三種組卷方式抽取現(xiàn)有試卷、自動生成試卷和手動

20、生成試卷,方便教師選擇自己喜歡的組卷方式;在試卷預覽功能中,教師可以將試卷在word中預覽并保存,方便教師預覽以及修改試卷格式。本系統(tǒng)作為計算機輔助教學軟件的一部分,與多媒體教學及其他類軟件相比,有著自己的特點: 1本軟件界面友好、操作簡便,穩(wěn)定性好;2本軟件能夠源源不斷的向題庫內添加新試題; 3本軟件能夠按照一定的算法自動生成試卷,并可以人工干預,修改試題;同時也可以直接手工選題;本軟件的實現(xiàn)有著自己的特點,決定做好本軟件有著非常重要的實際意義。1本軟件作為一種新生的、趨向成熟的計算機輔助教學軟件,對課堂教學測試及期中、期末考試出題具有很大的幫助,節(jié)省了人力,使教學走向自動化軌道;2本軟件收

21、集了大量的習題,是一本數(shù)量大、質量高的高效超能型教材習題集;3本軟件的自動組卷功能及試卷維護功能節(jié)省了教師的時間與精力,可以集中精力全身心的投入到教學中,有利于提高教師素質及教學質量;2.2 功能需求2.2.1 試卷管理系統(tǒng)結構圖試卷管理系統(tǒng)的結構圖,如圖2.2所示。主控程序信息管理模塊題庫管理模塊用戶管理模塊組卷模塊圖2.2 試卷系統(tǒng)結構圖 用戶管理模塊主要完成管理用戶信息及找回密碼,信息管理模塊完成包括對專業(yè)、科目、章節(jié)、教師、題型、選課、章節(jié)的有關信息的管理,題庫管理模塊完成對試題信息的管理,組卷模塊完成對三種組卷方式的管理。2.2.2 功能描述1. 登錄模塊用戶在進入系統(tǒng)之前,要輸入正

22、確的用戶名和密碼并選擇進入系統(tǒng)的角色教師或者管理員。如果用戶名存在且密碼與該用戶名對應的密碼相同,即可登錄本系統(tǒng)。如果教師初次使用該系統(tǒng),系統(tǒng)管理員會指定一個特定的用戶名和密碼給教師,讓其登錄;如果用戶忘記密碼,可以運用忘記密碼功能找回密碼;如是用戶名和密碼不正確,則會提示輸入的信息錯誤,讓用戶重新輸入。在忘記密碼模塊中,教師只需要輸入教師編號、教師名稱以及郵箱三個參數(shù),點擊提交后,在數(shù)據(jù)庫表中存在與其匹配的項,系統(tǒng)則會彈出提示框為教師提示密碼,否則會提示錯誤的信息。2. 專業(yè)管理模塊管理員進入系統(tǒng)后,需要在教師使用該系統(tǒng)前錄入專業(yè)信息,以方便進行后面的信息管理,管理員可以對專業(yè)進行查詢、添加

23、、刪除和修改的操作。3. 科目管理模塊管理員進入系統(tǒng)后,需要在教師使用該系統(tǒng)前對各個專業(yè)的科目信息進行添加,以便讓教師進入系統(tǒng)后,對自己所教的科目進行添加,為往試題庫里面錄入題做準備。4. 教師管理模塊管理員進入系統(tǒng)后,需要提前錄入需要使用試卷管理系統(tǒng)的教師的信息,以方便教師使用該系統(tǒng)進行試卷管理,管理員可以對教師進行查詢、添加和刪除,管理員沒有修改教師信息的權利。5. 題型管理模塊管理員進入系統(tǒng)后,需要對試題的題型進行添加,方便老師對題庫進行管理。并可以對題型進行查看、刪除及修改題型名稱。6. 選課管理模塊管理員進入系統(tǒng)后,為教師選擇其所教學的科目,為教師進入系統(tǒng)使用該系統(tǒng)做準備。7. 信息

24、管理模塊教師在進入系統(tǒng)后,可以對自己的個人信息如姓名、郵箱和密碼進行修改,方便教師使用該系統(tǒng)。8. 章節(jié)管理模塊教師進入系統(tǒng)后,可以為自己所授科目進行章節(jié)的管理,以便錄入題的時候管理試題庫。9. 題庫管理模塊教師進入系統(tǒng)后,對題庫錄入題,并可以對題庫中的題進行查看、修改和刪除。10.試卷生成模塊該功能由教師完成,生成試卷總共有抽取、自動和手動三種方式。教師可以根據(jù)自己情況選擇合適的方式。自動生成試卷是系統(tǒng)根據(jù)用戶設置的題型、難易程度隨機組成試卷;手動組卷是教師可以自己選擇題型、分值、題目,可以自己決定試卷的難易程度;抽取試卷是直接用數(shù)據(jù)庫中已經(jīng)存在的試卷。2.3開發(fā)環(huán)境2.3.1 visual

25、 studio 2005 概述理解vs.net framework最簡單的方式就是把它看作是執(zhí)行代碼的環(huán)境。vs.net管理代碼的執(zhí)行,包括啟動代碼、給它賦予相應的權限、為它分配內存以存儲器數(shù)據(jù),幫助不再需要的內存和資源等。處理執(zhí)行這些任務外,vs.net還要使用一個非常復雜的類庫vs.net基類,以便在windows上執(zhí)行大量的任務。對這些任務,vs.net承擔了管理代碼的執(zhí)行和為代碼提供服務的雙重角色。從技術層面具體來說,vs.net framework主要包括兩個內核,即通用語言運行庫clr(common language runtime)和vs.net framework基本類庫,它們

26、為vs.net平臺的實現(xiàn)提供了底層技術支持。vs.net的編譯過程也與以前版本的語言有所不同,這一點也是vs.net的重要特征。2.3.2 sql server2000概述sql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫管理系統(tǒng)該版本,繼承了sql server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行microsoft windows 98 的膝上型電腦到運行microsoft windows 2000 的大型多處理器的服務器等多種平臺使用。sql server2000特性

27、1internet 集成。sql server 2000 數(shù)據(jù)庫引擎提供完整的xml 支持。它還具有構成最大的web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。sql server 2000 程序設計模型與 windows dna 構架集成,用以開發(fā) web 應用程序,并且sql server 2000 支持 english query 和 microsoft 搜索服務等功能,在web 應用程序中包含了用戶友好的查詢和強大的搜索功能。 2可伸縮性和可用性。同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行microsoft windows 98 的便攜式電腦,到運行 microsoft

28、windows 2000 數(shù)據(jù)中心版的大型多處理器服務器。sql server 2000 企業(yè)版支持聯(lián)合服務器、索引視圖和大型內存支持等功能,使其得以升級到最大 web 站點所需的性能級別。 3企業(yè)級數(shù)據(jù)庫功能。sql server 2000 關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。sql server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好像這些數(shù)據(jù)是 sql server 2000 數(shù)據(jù)庫的一部分,同時分布式事務支持充分保護任何分布式數(shù)據(jù)更新的完整性。復制同樣使您得以維護多個數(shù)

29、據(jù)復本,同時確保單獨的數(shù)據(jù)復本保持同步??蓪⒁唤M數(shù)據(jù)復制到多個移動的用戶,使這些用戶自主地工作,然后將他們所做的修改合并發(fā)布服務器。 4易于安裝、部署和使用。 sql server 2000 中包括一系列管理和開發(fā)工具,這些工具可改進在多個站點上安裝、部署、管理和使用 sql server 的過程。sql server 2000 還支持基于標準的、與 windows dna 集成的程序設計模型,使 sql server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分。這些功能使我們得以快速交付 sql server 應用程序,使客戶只需最少的安裝和管理開銷即可實現(xiàn)這些應用程序。2.3

30、.3 c#介紹c#是visualc#.net的關鍵性語言,它是整個visualc#.net平臺的基礎。與c#相比,visualc#.net所支持的其他語言顯然是配角身份。比如,vb.net的存在主要是對千萬個vb開發(fā)人員的負責。對于jscript.net和c+.net也同樣可以這么說,后者只是增加了調用visualc#.net類的c+語言。c#是惟一沒有在設計思路中加入以前語言某種遺傳的新事物。在c#中,除了可以使用許多api,更能使用visualc#.net類庫。特別是,用戶可以處理com的自動化和c類型的函數(shù)。c#還允許用戶調用無管理的代碼,也就是在clr引擎控制之外的代碼。這種不安全的模

31、式允許用戶操作原始指針來讀和寫內置碎片賬集控制以外的內存。c#的設計目標:1c#旨在設計成為一種“簡單、現(xiàn)代、通用”,以及面向對象的程序設計語言 2此種語言的實現(xiàn),應提供對于以下軟件工程要素的支持:強類型檢查、數(shù)組維度檢查、未初始化的變量引用檢測、自動垃圾收集(garbage collection,指一種自動內存釋放技術)。軟件必須做到強大、持久,并具有較強的編程生產(chǎn)力。 3此種語言為在分布式環(huán)境中的開發(fā)提供適用的組件開發(fā)應用。 4為使程序員容易遷移到這種語言,源代碼的可移植性十分重要,尤其是對于那些已熟悉c和c+的程序員而言。 5對國際化的支持非常重要。 6c#適合為獨立和嵌入式的系統(tǒng)編寫程

32、序,從使用復雜操作系統(tǒng)的大型系統(tǒng)到特定應用的小型系統(tǒng)均適用。 7雖然c#程序在存儲和操作能力需求方面具備經(jīng)濟性,但此種語言并不能在性能和尺寸方面與c語言或匯編語言相抗衡。第3章 總體設計3.1 系統(tǒng)功能分析3.1.1 功能劃分本系統(tǒng)有兩種用戶管理員及教師。管理員主要負責為教師服務,在教師登錄系統(tǒng)之前對教師、專業(yè)、科目、題型和選課進行添加、刪除、修改和查看。教師可以對自己的個人信息進行修改和查看,并可以對自己所教的學科的科目和自己錄入的試題進行添加、刪除、修改、查看,同時可以自己選擇組卷方式自動、手動組卷以及抽取現(xiàn)有試卷,并且還可以設置卷頭、預覽和打印試卷及答案。3.1.2 功能模塊圖該系統(tǒng)主要

33、完成用戶管理、題庫管理、組卷管理和試卷管理等功能。通過該系統(tǒng),管理員可以對專業(yè)、科目、教師、題型和選課進行管理,教師可以對個人信息、題庫、章節(jié)進行管理并可以手動組卷、自動組卷和抽取現(xiàn)有試卷。其功能模塊圖,如圖3.1所示。試卷管理系統(tǒng)管理員管理題型管理專業(yè)管理教師管理教師管理科目管理選課管理章節(jié)管理信息管理題庫管理組卷管理圖3.1試卷管理功能模塊圖3.2 數(shù)據(jù)庫總體設計3.2.1 關系e-r圖1. 實體在試卷管理系統(tǒng)中,主要包括的實體為:專業(yè) 屬性:專業(yè)號、專業(yè)名稱??颇?屬性:科目號、科目名稱、專業(yè)號。章節(jié) 屬性:章節(jié)號、章節(jié)名、科目號。教師 屬性:教師編號、教師名稱、密碼、性別、郵箱、專業(yè)號

34、。題型 屬性:題型號、題型名稱。選擇題 屬性:題號、科目號、章節(jié)號、題型號、難易度、題內容、選項a、選項b、選項c、選項d、答案、分數(shù)。填空題 屬性:題號、科目號、章節(jié)號、題型號、難易度、題內容、空一、空二、空三、空四、空五、答案、分數(shù)。簡答題 屬性:題號、科目號、章節(jié)號、題型號、難易度、題內容、答案、分數(shù)。設計題 屬性:題號、科目號、章節(jié)號、題型號、難易度、題內容、答案、分數(shù)。試卷 屬性:試卷號、科目號、題型號、教師號、題號、卷頭。2. 關系一個專業(yè)可以包含多門科目,一門科目可以屬于多個專業(yè)中,因此專業(yè)和科目具有多對多的聯(lián)系。一門科目可以有很多章節(jié)組成,一個章節(jié)只能屬于一門科目,因此科目和章

35、節(jié)具有一對多的關系。一個專業(yè)可以有多個教師,一個教師只能歸屬于一個專業(yè)管理,因此專業(yè)和教師具有一對多的聯(lián)系。一個教師可以教多門科目,一門科目可以讓多個教師教,因此教師和科目具有多對多的聯(lián)系。一個題型可以包含多個題,一個題只能屬于一個題型,因此題型和題屬于一對多的聯(lián)系。一個題型可以屬于多個試卷,一個試卷可以包含多個題型,因此題型和試卷屬于多對多的聯(lián)系。一個試卷只能屬于一門科目,一個科目可以組成多個試卷,因此試卷和科目屬于一對多的聯(lián)系。3. e-r圖試卷管理系統(tǒng)的關系e-r圖,如圖3.2所示n設計題題號題內容題答案分數(shù)題型號難易度章節(jié)號題型包含包含題型號包含章節(jié)章節(jié)號章節(jié)名科目號mn1教師教師名稱

36、密碼性別出生日期郵箱電話專業(yè)號教師編號專業(yè)專業(yè)號專業(yè)名稱管理科目科目號科目名稱專業(yè)號教試卷試卷號科目號題型號教師號卷頭nnm11n題型名稱圖3.2 系統(tǒng)關系e-r圖3.2.2 數(shù)據(jù)表的設計本試卷管理系統(tǒng)的數(shù)據(jù)庫是在sql server中實現(xiàn)的,數(shù)據(jù)庫的設計是系統(tǒng)最為重要的一環(huán),數(shù)據(jù)庫設計的好壞將會決定后續(xù)工作的進展。本系統(tǒng)共設計了15張表,分別是:管理員表、教師表、專業(yè)表、科目表、題型表、選課表、難易度表、題型表、選擇題表、填空題表、簡答題表、設計題表、試卷表和考試表。各個表的具體字段說明如下:管理員表(admin):包括用戶id號、密碼、姓名。如表3.1所示。表3.1 管理員表列名意義數(shù)據(jù)類

37、型長度允許為空id用戶id號int4否uname用戶姓名varchar15否pwd密碼varchar15否教師表(sysuser):包括教師編號、教師姓名、密碼、專業(yè)號、郵箱和性別。如表3.2所示。表3.2 教師信息表列名意義數(shù)據(jù)類型長度允許為空id教師id號int否uname姓名varchar50否pwd密碼varchar50否gender年級varchar50是email郵箱varchar15是depid專業(yè)號int4否專業(yè)表(department):包括專業(yè)編號、專業(yè)名稱。如表3.3所示。表3.3 專業(yè)信息表列名意義數(shù)據(jù)類型長度允許為空depid專業(yè)id號int否department專業(yè)

38、名varchar15否科目表(subject):包括科目編號、科目名稱、所屬專業(yè)。如表3.4所示。表3.4 科目信息表列名意義數(shù)據(jù)類型長度允許為空subid科目id號int否subject科目名稱varchar15否depid專業(yè)id號int否章節(jié)表(chapter):章節(jié)號、科目號、科目名。如表3.5所示。表3.5 章節(jié)信息表列名意義數(shù)據(jù)類型長度允許為空chapid章節(jié)id號int否subid科目id號int否chapname章節(jié)名varchar50否選擇題表(choice):題號、科目號、章節(jié)號、題型號、難易度、題目內容、答案、選項a、選項b、選項c、選項d、分值。如表3.6所示。表3.6

39、 選擇題信息表列名意義數(shù)據(jù)類型長度允許為空titleid題目編號int否subid科目id號int否chapid章id號int否typeid題型id號int否ned難易度varchar否content題目內容varchar50否optiona選項avarchar15否optionb選項bvarchar15否optionc選項cvarchar15否optiond選項dvarchar15否answer答案varchar10否score分值varchar10否填空表(blank):題號、科目號、章節(jié)號、題型號、難易度、題目內容、答案、空1、空2、空3、空4、空5、分值。如表3.7所示。表3.7 填空

40、題信息表列名意義數(shù)據(jù)類型長度允許為空titleid題目編號int否subid科目id號int否chapid章id號int否typeid題型id號int否ned難易度varchar否content題目內容varchar50否blank1空一varchar30否blank2空二varchar30否blank3空三varchar30否blank4空四varchar30否blank5空五varchar30否answer答案varchar30否score分值varchar10否簡答題表(short):題號、科目號、章節(jié)號、題型號、難易度、題目內容、答案、分值。如表3.8所示。表3.8簡答題信息表列名意義

41、數(shù)據(jù)類型長度允許為空titleid題目編號int否subid科目id號int否chapid章id號int否typeid題型id號int否ned難易度varchar否content題目內容varchar50否answer答案varchar100否score分值varchar10否設計題表(design):題號、科目號、章節(jié)號、題型號、難易度、題目內容、圖表1、答案、圖表2、分值。如表3.9所示。表3.9設計題信息表列名意義數(shù)據(jù)類型長度允許為空titleid題目編號int否subid科目id號int否chapid章id號int否typeid題型id號int否ned難易度varchar否conten

42、t題目內容varchar100否answer答案varchar500否score分值varchar10否url1題目圖表varchar500是url2答案圖表varchar500是難易度表(ned):難易度編號、名稱。如表3.10所示。表3.10 難易度信息表列名意義數(shù)據(jù)類型長度允許為空nedid難易度編號int否ned難易程度varchar15否選課表(xuanke):專業(yè)號、科目號、教師編號。見附錄a附表1。題型表(type):題型編號、題型名稱。見附錄a附表2。試卷表(test):考試編號、科目號、教師號、題號、卷頭。見附錄a附表3??荚嚤?exam):編號、考試編號。見附錄a附表4。卷

43、頭表(header):編號、卷頭。見附錄a附表5。第4章 詳細設計本文主要負責對題庫維護模塊、專業(yè)管理模塊、科目管理模塊、教師管理模塊、題型管理模塊的設計,下面是這些模塊的幾種基本操作:1. 添加操作系統(tǒng)將向數(shù)據(jù)庫中添加一條新的記錄,并修改相關表的信息(如在添加專業(yè)信息時,系統(tǒng)將自動修改專業(yè)的基本信息)2. 查詢操作系統(tǒng)根據(jù)查詢條件在數(shù)據(jù)庫中進行查詢,然后將查詢結果顯示在界面上。3. 修改操作要進行修改操作,必須先執(zhí)行查詢操作。執(zhí)行修改操作系統(tǒng)將更新數(shù)據(jù)庫中的相應記錄。4. 刪除操作要進行刪除操作,必須先執(zhí)行查詢操作。執(zhí)行刪除操作系統(tǒng)將刪除數(shù)據(jù)庫中的相應記錄。4.1 類的設計基于代碼重用原則,

44、本系統(tǒng)將常用的數(shù)據(jù)庫操作定義在數(shù)據(jù)庫數(shù)據(jù)操作類sqlhelper中,將業(yè)務邏輯處理定義在services類中,將一些常用的函數(shù)定義在functions類中,這樣可以方便實現(xiàn)代碼重用。下面分別介紹這幾個類。4.1.1 數(shù)據(jù)操作類sqlhelper數(shù)據(jù)操作類是在sqlhelper.cs文件中實現(xiàn)的,位于網(wǎng)站根目錄下的app_code文件夾內。在類的最開始引入了system.data.sqlclient命名空間,引入此命名空間,是專門用于對sql server數(shù)據(jù)庫進行操作的。在類的內部定義了一個靜態(tài)變量connectionstring,該變量用來存放數(shù)據(jù)庫的連接字符串,它的值是從web.confi

45、g。把數(shù)據(jù)庫連接字符串放在web.config文件中,可以方便地管理連接字符串,當數(shù)據(jù)庫發(fā)生變化時,只要更改相應的配置文件了。在這個類中我們定義了三個最常用的靜態(tài)方法:executenonquery,executedataset和executescalar。使用靜態(tài)方法的好處是不用對類進行實例化就可以調用這些方法,從而提高代碼的執(zhí)行性能。在這三個方法的內部都創(chuàng)建了sqlconnection實例,其實例化操作都是放在using語句中執(zhí)行的,這樣在執(zhí)行完using語句之后,會對在using語句中的引用的資源進行回收,執(zhí)行完畢后,關閉連接,有效地控制了內存浪費。其中,executenonquery方

46、法用于對數(shù)據(jù)表的更新、刪除和插入操作;executedataset方法將返回一個數(shù)據(jù)集用于執(zhí)行數(shù)據(jù)庫的查詢操作;executescalar方法將返回sql查詢語句的首行首列。核心代碼如下:using system.data.sqlclient; /引入此命名空間,對sql server數(shù)據(jù)庫進行操作static string connectionstring=onfigurationmanager.connectionstringssqlconnstr.tostring();/讀取存放在web.config文件里的數(shù)據(jù)庫連接字符串public static void executenonque

47、ry(string sql) using (sqlconnection conn = new sqlconnection(connectionstring) sqlcommand cmd = new sqlcommand(sql, conn); conn.open(); cmd.executenonquery(); conn.close(); /封裝command對象的executenonquery方法,對數(shù)據(jù)庫進行更新,刪除和插入數(shù)據(jù)4.1.2 邏輯處理類services這個類文件同樣也位于根目錄下的app_code文件夾內。在這個類的實現(xiàn)中,在任何時刻應用程序最多只有此類的一個實例在運行,

48、這樣能夠最大限度地保證系統(tǒng)的執(zhí)行性能。在本系統(tǒng)中,通過調用類的一個靜態(tài)方法getinstance()來獲取類的實例,在這個方法中,先判斷是否已有一個實例對象,如果有則返回這個實例,否則,創(chuàng)建一個新的實例并返回。在services類中,最主要的代碼就是具體的業(yè)務邏輯查詢、刪除、更新、添加等有關操作均在此類中存放。比如登錄功能的代碼:public bool checkadminlogin(string username, string pwd) string sql = select count(*) from admin where uname= + username + and pwd= +

49、pwd + ; object obj = sqlhelper.executescalar(sql); if (convert.toint32(obj) 0) return true; return false;這個方法根據(jù)傳遞進來的用戶名和密碼參數(shù),生成相應的sql查詢語句,然后,調用sqlhelper類中的executescalar方法,以判斷登錄信息是否正確,如果正確則返回true,否則返回false。4.1.3 常用函數(shù)類functions隨著b/s模式應用開發(fā)的發(fā)展,使用這種模式編寫應用程序的程序員也越來越多。但相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使

50、應用程序存在安全隱患。本系統(tǒng)將經(jīng)常用到的方法封裝在functions文件里,命名空間定為util, 同樣也位于根目錄下的app_code文件夾內。核心代碼如下:public static void alert(string message) httpcontext.current.response.write(alert( + message + ); /這個方法用于顯示。public static void alertandredirect(string message, string url) httpcontext.current.response.write(alert( + mess

51、age + );location.href= + url + ); /這個方法在顯示文本的同時并轉向location.href所指向的鏈接。有些不法的用戶可以通過web頁面提交一段數(shù)據(jù)庫sql代碼,來查看數(shù)據(jù)庫或者對數(shù)據(jù)庫的內容作出篡改,本系統(tǒng)functions類中的repstr方法,用于過濾字符串并可以防止不法用戶對數(shù)據(jù)庫做出的不法行為,它根據(jù)接收到的枚舉類型repstrdirec對字符進行過濾和替換;alert方法用于在頁面中彈出一個警示框;alertandredirect方法用于在頁面彈出一個警示框并轉向指定的頁面;alertout方法在后臺的session超時時用來提示并重定向到登陸頁

52、面;checksession方法用于檢查session是否超時,內部調用了alertout方法。4.2題庫維護模塊的實現(xiàn)當教師登錄成功之后,可以對題目進行維護。教師首先要選擇科目,然后選擇需要維護的題型,最后選擇具體的題目。當修改完要修改的內容之后,點擊“更新”,數(shù)據(jù)將保存在數(shù)據(jù)庫中,這里的題目編號不能修改。具體的實現(xiàn)方法如下:首先添加dropdownlist控件,根據(jù)當前登錄的教師號查到該教師所授的科目,將科目名稱綁定在list1空間上,實現(xiàn)的代碼是int userid=int.parse(session userid.tostring();list1.datasource=services

53、.getinstance().getallsubjectbyid(userid); list1.databind();sql語句是:select distinct subject from subject ,department, sysuser, xuanke where sysuser.id = xuanke.id and xuanke.subid = subject.subid and xuanke.depid=department.depid and xuanke.id= + userid + ;再添加menu控件,collection的值有四個,分別是選擇題,value是0,填空題,value是1,簡述題,value是2,設計題value是3;再添加multiview控件,最后在multiview控件中添加4個view控件。核心代

溫馨提示

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

評論

0/150

提交評論