題庫型考試自動組卷系統(tǒng)數(shù)據(jù)庫設(shè)計
-
資源ID:253598420
資源大?。?span id="mzebxcnn0" class="font-tahoma">2.28MB
全文頁數(shù):38頁
- 資源格式: DOC
下載積分:10積分
快捷下載

會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。
|
題庫型考試自動組卷系統(tǒng)數(shù)據(jù)庫設(shè)計
真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。
遼 東 學(xué) 院 本 科 畢 業(yè) 論 文(設(shè) 計)
題庫型考試自動組卷系統(tǒng)的設(shè)計與實現(xiàn)
The Design and Implementation of Auto-Generating Examination Paper about the Item Bank Type Examination
學(xué) 生 姓 名: 艾萍
學(xué) 院: 信息技術(shù)學(xué)院
專 業(yè): 信息管理與信息系統(tǒng)
班 級: B0601
學(xué) 號: 0911060101
指 導(dǎo) 教 師: 陳志勇
審 閱 教 師:
完 成 日 期: 2010年5月25日
遼 東 學(xué) 院
Eastern Liaoning University
獨創(chuàng)性說明
XXX鄭重聲明:本畢業(yè)論文(設(shè)計)是我個人在指導(dǎo)教師指導(dǎo)下進行的研究工作及取得研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,畢業(yè)論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果,也不包含為獲得遼東學(xué)院或其他單位的學(xué)位或證書所使用過的材料。與我一同工作的同志對本研究所做的貢獻均已在論文中做了明確的說明并表示了謝意。
XXX簽名:___________ 日期:__ __
32 / 38
摘 要
組卷考試在計算機網(wǎng)絡(luò)下完成,可以大大提高考試工作的效率和質(zhì)量。項目采用Visual Studio 2005開發(fā)平臺和SQL Server 2005數(shù)據(jù)庫技術(shù),依據(jù)面向?qū)ο蟮姆治龇椒ǎ_發(fā)出了基于C/S模式的題庫型考試自動組卷系統(tǒng)。
本文從題庫型考試自動組卷系統(tǒng)在考試中發(fā)揮的作用出發(fā),詳細闡述了一個功能較完善的組卷系統(tǒng)的服務(wù)器端和客戶端開發(fā)過程。首先進行了項目概述,簡單介紹了項目開發(fā)的背景及項目開發(fā)的意義;接下來是系統(tǒng)規(guī)劃階段,首先對項目開發(fā)的可行性進行了分析;在需求分析階段,通過對實際考試的功能需求分析,得到了系統(tǒng)用例;系統(tǒng)設(shè)計階段主要完成了開發(fā)模式的選擇、功能模塊的劃分、動態(tài)圖的繪制、類的設(shè)計、數(shù)據(jù)庫的設(shè)計;系統(tǒng)實現(xiàn)階段介紹系統(tǒng)主要功能的關(guān)鍵代碼。
本系統(tǒng)的設(shè)計實施為題庫型考試自動組卷系統(tǒng)的運行做基礎(chǔ),同時為組卷考試系統(tǒng)的開發(fā)提供一個參考模式,并進一步推動高校的校園信息化建設(shè)。
關(guān)鍵詞:題庫;自動化;試卷;在線考試
The Design and Implementation of Auto-Generating Examination Paper about the Item Bank Type Examination
Abstract
The method that finishes in the generating examination by network can greatly increase the efficiency and quantity of examination work. According to the object-oriented analysis method the system uses the platform of Visual Studio 2005 and database technique of SQL Server 2005 to developed the auto-generating examination paper system about the item bank type examination based on C/S model.
This thesis starting from the function of auto-generating examination paper about the item bank type examination system, elaborates in detailedly the server and client development of a complete functional auto-generating examination paper system. Proceeding from the summary of the project, this thesis simply introducs the background and the significance of project development.Then on the phase of system plan,firstly it analyzes the feasibility of the system.In the phase of system analysis, through the fuction demands analysis of the real examination, it gains the use case of the system. On the phase of system design, it mainly completes the partition of function modules, drawings of dynamic views , classes design and database design.The phase of system implementation describes the improtent code of the main features.
Design and implementation of this system is used as the basis for the movement of auto-generating examination paper about the item bank type examination system, simultaneously provides a reference pattern for the development of auto-generating paper and examination systems, and further impels the campus informationization construction.
Key Words:Item bank;Autoimmunization;Test Paper;On-line Examination
目 錄
摘 要 I
Abstract II
一、引 言 1
(一)項目開發(fā)的背景 1
(二)項目開發(fā)的意義 2
二、系統(tǒng)規(guī)劃 4
可行性分析 4
1.技術(shù)可行性 4
2.經(jīng)濟可行性 5
3.社會可行性 6
三、系統(tǒng)需求分析 7
(一)系統(tǒng)主要功能 7
(二)系統(tǒng)用例分析 8
1.識別參與者 8
2.系統(tǒng)用例圖 9
四、系統(tǒng)設(shè)計 20
(一)系統(tǒng)功能模塊設(shè)計 20
(二)動態(tài)視圖分析 20
1.服務(wù)器端教師添加單選題時序圖 21
2.服務(wù)器端教師編輯試卷設(shè)置信息時序圖 21
3.服務(wù)器端教師新建試卷,系統(tǒng)自動生成試卷的時序圖 22
4.客戶端學(xué)生在線測試的時序圖 23
5.服務(wù)器端教師添加、修改試題活動圖 24
6.服務(wù)器端教師添加、修改試卷設(shè)置信息的活動圖 26
7.服務(wù)器端教師試卷打印的活動圖 26
8.服務(wù)器與客戶端考試管理學(xué)生考試的活動圖 27
(三)類圖的設(shè)計 28
1.系統(tǒng)的三層結(jié)構(gòu) 29
2.系統(tǒng)中的實體類 29
3.系統(tǒng)中的控制類 31
1.概念結(jié)構(gòu)設(shè)計 32
2.邏輯結(jié)構(gòu)設(shè)計 34
3.系統(tǒng)數(shù)據(jù)表設(shè)計 35
(五)系統(tǒng)開發(fā)工具與開發(fā)模式的選擇 43
1.開發(fā)工具 43
2.開發(fā)模式 43
五、系統(tǒng)實現(xiàn) 44
服務(wù)器端教師試卷打印模塊 44
1.試卷打印窗體的功能描述 44
2.試卷打印窗體的關(guān)鍵代碼功能描述 45
3.試卷打印窗體的關(guān)鍵代碼 46
結(jié) 論 48
參 考 文 獻 49
致 謝 50
遼東學(xué)院本科畢業(yè)論文(設(shè)計)版權(quán)使用授權(quán)書 51
一、引 言
(一)項目開發(fā)的背景
考試是檢驗教師的教與學(xué)生的學(xué)的重要手段,也是促進學(xué)生學(xué)習(xí)的重要手段,是教學(xué)過程中的一個重要環(huán)節(jié)[1]。學(xué)生考試成績的優(yōu)劣,不但反映其對教學(xué)內(nèi)容和應(yīng)掌握知識的分析、理解、吸收、運用的能力,更反映教師對教學(xué)內(nèi)容的把握和熟練程度。
目前,學(xué)校內(nèi)及社會上存在各種考試,一般以教師人工出卷、傳統(tǒng)紙質(zhì)考試為主。兩者結(jié)合存在諸多局限:
第一,教師人工出卷方面:教師命題時,在出題前需要查閱相關(guān)教材資料,憑借自己的教學(xué)經(jīng)驗出題。這樣對試卷中試題的難度不好把握,而且基礎(chǔ)性試題與應(yīng)用性試題比重、試題中教學(xué)內(nèi)容覆蓋率需要教師人工控制,教師工作量繁重。
第二,傳統(tǒng)紙質(zhì)考試方面:學(xué)校采用傳統(tǒng)紙質(zhì)考試時,對于大規(guī)??荚囋嚲碛∷①M工費時,成本高,對紙張資源是一種浪費;對于教師、教室資源數(shù)量相對緊張的學(xué)校,到了考試密集期考場安排工作是繁瑣又復(fù)雜的事情;考生答題時學(xué)生難免會相互抄襲,有失公平性。
隨著計算機多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的日益普及,特別是近年來Internet的高速發(fā)展,傳統(tǒng)有紙化考試方式受到了前所未有的挑戰(zhàn),出現(xiàn)了一些基于網(wǎng)絡(luò)環(huán)境的無紙化考試,主要分為B/S與C/S兩種模式[2]。
B/S模式的計算機考試系統(tǒng)已經(jīng)很成熟,主要是一些培訓(xùn)機構(gòu)的遠程專業(yè)性考試,如北大遠程教育考試等,考生利用瀏覽器訪問服務(wù)器進行考試,教師利用瀏覽器對試題庫進行管理,管理員對考試進行管理。
C/S模式的考試系統(tǒng)運行在校園內(nèi)部的局域網(wǎng)上,一般是為了解決人工出卷和紙質(zhì)考試的弊端開發(fā)出的帶有自動組卷、學(xué)生上機考試功能的系統(tǒng)。這些系統(tǒng)的操作基本如下:教師操作服務(wù)器端對題庫、考試進行管理,學(xué)生登錄客戶端進行考試,管理員對基礎(chǔ)數(shù)據(jù)、考試進行管理。
然而大部分學(xué)校機房的計算機數(shù)量有限,在期中期末等考試密集期無法提供足夠的機器供學(xué)生上機進行考試,這些學(xué)校不能完全采用網(wǎng)絡(luò)考試的方式,還是以紙質(zhì)考試為主。并且無論是C/S還是B/S模式的考試系統(tǒng)都無法對需要學(xué)生在答案中畫圖的試題進行考核,這種試題的考核也只能以紙質(zhì)考試實現(xiàn)。但是目前社會上存在的考試系統(tǒng)都只有自動組卷和在線考試功能并沒有將試卷導(dǎo)出成紙質(zhì)試卷的功能,也就無法解決以上兩種情況的問題。
如果考試系統(tǒng)在自動組卷的基礎(chǔ)上添加試卷導(dǎo)出的功能,這樣就能解決教師人工出卷的弊端同時又能滿足網(wǎng)絡(luò)環(huán)境不足的學(xué)校進行紙質(zhì)考試的需求。最簡便的方法是購買獲得已經(jīng)成功運行、成熟的在線考試系統(tǒng),在其自動組卷功能的基礎(chǔ)上添加試卷導(dǎo)出的功能。但是成熟的系統(tǒng)費用必然高昂,并且如果編程人員的設(shè)計思路不清晰,代碼中的注釋說明不夠多,后續(xù)添加功能的程序員很難看懂其設(shè)計思路、在其上添加試卷導(dǎo)出功能的難度可想而知。
為此,希望開發(fā)出一個帶有試卷導(dǎo)出功能的網(wǎng)絡(luò)考試系統(tǒng),這樣既能解決紙質(zhì)考試為主學(xué)校的人工出卷弊端,也能滿足有一定網(wǎng)絡(luò)環(huán)境的學(xué)校進行在線考試的需求,還能實現(xiàn)對畫圖題的考核。
無論針對哪種需求,系統(tǒng)的主要功能是自動組卷并導(dǎo)出試卷和在線考試,而他們的基礎(chǔ)都是對試題庫的維護,因此題庫型考試自動組卷系統(tǒng)的三大重點是題庫管理、自動組卷并導(dǎo)出試卷、考試管理。
(二)項目開發(fā)的意義
通過上述分析,題庫型考試自動組卷系統(tǒng)的運行應(yīng)該實現(xiàn)試題管理、導(dǎo)出試卷、學(xué)生考試、教師批卷、成績查詢等全過程的網(wǎng)絡(luò)化管理。將教師出卷、排版、學(xué)生考試、教師評分等環(huán)節(jié)通過計算機進行管理,為教師、學(xué)生提供便利。使考試管理工作更加自動化、科學(xué)化、規(guī)范化,方便教師對學(xué)生學(xué)習(xí)情況的掌握,也方便學(xué)校對考試工作進行監(jiān)督、管理。使教師從繁重的工作中解脫出來,將更多的精力投入到教學(xué)中去,最大限度地減少不必要的錯誤,提高學(xué)??荚嚬芾淼默F(xiàn)代化水平。
題庫型考試自動組卷系統(tǒng)的主要功能如下:
第一,題庫管理方面:利用計算機管理試題可以輕松查看每套試題的難度、所屬章節(jié);可以處理多種常見的考試題型,如單選題,多選題,填空題,判斷題,問答題;添加、修改試題也可以做到操作簡單,便于教師對試題進行管理。
第二,考試管理方面:可以方便地對學(xué)生考試進行控制;能提供簡單的組織考試的方式:學(xué)生上機考試,上機練習(xí);能批閱學(xué)生上機考試所做的答案并能查詢成績,滿足實際考試的需求。
第三,自動組卷并導(dǎo)出試卷方面:能方便且科學(xué)的從題庫中抽出一套符合要求的試卷,可以設(shè)置試卷中的題型,題量,起始章節(jié),結(jié)束章節(jié),難度系數(shù),即使題庫中試題量很大也可以一鍵隨機生成試卷,無需排版、隨時打印,供傳統(tǒng)紙式考試用。
傳統(tǒng)考試模式、現(xiàn)有的考試系統(tǒng)與待開發(fā)的題庫型考試自動系統(tǒng)在功能方面的對比如表1.1所示。
表1.1 三種考試方式的對比
輕松管理題庫
題型全面
自動組卷
生成紙質(zhì)試卷
傳統(tǒng)考試模式
×
√
×
√
現(xiàn)有考試系統(tǒng)
√
×
√
×
欲開發(fā)的系統(tǒng)
√
√
√
√
教師人工組卷時通常把試題存放在word或者excel中,當(dāng)試題量很大時,無論是查看試題,還是為試卷篩選試題都變得很困難,題庫型考試自動組卷系統(tǒng)利用計算機管理題庫,查看和篩選試題都變得非常方便?,F(xiàn)有的考試系統(tǒng)幾乎都只是對選擇題的考核,很少有主觀題的考核方式,題庫型考試自動組卷系統(tǒng)能滿足5種題型的考核,更符合實際考試的需求。
簡而言之,題庫型考試自動組卷系統(tǒng)的運行會使整個考試過程變得簡單,高效。
二、系統(tǒng)規(guī)劃
系統(tǒng)規(guī)劃是信息系統(tǒng)生命周期的第一階段,這一階段的主要目標(biāo)是明確系統(tǒng)整個生命周期內(nèi)的發(fā)展方向、系統(tǒng)規(guī)模和開發(fā)計劃[3]。通過上述對開發(fā)背景和意義的分析,現(xiàn)對系統(tǒng)的功能和開發(fā)的可行性進行分析。
可行性分析
可行性分析的任務(wù)是明確開發(fā)應(yīng)用項目的必要性和可行性[4]。在功能分析的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康氖怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決??尚行匝芯恐饕性谝韵氯齻€方面:
1.技術(shù)可行性
(1)系統(tǒng)的體系結(jié)構(gòu)方面:
C/S(Client/Server)結(jié)構(gòu)即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。它建立在局域網(wǎng)上,面向相對固定的用戶群,對信息安全的控制能力很強,一般高度機密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜。
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它建立在廣域網(wǎng)上,面向的是不可知的用戶群,對安全的控制能力相對弱。
目前社會上已經(jīng)存在許多較成熟的在線考試系統(tǒng):C/S模式的有電子商務(wù)師考試系統(tǒng);B/S 模式的有南京航空航天大學(xué)采用JSP技術(shù)建立的網(wǎng)絡(luò)考試系統(tǒng)[5]。這說明開發(fā)題庫型考試自動組卷系統(tǒng)無論哪種模式都是可以實現(xiàn)的。但是針對考試要杜絕學(xué)生之間相互抄襲的實際需求:如果系統(tǒng)開發(fā)采用B/S結(jié)構(gòu)則安全性不好控制,學(xué)生進行在線考試時可以利用廣域網(wǎng)互相傳遞答案;局域網(wǎng)的環(huán)境則相對封閉,采用建立在局域網(wǎng)上的C/S模式,與在客戶端考試過程中為每位學(xué)生隨機抽取不同的試題(難度可以控制在同一水平)相結(jié)合的方式,可以有效杜絕學(xué)生抄襲現(xiàn)象,考試就更能真實的反映學(xué)生的水平。因此,系統(tǒng)體系結(jié)構(gòu)采用C/S模式更符合需求。
(2)系統(tǒng)的開發(fā)環(huán)境方面:
上面已經(jīng)提到的南京航空航天大學(xué)的網(wǎng)絡(luò)考試系統(tǒng)是采用JSP技術(shù)實現(xiàn)的,另外利用Visual Studio .NET平臺也可以成功開發(fā)出在線考試系統(tǒng):如長春大學(xué)的視障大學(xué)生語音考試系統(tǒng)就是利用Visual Studio 2005開發(fā)平臺開發(fā)出的C/S模式系統(tǒng)[6],并已成功運行一年;太原理工大學(xué)的自動考試系統(tǒng)是采用.NET技術(shù)開發(fā)出的B/S 模式系統(tǒng),并已成功運行一年[7]。這說明開發(fā)題庫型考試自動組卷系統(tǒng)采用JSP技術(shù)或者Visual Studio .NET開發(fā)平臺都是可以實現(xiàn)的。
(3)系統(tǒng)使用的數(shù)據(jù)庫方面:
目前流行的數(shù)據(jù)庫有Oracle ,MS SQL Server和Access等,其中Access 多用于小型系統(tǒng),MS SQL Server 多用于大中型系統(tǒng),Oracle 多用于企業(yè)級大型系統(tǒng)。下面以遼東學(xué)院作為研究對象,分析何種數(shù)據(jù)庫能夠支持題庫型考試自動組卷系統(tǒng)的運行。
遼東學(xué)院下設(shè)16個二級學(xué)院,本科專業(yè)52個,高職專業(yè)44個,在校人數(shù)1.7萬,每年錄取新生5000人。系統(tǒng)數(shù)據(jù)庫中儲存的基礎(chǔ)數(shù)據(jù)如學(xué)院、專業(yè)、班級等信息可以忽略不計,數(shù)據(jù)庫中數(shù)據(jù)量最大的就是學(xué)生信息和題庫信息。假設(shè)一個專業(yè)共有專業(yè)課30門,那么96個專業(yè)估計開設(shè)2900門專業(yè)課程。其中每門課程的題庫都有5種題型,假設(shè)一張試卷需要單選題20個,多選題10個,填空題5個,判斷題5個,問答題5個,按照題庫中題量是試卷題量的10倍來計算,一門課程的試題記錄大約需要450條,2900門專業(yè)課大約要儲存試題記錄1,300,000條。在考試過程中,首先假設(shè)一個學(xué)生正在考試,系統(tǒng)需要從1,300,000條試題記錄中抽取出45道題供學(xué)生作答,但是如果有15個班的450人同時進行考試,系統(tǒng)就需要為這450個學(xué)生每人抽取出45道試題,也就是450*45=20250條試題記錄,并且學(xué)生每做一道題,提交一次答案,450個學(xué)生在考試過程中不斷的提交答案訪問數(shù)據(jù)庫,數(shù)據(jù)庫的負(fù)荷相當(dāng)大,這就需要數(shù)據(jù)庫擁有很強大的處理能力。顯然Acess數(shù)據(jù)庫不足以支持本系統(tǒng),大、中型數(shù)據(jù)庫庫才能保證系統(tǒng)的成功運行。
2.經(jīng)濟可行性
經(jīng)濟可行性分析也叫投資/效益(支出/收益)分析,它是分析信息系統(tǒng)所需要的花費和項目開發(fā)成功之后所能帶來的經(jīng)濟效益[8]。
(1)系統(tǒng)開發(fā)的支出方面:
第一,開發(fā)人員費用:系統(tǒng)為本人的畢業(yè)設(shè)計,由指導(dǎo)教師輔導(dǎo)本人獨自完成,因此不涉及開發(fā)人員的費用,人工無支出。
第二,硬件費用:系統(tǒng)運行在學(xué)校機房的局域網(wǎng)中,機房設(shè)備滿足本系統(tǒng)的運行,無需多余開銷,硬件費用無支出。
第三,軟件費用:系統(tǒng)開發(fā)是為學(xué)校教學(xué)管理提供方便,并不會用于商業(yè)用途,因此可以采用微軟提供的暫時免費的Visual Studio 2005 Express Edition與永久免費的SQL Server 2005 Express Edition(速成)版本。Visual Studio 2005 Express Edition版本與收費版本相比缺少部分功能,如遠程調(diào)試開發(fā)功能、與SQL Server的集成功能、支持移動設(shè)備等,但是本系統(tǒng)屬于小規(guī)模系統(tǒng),這些缺失功能并不影響本系統(tǒng)的開發(fā)。SQL Server 2005 Express Edition免費版本與收費版本相比支持的內(nèi)存比較小,同樣不影響系統(tǒng)的開發(fā)。本人可以網(wǎng)上申請使用免費版本的開發(fā)軟件和數(shù)據(jù)庫,軟件費用無支出。
(2)系統(tǒng)開發(fā)的收益方面:
第一,有形收益:系統(tǒng)具有學(xué)生在線考試功能,較傳統(tǒng)的紙質(zhì)考試節(jié)省大量的紙張費用。
第二,無形收益:系統(tǒng)的試卷導(dǎo)出功能為教師人工出卷過程提供了便利,使教師從繁重的出卷工作中解脫出來,將更多的時間精力投入到教學(xué)中去,提高了學(xué)校考試管理工作的效率。
3.社會可行性
社會可行性研究是對系統(tǒng)投入使用后對社會可能帶來的影響進行分析。
(1)法律方面的可行性:
系統(tǒng)為本人的畢業(yè)設(shè)計,由指導(dǎo)教師輔導(dǎo)本人獨立完成,并不存在盜用他人系統(tǒng)的情況,不會侵犯他人的專利、版權(quán)。系統(tǒng)的開發(fā)在法律方面是可行的。
(2)使用方面的可行性:當(dāng)今中國是高度信息化的社會,人們的生活已經(jīng)離不開計算機。高校學(xué)生幾乎都要參加計算機等級考試,學(xué)生利用計算機進行考試并不會出現(xiàn)操作困難。教師的工作娛樂也都離不開計算機,有一定的計算機操作經(jīng)驗和考試經(jīng)驗,利用計算機對試題庫、考試等進行管理都不會造成太大困難。因此只要系統(tǒng)的界面友好,操作簡單,學(xué)生和教師都能夠輕易熟悉系統(tǒng)并成功操作。這樣就保證了系統(tǒng)在使用方面的可行性。
綜上所述,本系統(tǒng)的開發(fā)不論是從技術(shù)、經(jīng)濟、還是社會方面來考慮都是可行的。
三、系統(tǒng)需求分析
需求分析是系統(tǒng)開發(fā)的最重要階段之一,在這里系統(tǒng)要決定“做什么”,也就是系統(tǒng)應(yīng)該具有什么功能,是系統(tǒng)生存期中定義階段的最后一個步驟,是作為整個系統(tǒng)開發(fā)的指南,軟件開發(fā)人員必須根據(jù)需求分析上的功能要求進行開發(fā)[9]。從這一階段開始,通過面向?qū)ο蠓治龇椒▽ο到y(tǒng)進行分析與設(shè)計,具體如下:
(一)系統(tǒng)主要功能
系統(tǒng)主要分為以下三個重點功能,題庫管理、考試管理、自動組卷并導(dǎo)出試卷[10],其功能簡要描述如下:
第一,對試題庫進行管理:利用計算機管理試題可以輕松查看每道試題的題目、答案、難度、所屬章節(jié)等信息,其中難度與所屬章節(jié)的狀態(tài)設(shè)定為自動組卷的科學(xué)化奠定了基礎(chǔ);可以處理多種常見的考試題型,如單選題,多選題,填空題,判斷題,問答題;能對不在考試過程的課程試題庫進行添加、修改操作,以此保證不影響學(xué)生考試。
第二,自動組卷并導(dǎo)出試卷:自動組卷功能應(yīng)用在2個部分,分別是學(xué)生考試和試卷導(dǎo)出。學(xué)生考試的自動組卷功能要保證為每個學(xué)生抽取出相同難度的不同試題,以此減少學(xué)生考試相互抄襲的現(xiàn)象;導(dǎo)出試卷的自動組卷功能分為2個步驟,先由系統(tǒng)自動生成試卷,然后教師對該試卷的試題做添加、刪除操作,使最終生成的試卷更符合出卷人的意愿。保存了的試卷無需排版、隨時可以打印,以供傳統(tǒng)紙質(zhì)考試使用。
第三,進行考試管理:可以對學(xué)生考試時間等進行控制;能提供簡單的組織考試的方式:學(xué)生上機考試,上機練習(xí);能批閱學(xué)生上機考試所做的答案并能查詢成績,滿足實際考試的需求。
綜上所述,為使考試工作更加高效,使教師從繁重的考試工作中解脫出來,將更多的時間精力投入到教學(xué)中去,本系統(tǒng)的主要功能詳細描述如下:
(1)題庫管理功能:教師對題庫中的未考試的課程試題進行添加、修改、刪除操作,題型包括單選題,多選題,填空題,判斷題,問答題。
(2)試卷管理功能:包括試卷設(shè)置功能和試卷打印功能。試卷設(shè)置功能:教師對所選課程的試卷信息進行設(shè)置,能夠設(shè)置試卷的題型、題量、起始章節(jié)、結(jié)束章節(jié)、難中易題比重等,為隨機自動組卷做準(zhǔn)備;試卷打印功能:教師能夠看到系統(tǒng)按照試卷設(shè)置信息隨機抽取的試題題,并手動對試卷中的試題進行添加、刪除操作(但并不是對試題庫中的試題做刪除操作,僅刪除試卷中的試題),保存試卷,隨時打印。
(3)考試管理功能:包括考試安排功能、考試紀(jì)事查詢功能、教師評分功能??荚嚢才殴δ埽嚎荚嚢才庞糜趯蛻舳藢W(xué)生考試的控制,教師或管理員能對考試安排信息進行添加、修改操作,考試安排信息包括考試時長、考試類型、考試狀態(tài)等;考試紀(jì)事功能:教師或管理員查看考試信息,包括學(xué)生在客戶端考試的開始時間、結(jié)束時間等;教師評分功能:教師對學(xué)生在客戶端所作答案進行批閱,評分后上繳試卷,將學(xué)生的分?jǐn)?shù)保存。
(4)考試功能:學(xué)生登錄客戶端可以進行在線測試、自由練習(xí)。在線測試功能:系統(tǒng)按照服務(wù)器端設(shè)置的試卷信息隨機生成試題,學(xué)生對試題進行作答。系統(tǒng)保存學(xué)生的答案,教師在服務(wù)器端對該答案評分;系統(tǒng)保存學(xué)生考試的開始時間、結(jié)束時間、教師或管理員在服務(wù)器端查看學(xué)生考試紀(jì)事信息;上機練習(xí)功能:學(xué)生上機練習(xí)過程中可以查看標(biāo)準(zhǔn)答案。
(5)查詢管理功能:教師可以通過學(xué)號查詢學(xué)生成績。
其他功能是管理員對基礎(chǔ)數(shù)據(jù)的維護,包括學(xué)院信息、專業(yè)信息、班級信息、課程信息、學(xué)生信息、教師信息、班級選課信息,這里不做詳細介紹。
(二)系統(tǒng)用例分析
UML是面向?qū)ο筌浖到y(tǒng)分析設(shè)計的標(biāo)準(zhǔn)建模語言[11],將UML語言與Microsoft visio 2003畫圖軟件相結(jié)合對系統(tǒng)用例分析、進行需求描述能夠非常清晰地表達本系統(tǒng)的需求。
1.識別參與者
通過對本系統(tǒng)的全面分析,本系統(tǒng)的用戶主要分為:管理員、教師和學(xué)生,如圖3.1所示。
圖3.1 系統(tǒng)用戶
管理員:能對服務(wù)器端的基礎(chǔ)數(shù)據(jù)進行維護,并能添加、修改考試安排信息、查看學(xué)生考試紀(jì)事信息。
教師:能操作服務(wù)器端的部分功能,主要包括題庫管理、試卷管理、考試管理。
學(xué)生:登錄客戶端,進行考試、練習(xí)操作。
2.系統(tǒng)用例圖
通過以上分析并且為了便于后續(xù)章節(jié)研究,在這里先畫出系統(tǒng)總體用例圖,如圖3.2所示。
圖3.2 系統(tǒng)總體用例圖
下面對系統(tǒng)的重點題庫管理、試卷管理、考試管理分用例進行描述,進一步確定系統(tǒng)的功能需求:
(1)教師題庫管理用例:
圖3.3 題庫管理用例圖
題庫管理功能的用例描述如下表3.1至3.6所示:
表3.1 用例題庫管理的描述
用例名稱:題庫管理
參與者:教師
簡要說明:
教師用來對試題庫進行維護的用例
前置條件:
教師成功登錄服務(wù)器端并點擊題庫管理菜單項
基本事件流:
1. 選擇試題類型
2. 教師對單選題庫進行添加、修改操作
3. 教師對多選題庫進行添加、修改操作
4. 教師對填空題庫進行添加、修改操作
5. 教師對判斷題庫進行添加、修改操作
6. 教師對問答題庫進行添加、修改操作
其他事件流:
教師對題庫進行添加、修改操作時,未點擊保存按鈕,可以隨時關(guān)閉窗體,題庫信息不改變
異常事件流:無
后置條件:教師對題庫進行了維護
表3.2 用例單選題管理的描述
用例名稱:單選題管理
參與者:教師
簡要說明:
教師對題庫中的單選題進行添加、修改操作
前置條件:
教師成功登錄服務(wù)器端點擊題庫管理菜單項,選擇單選題
基本事件流:
1. 選擇課程名稱
2. 添加單選題
3. 修改單選題
其他事件流:
教師添加、修改單選題時,點擊保存按鈕之前,題庫不改變
異常事件流:無
后置條件:教師對題庫中的單選題進行了維護
表3.3 用例多選題管理的描述
用例名稱:多選題管理
參與者:教師
簡要說明:
教師對題庫中的多選題進行添加、修改操作
前置條件:
教師成功登錄服務(wù)器端點擊題庫管理菜單項,選擇多選題
基本事件流:
1. 選擇課程名稱
2. 添加多選題
3. 修改多選題
其他事件流:
教師添加、修改多選題時,點擊保存按鈕之前,題庫不改變
異常事件流:無
后置條件:教師對題庫中的多選題進行了維護
表3.4 用例填空題管理的描述
用例名稱:填空題管理
參與者:教師
簡要說明:
教師對題庫中的填空題進行添加、修改操作
前置條件:
教師成功登錄服務(wù)器端點擊題庫管理菜單項,選擇填空題
基本事件流:
1. 選擇課程名稱
2. 添加填空題
3.修改填空題
其他事件流:
教師添加、修改填空題時,點擊保存按鈕之前,題庫不改變
異常事件流:無
后置條件:教師對題庫中的填空題進行了維護
表3.5 用例判斷題管理的描述
用例名稱:判斷題管理
參與者:教師
簡要說明:
教師對題庫中的判斷題進行添加、修改操作
前置條件:
教師成功登錄服務(wù)器端點擊題庫管理菜單項,選擇判斷題
基本事件流:
1. 選擇課程名稱
2. 添加判斷題
3.修改判斷題
其他事件流:
教師添加、修改判斷題時,點擊保存按鈕之前,題庫不改變
異常事件流:無
后置條件:教師對題庫中的判斷題進行了維護
表3.6 用例問答題管理的描述
用例名稱:問答題管理
參與者:教師
簡要說明:
教師對題庫中的問答題進行添加、修改操作
前置條件:
教師成功登錄服務(wù)器端點擊題庫管理菜單項,選擇問答題
基本事件流:
1. 選擇課程名稱
2. 添加問答題
3.修改問答題
其他事件流:
教師添加、修改問答題時,點擊保存按鈕之前,題庫不改變
異常事件流:無
后置條件:教師對題庫中的問答題進行了維護
(2)教師試卷管理用例:
圖3.4 試卷管理用例圖
試卷管理功能的用例描述如下表3.7至3.9所示:
表3.7 用例試卷管理的描述
用例名稱:試卷管理
參與者:教師
簡要說明:
教師用來對試卷進行操作,包括為系統(tǒng)的自動隨機組卷做準(zhǔn)備的試卷設(shè)置的用例;新建試卷、打印試卷、打印答案的試卷打印用例
前置條件:
教師成功登錄服務(wù)器端并點擊試卷管理菜單項
基本事件流:
1.添加、修改試卷設(shè)置信息
2. 新建試卷,自動組卷,對保存的試卷試題做添加、刪除操作
3.預(yù)覽試卷并打印、預(yù)覽答案并打印
其他事件流:無
異常事件流:無
后置條件:教師對試卷進行了維護
表3.8 用例試卷設(shè)置的描述
用例名稱:試卷設(shè)置
參與者:教師
簡要說明:
教師用來對某一課程的試卷設(shè)置信息進行操作,為系統(tǒng)的自動隨機組卷做準(zhǔn)備的用例
前置條件:
教師成功登錄服務(wù)器端并點擊試卷設(shè)置菜單項
基本事件流:
1.教師選擇課程名
2.若該課程已有試卷設(shè)置信息,系統(tǒng)顯示該課程保存了的試卷信息,包括題型、題量、起始章節(jié)、結(jié)束章節(jié)、難中易題比重、該題型總分?jǐn)?shù)等
3. 若該課程還沒有試卷設(shè)置信息,則可對該課程的試卷設(shè)置信息做添加操作
4.若需要對該課程的試卷設(shè)置信息做調(diào)整,點擊編輯按鈕,對該條記錄進行修改
其他事件流:
在點擊保存按鈕之前,教師可以隨時關(guān)閉窗口,試卷設(shè)置信息不改變
異常事件流:無
后置條件:教師對試卷設(shè)置信息進行了維護
表3.9 用例試卷打印的描述
用例名稱:試卷打印
參與者:教師
簡要說明:
教師新建試卷并保存,對已有試卷的試題進行添加、刪除操作,預(yù)覽試卷并打印,預(yù)覽答案并打印
前置條件:
教師成功登錄服務(wù)器端并點擊試卷打印菜單項
基本事件流:
1. 教師新建試卷,輸入試卷信息,保存時系統(tǒng)通過課程名找到對應(yīng)試卷設(shè)置信息,根據(jù)試卷設(shè)置信息隨即抽取試題生成試卷
2. 查看保存的試卷試題
3.對試卷試題添加、刪除操作
4.預(yù)覽試卷并打印
5.預(yù)覽答案并打印
其他事件流:無
異常事件流:無
后置條件:教師打印了試卷或答案
(3)管理員、教師考試管理用例:
圖3.5 考試管理用例圖
考試管理功能的用例描述如下表3.10至3.13所示:
表3.10 用例考試管理的描述
用例名稱:考試管理
參與者:管理員、教師
簡要說明:
管理員、教師用來對客戶端考試進行控制、查看學(xué)生考試時間與教師對客戶端學(xué)生考試答案批閱的用例
前置條件:
教師成功登錄服務(wù)器端并點擊考試管理菜單項
基本事件流:
1. 教師、管理員添加、修改考試安排信息,用于對客戶端學(xué)生考試進行控制
2. 教師、管理員查看考試紀(jì)事信息,包括學(xué)生在客戶端考試的開始時間、結(jié)束時間
3. 教師對學(xué)生在客戶端考試的答案進行批閱
其他事件流:無
異常事件流:無
后置條件:教師、管理員對客戶端學(xué)生考試進行控制
表3.11 用例考試安排的描述
用例名稱:考試安排
參與者:教師、管理員
簡要說明:
教師或管理員對客戶端的考試進行控制
前置條件:
教師成功登錄服務(wù)器端點擊考試管理菜單項
基本事件流:
1. 教師、管理員添加考試安排信息,包括課程、考試名、考試時長
2. 教師、管理員修改考試安排信息
其他事件流:無
異常事件流:無
后置條件:教師或管理員添加或修改了客戶端考試的信息
表3.12 用例教師評分的描述
用例名稱:教師評分
參與者:教師
簡要說明:
教師對客戶端學(xué)生的答案進行批閱
前置條件:
教師成功登錄服務(wù)器端點擊試卷管理菜單項
基本事件流:
1. 教師選擇要批閱的試卷
2. 點擊試題,顯示試題、學(xué)生答案、標(biāo)準(zhǔn)答案、試題滿分
3. 教師輸入學(xué)生的分?jǐn)?shù),保存分?jǐn)?shù)
4. 上繳試卷,提示一但上繳則不能再對該試卷批閱
其他事件流:無
異常事件流:無
后置條件:教師對學(xué)生的答案進行批閱,成績保存到數(shù)據(jù)庫
表3.13 用例考試紀(jì)事的描述
用例名稱:考試紀(jì)事
參與者:教師、管理員
簡要說明:
教師、管理員查看學(xué)生在客戶端考試的開始時間和結(jié)束時間
前置條件:
教師成功登錄服務(wù)器端點擊試卷打印菜單項,選擇已有試卷
基本事件流:
1. 教師、管理員查看所有學(xué)生的考試紀(jì)事信息
2. 教師、管理員查看某一學(xué)生的所有次考試紀(jì)事信息
其他事件流:無
異常事件流:無
后置條件:教師、管理員查看了學(xué)生考試開始時間、結(jié)束時間
由于篇幅有限在這里不將分用例圖一一描述,以上是系統(tǒng)服務(wù)器端需要實現(xiàn)的主要功能的用例圖,下面介紹系統(tǒng)客戶端主要功能的用例圖:
(4)學(xué)生考試用例圖:
圖3.6 學(xué)生考試用例圖
學(xué)生考試功能的用例描述如下表3.14至3.15所示:
表3.14 用例在線測試的描述
用例名稱:在線測試
參與者:學(xué)生
簡要說明:
學(xué)生在客戶端進行考試
前置條件:
學(xué)生成功登錄客戶端選擇考試類型后進入考試
基本事件流:
1.系統(tǒng)為學(xué)生按照考試類型所屬的課程隨機抽取試題
2.學(xué)生點擊查看試題
3.學(xué)生對每道試題作答,提交答案保存答案
4.學(xué)生點擊答完的試題,修改自己的答案,提交并保存
5.交卷,提示交卷成功的信息
其他事件流:教師、管理員在考試安排控制客戶端考試時長,在時間規(guī)定內(nèi)學(xué)生未交卷,則時間到強制交卷
異常事件流:無
后置條件:學(xué)生在客戶端進行考試
表3.15 用例自由練習(xí)的描述
用例名稱:自由練習(xí)
參與者:學(xué)生
簡要說明:
學(xué)生在客戶端進行練習(xí),練習(xí)過程中查看試題的標(biāo)準(zhǔn)答案
前置條件:
學(xué)生成功登錄客戶端選擇考試類型后進入練習(xí)
基本事件流:
1.系統(tǒng)為學(xué)生按照考試類型所屬的課程隨機抽取試題
2.學(xué)生點擊查看試題
3.學(xué)生查看該試題的標(biāo)準(zhǔn)答案
其他事件流:無
異常事件流:無
后置條件:學(xué)生在客戶端進行了練習(xí)
四、系統(tǒng)設(shè)計
(一)系統(tǒng)功能模塊設(shè)計
在系統(tǒng)規(guī)劃階段已經(jīng)簡要說明了系統(tǒng)開發(fā)更適合采用C/S模式,其一般面向相對固定的用戶群,對信息安全的控制能力很強。一般高度機密的信息系統(tǒng)采用C/S 結(jié)構(gòu)更適宜。通過以上采用面向?qū)ο蠓椒▽δ苄枨蟮姆治?,得到系統(tǒng)服務(wù)器端總體功能模塊圖如圖4.1所示。
圖4.1 系統(tǒng)服務(wù)器端總體功能模塊圖
通過采用面向?qū)ο蠓椒▽ο到y(tǒng)的分析,得到系統(tǒng)客戶端總體功能模塊圖如圖4.2所示。
圖4.2 系統(tǒng)客戶端總體功能模塊圖
(二)動態(tài)視圖分析
由于篇幅有限,這里只介紹主要功能的動態(tài)視圖,并且時序圖與協(xié)作圖、狀態(tài)圖與活動圖能夠方便轉(zhuǎn)化,那么這里只采用時序圖與活動圖進行說明:
1.服務(wù)器端教師添加單選題時序圖
圖4.3 教師添加單選題時序圖
教師使用自己的教師編號和密碼登錄系統(tǒng),在登錄時,登錄模塊會將教師的教師編號保存在系統(tǒng)的緩存中并提交給下一頁面。題庫管理中每個題型的模塊都只有教師身份才可以進入,所以登錄這一模塊同樣會驗證教師編號。進入后提交“添加單選題”命令,判斷該課程是否能夠添加試題(即是否正在考試過程中,具體流程見下面的活動圖),是則提示教師添加單選題,輸入相應(yīng)的單選題信息,提交給數(shù)據(jù)庫,顯示更新的試題庫給教師。
2.服務(wù)器端教師編輯試卷設(shè)置信息時序圖
圖4.4 教師編輯試卷設(shè)置信息時序圖
教師首先用自己的教師編號和密碼登錄系統(tǒng)。在登錄時,登錄模塊會將教師的教師編號保存在系統(tǒng)的緩存中并提交給下一頁面。進入試卷設(shè)置模塊,提交“編輯試卷設(shè)置信息”的命令,判斷該課程的試卷設(shè)置信息是否能夠修改,若可以修改要求教師編輯試卷設(shè)置信息。錄入完畢后提交信息并存入數(shù)據(jù)庫,顯示更新的試卷設(shè)置信息給教師。試卷設(shè)置信息包括該課程試卷的每種題型、題量、起始章節(jié)、結(jié)束章節(jié)、難中易題數(shù)量等,設(shè)置好這些狀態(tài)后,在試卷打印模塊打印試卷之前系統(tǒng)根據(jù)該課程的試卷設(shè)置信息采用newid()算法自動生成符合要求的試卷。
3.服務(wù)器端教師新建試卷,系統(tǒng)自動生成試卷的時序圖
圖4.5 教師新建試卷,系統(tǒng)自動生成試卷的時序圖
教師進入試卷打印管理模塊,提交新建試卷命令,系統(tǒng)提示新建試卷信息,教師輸入要新建試卷的課程名,保存試卷信息時,系統(tǒng)根據(jù)課程名找到對應(yīng)的試卷設(shè)置信息,根據(jù)試卷設(shè)置信息抽取試題,將生成的試卷顯示給教師(具體流程見活動圖)。
4.客戶端學(xué)生在線測試的時序圖
圖4.6 學(xué)生在線測試的時序圖
學(xué)生輸入學(xué)生編號和密碼登錄系統(tǒng),進入在線測試模塊,系統(tǒng)為學(xué)生通過試卷設(shè)置信息隨機抽取試題,能保證每個學(xué)生抽取不同的試題,防止相互抄襲的現(xiàn)象。學(xué)生提交查看試題、答題命令,系統(tǒng)顯示試題信息,學(xué)生輸入自己的答案。答題完畢提交交卷請求,將學(xué)生的答案、學(xué)生考試開始時間、考試結(jié)束時間存入數(shù)據(jù)庫,顯示交卷成功的信息給學(xué)生。
5.服務(wù)器端教師添加、修改試題活動圖
圖4.7 教師添加、修改試題的活動圖
教師成功進入題庫管理模塊,選擇試題類型包括5種題型:單選題、多選題、填空題、判斷題、問答題,分別對每種題型的試題進行添加、修改操作。如教師成功進入單選題管理頁面,首先確定要添加試題的課程,系統(tǒng)判斷該課程是否正在考試過程中(考試安排信息中的狀態(tài)控制該課程是否正在考試),若課程在考試過程中則彈出提示,否則可以添加單選題,修改試題的操作相同。完成對試題的操作則推出題庫管理模塊。
6.服務(wù)器端教師添加、修改試卷設(shè)置信息的活動圖
圖4.8 教師添加、修改試卷設(shè)置信息的活動圖
教師成功進入試卷設(shè)置管理模塊,選擇要添加或修改的課程,判斷其是否正在考試過程中,若不是則可以添加或修改試卷設(shè)置信息,要對輸入的信息有相應(yīng)的校驗,保存跟新的試卷設(shè)置信息后,推出試卷設(shè)置管理模塊。
7.服務(wù)器端教師試卷打印的活動圖
圖4.9 教師試卷打印的活動圖
教師成功進入試卷打印窗體,可以同時進行兩項操作:第一,新建考卷并保存,保存時系統(tǒng)根據(jù)課程的試卷設(shè)置信息將符合要求的試題從試題庫中抽取出來存入試卷試題表中;第二,選擇已保存的試卷。之后查看試卷中的試題信息,對其進行添加、刪除操作(添加操作從試題庫中添加試題,刪除的是試卷中保存的試題,并不影響試題庫),預(yù)覽試卷將保存的試卷中的試題以報表的形式預(yù)覽,預(yù)覽答案同樣以報表形式,之后使用.NET提供的報表自帶的紙張設(shè)置輸出規(guī)格,將試卷打印成紙質(zhì)試卷供傳統(tǒng)考試用。
8.服務(wù)器與客戶端考試管理學(xué)生考試的活動圖
圖4.10考試管理學(xué)生考試的活動圖
教師在服務(wù)器端對客戶端的考試進行控制包括考試的課程、考試時長等。學(xué)生在客戶端選擇考試類型,進入考試,作答,答題完畢交卷,推出客戶端。系統(tǒng)接收每個學(xué)生的答案、考試開始時間和考試結(jié)束時間,教師對學(xué)生的答案進行批閱,查看學(xué)生成績,查看學(xué)生考試的紀(jì)事信息即開始時間、結(jié)束時間。
(三)類圖的設(shè)計
類圖的設(shè)計是體現(xiàn)一個系統(tǒng)逐漸成型的標(biāo)志,也是系統(tǒng)設(shè)計中最核心的部分。在類圖中明確基本類以及它們相互之間的關(guān)系,將有助于開發(fā)者對實際系統(tǒng)的后續(xù)開發(fā)[12]。通過以上對系統(tǒng)中主要功能用例及時序圖、活動圖的分析,分析系統(tǒng)中的類的設(shè)計如下所示。
1.系統(tǒng)的三層結(jié)構(gòu)
(1)常見的三層架構(gòu)包括3部分:
表示層(用戶界面層)UI:主要實現(xiàn)和用戶的交互,接收用戶請求或返回用戶請求的數(shù)據(jù)結(jié)果的展現(xiàn) 。
業(yè)務(wù)邏輯層 BLL(Business Logic Layer):業(yè)務(wù)邏輯層承上啟下,用于對上下交互的數(shù)據(jù)進行邏輯處理,實現(xiàn)業(yè)務(wù)目標(biāo)。
數(shù)據(jù)訪問層 DAL(Data Access Layer):用于實現(xiàn)與數(shù)據(jù)庫的交互和訪問,從數(shù)據(jù)庫獲取數(shù)據(jù)或保存數(shù)據(jù)到數(shù)據(jù)庫。
(2)系統(tǒng)采用的演變的三層架構(gòu)包括5部分:
表示層(用戶界面層)UI:類庫Win存放系統(tǒng)的所有窗體類,將各種數(shù)據(jù)以頁面布局的形式顯示出來,與用戶進行交互操作。
業(yè)務(wù)邏輯層 BLL:類庫BLL存放與Model中相對應(yīng)的業(yè)務(wù)邏輯類,在數(shù)據(jù)庫訪問類DAL和模型實體類Model之間調(diào)用數(shù)據(jù),起到承上啟下的作用。
模型層 Model:類庫Model存放系統(tǒng)的實體類,將數(shù)據(jù)表里面的字段進行封裝,方便其它層對數(shù)據(jù)字段的調(diào)用,方法為get()和set()。
數(shù)據(jù)庫訪問層DAL:存放與Model中相對應(yīng)的數(shù)據(jù)庫訪問類,提供一些對數(shù)據(jù)庫的增刪改查的操作。
數(shù)據(jù)庫訪問輔助層CODE:CODE中的DbHelperSQL是數(shù)據(jù)庫存取類,將讀寫數(shù)據(jù)封裝起來,對外提供方法調(diào)用,作為DAL的輔助類。
2.系統(tǒng)中的實體類
系統(tǒng)中的實體類共有10個,分別是banji班級類,Student學(xué)生類,Teacher教師類,College學(xué)院類,Professional專業(yè)類,Course課程類,Test試題類,UserAnswer學(xué)生答案類,Paper試卷類,ExamArrangement考試安排類,每個實體類的方法都是get()與set(),這里就不做說明,如圖4.11至4.13所示。
圖4.11 實體類班級、學(xué)生、教師
圖4.12 實體類學(xué)院、專業(yè)、課程
圖4.13 實體類題庫、成績、試卷、考試安排
(1)班級(banji)的屬性有;班級號(id),班級所屬專業(yè)號(professional_id),班級所在年級(year),班級名稱(classname),班級所在層次(level)。
(2)學(xué)生(Student)的屬性有:學(xué)生號(id),學(xué)生所在班級號(class_id),學(xué)生學(xué)號(studentno),學(xué)生姓名(name),學(xué)生登錄密碼(pwd)。
(3)教師(Teacher)的屬性有:教師號(id),教師所在學(xué)院(college_id),教師姓名(name),教師登錄密碼(pwd)。
(4)學(xué)院(College)的屬性有:學(xué)院號(id),學(xué)院名稱(collegename)。
(5)專業(yè)(Professional)的屬性有:專業(yè)號(id),專業(yè)所在學(xué)院(college_id),專業(yè)姓名(professionalname)。
(6)課程(Course)的屬性有:課程號(id),課程名(name),專業(yè)號(profession_id),課程所在年份(year),課程所在學(xué)期(term)。
(7)試題(Test)的屬性有:試題號(id),試題的類型(Type),試題所屬的課程號(course_id),試題的題目(Title),選項A的內(nèi)容(AnswerA),選項B的內(nèi)容(AnswerB),選項C的內(nèi)容(AnswerC),選項D的內(nèi)容(AnswerD),試題答案(Answer),試題所屬的章節(jié)(Sszj),試題難度系數(shù)(Ndxs)。
(8)試卷(Paper)的屬性有:試卷號(paperid),試卷名稱(paperName)。
(9)成績(UserAnswer)的屬性有:編號(id),學(xué)生學(xué)號(student_id),考試安排號(exam_id),試題編號(test_id),該試題滿分(score),學(xué)生在客戶端所作的答案(UserAnswer),教師批閱學(xué)生答案得分(ExamMark),考試開始時間(begintime),考試結(jié)束時間(endtime),試題批閱狀態(tài) (flag)。
(10)考試安排(ExamArrangement)的屬性有:編號(id),課程號(course_id),考試類型(kaoshileixing),考試狀態(tài)(state)控制客戶端的學(xué)生是否可以參加該次考試。
3.系統(tǒng)中的控制類
業(yè)務(wù)邏輯層BLL中的每一個類在模型層Model和數(shù)據(jù)庫訪問層DAL中都有與之相對應(yīng)的類,由于論文篇幅原因,下面以班級(banji)類為例簡述系統(tǒng)中的控制類的調(diào)用關(guān)系。
圖4.14 班級(banji)控制類
圖中BLL中的banji類是處理的各種業(yè)務(wù)邏輯方法的類,內(nèi)部實例化了數(shù)據(jù)庫訪問層DAL中的banji類對象和模型層Model中的banji類,其每個方法的作用是調(diào)用Model中的banji類對象,將處理結(jié)果返回給DAL中banji類對象。同時在DAL的banji類方法中調(diào)用數(shù)據(jù)庫訪問輔助層CODE中DbHelperSQL.cs的內(nèi)部方法進行數(shù)據(jù)庫操作。BLL中banji類方法作用:
Exists( ):判斷是否存在記錄時傳遞對象
Add( ):增加一條新記錄時傳遞對象
Update( ):更新一條紀(jì)錄時傳遞對象
Delete( ):刪除一條記錄時傳遞對象
GetModel( ):得到一個對象實體時傳遞對象
GetList( ):獲取數(shù)據(jù)列表時傳遞對象
(四)數(shù)據(jù)庫的設(shè)計