喬陽陽 張艷敏 鄭州工商學(xué)院機械與電信工程學(xué)院
引言:隨著互聯(lián)網(wǎng)技術(shù)的深度應(yīng)用,WEB系統(tǒng)在各個領(lǐng)域應(yīng)用的都非常廣泛。之前在駕??荚囅到y(tǒng)多為C/S結(jié)構(gòu)的考試系統(tǒng),這種考試系統(tǒng)使用起來必須進行安裝而且更新起來很不方便,為了解決不同的客戶端硬件環(huán)境不同的問題,文章在此設(shè)計開發(fā)一種B/S模式的在線考試系統(tǒng),只需要通過瀏覽器就可以隨時隨地的使用操作該在線考試系統(tǒng)。
本文采用ASP.NET開發(fā)環(huán)境,使用C#后臺語言,SQL Server2008數(shù)據(jù)庫進行系統(tǒng)的開發(fā),主要實現(xiàn)了以下功能分別為權(quán)限管理,試題信息管理,章節(jié)信息管理,個人資料管理,記錄管理和用戶管理。用戶可以在線練習(xí)和在線考試,還能對自己的錯誤題管理。
系統(tǒng)采用.NET平臺技術(shù)已經(jīng)相當(dāng)成熟,使用的C#語言操作過相似的系統(tǒng),而且系統(tǒng)調(diào)研所遇到的技術(shù)問題沒有難點。使用的數(shù)據(jù)庫也是中小型企業(yè)當(dāng)中經(jīng)常使用的數(shù)據(jù)庫,項目的開發(fā)系統(tǒng)平臺是在Windows之上,開發(fā)人員平臺開發(fā)工具都非常熟悉,所以技術(shù)方面是沒有問題的。
操作簡單的系統(tǒng)界面,能夠廣泛應(yīng)用于各個平臺環(huán)境,系統(tǒng)需求分析的基本功能實現(xiàn)都要實現(xiàn),用戶的訪問效率要合理,系統(tǒng)數(shù)據(jù)安全訪問。
系統(tǒng)采用B/S架構(gòu),客戶端只需要瀏覽器就可以使用該系統(tǒng),不需要再更新系統(tǒng)軟件,后臺代碼部署再服務(wù)器端,方便軟件的升級和維護。系統(tǒng)采用了ASP.NET經(jīng)典的MVC模式,前臺展示、業(yè)務(wù)邏輯和數(shù)據(jù)處理相互分離,方便不同開發(fā)人員的操作。前臺展示層主要是通過瀏覽器進行展現(xiàn),主要是采用HTML和動態(tài)交互界面ASPX向服務(wù)器發(fā)送請求和對后臺處理的數(shù)據(jù)進行表示。業(yè)務(wù)邏輯層主要是起到了承上啟下的作用, 主要是將前臺界面請求的數(shù)據(jù)進行處理然后將結(jié)果反饋給數(shù)據(jù)處理層。業(yè)務(wù)邏輯層的主要作用就是將數(shù)據(jù)展示與數(shù)據(jù)處理進行隔離,這樣網(wǎng)站數(shù)據(jù)更安全,而且代碼耦合度會降低很多,便于團隊合作開發(fā)。數(shù)據(jù)處理層就是實現(xiàn)對數(shù)據(jù)庫的“增刪改查”功能,將數(shù)據(jù)訪問方法進行抽象歸納。
系統(tǒng)功能根據(jù)前期調(diào)研,將使用系統(tǒng)的用戶分為管理員和普通用戶兩類。管理員用戶可以對普通用戶進行添加、修改和刪除,并且負(fù)責(zé)題庫的維護工作。普通用戶使用該系統(tǒng)首先要進行注冊,登陸成功之后可以進行在線答題,還可以針對自己的錯題集進行反復(fù)練習(xí)。系統(tǒng)整體功能模塊如下:
圖1 系統(tǒng)模塊分析
用戶注冊的時候只能夠注冊成為普通用戶,管理用戶是系統(tǒng)進行分配的。系統(tǒng)為了方便每位學(xué)員對考試題目的鞏固,在線考試系統(tǒng)會記錄每位學(xué)習(xí)的學(xué)習(xí)記錄,分別記錄學(xué)生每次考試的歷史成績和每次測試做錯的題目。這樣學(xué)員就可以根據(jù)之前的考試記錄做一個考試總結(jié),而且有針對性的復(fù)習(xí)使自己考試通過率會更高一些。而且針對學(xué)習(xí)的每個章節(jié)內(nèi)容,系統(tǒng)會做一個簡單的測試,鞏固已有的學(xué)習(xí)內(nèi)容。管理員用戶可以實現(xiàn)對用戶的管理,主要是添加刪除用戶,可以修改章節(jié)內(nèi)容,最重要的是可以對試題內(nèi)容進行更改。
1.4.1 普通用戶功能的詳細(xì)設(shè)計
(1)章節(jié)練習(xí)。用戶可以針對每一部分章節(jié)內(nèi)容可以進行相應(yīng)的習(xí)題練習(xí),達(dá)到鞏固章節(jié)學(xué)習(xí)的目的,分步強化學(xué)習(xí)效果。
(2)模擬考試。每個章節(jié)內(nèi)容學(xué)習(xí)完成之后可以對整個學(xué)習(xí)內(nèi)容進行多次模擬考試練習(xí),對所有的知識內(nèi)容再進行回顧練習(xí),而且模擬考試時間與真實的考試時間和題型一致,也達(dá)到了熟悉考試流程的目的。
(3)錯題集。每次模擬考試都會有知識點不確定的題目,將測試錯誤的題目再做匯總查看,幫助學(xué)員查缺補漏。
1.4.2 管理用戶功能的詳細(xì)設(shè)計
(1)試題管理。管理員可以對試題進行管理,添加修改刪除題目類型,針對題目的分類添加或刪除相應(yīng)的題目。
(2)記錄管理。查看用戶每次考試的成績。
(3)用戶管理??梢詫ο到y(tǒng)普通用戶進行查詢和刪除操作,還可以對管理用戶進行添加刪除操作。
系統(tǒng)采用SQLServer數(shù)據(jù)庫進行存儲,數(shù)據(jù)庫表的設(shè)計需要根據(jù)之前對業(yè)務(wù)需求和模塊設(shè)計進行抽象分析,數(shù)據(jù)庫設(shè)計當(dāng)中首先要設(shè)計出數(shù)據(jù)庫的ER圖,然后確定表與表之間的關(guān)系。數(shù)據(jù)庫表分別為管理員表(dbo.admin),存儲管理員相關(guān)信息;普通用戶表(dbo.users),存儲普通用戶相關(guān)屬性;章節(jié)信息表(dbo.charpter),存儲題庫章節(jié)詳細(xì)信息;試題表(dbo.questions),存儲選擇題相關(guān)信息;成績記錄表(scores),存儲所有學(xué)生答題成績信息;錯題集(dbo.mistakes),存儲每個學(xué)生錯誤的題目。
進入考試系統(tǒng)需要進行登錄,分角色進入考試系統(tǒng),不同角色所開放頁面的權(quán)限是不同的,如果是普通用戶第一次登錄,需要進行注冊,注冊成功之后就能夠登錄。普通用戶注冊需要輸入用戶名、密碼、聯(lián)系方式、郵箱等信息,還可以上傳頭像。注冊完成再次登錄之后就可以進入到系統(tǒng)的主界面了。
管理員可以在此部分管理章節(jié)和試題相關(guān)信息。在章節(jié)管理部分可以添加刪除相應(yīng)的試題章節(jié)信息,并且添加刪除相應(yīng)的題目類別。在試題管理部分可以操作相應(yīng)的試題題目,比如說,添加選擇題,需要添加試題題目,試題選項,試題答案,試題章節(jié)。添加完成之后用戶就可以進行登錄測試。
在此部分用戶可以查看刪除自己的測試記錄,并且可以操作自己的錯題集。針對錯題集部分如果錯題再次回答正確,那么錯題集當(dāng)中將不再顯示該錯題,如果再次答錯還將顯示,也可以將錯題進行手動刪除。
根據(jù)前期的需求分析和模塊設(shè)計要求,將代碼進行實現(xiàn),對系統(tǒng)功能完成情況和性能情況進行測試,系統(tǒng)基本上完成了需求中提出的功能要求,針對管理員用戶的功能對試題添加需要再做進一步優(yōu)化,現(xiàn)在是需要對每道題目單獨進行添加,如果能夠?qū)υ囶}進行批量添加更能加快系統(tǒng)的操作效率。系統(tǒng)在局域網(wǎng)中進行測試用戶的并發(fā)連接和頁面的相應(yīng)速率基本符合系統(tǒng)要求,針對系統(tǒng)UI的整體設(shè)計還需進一步優(yōu)化。系統(tǒng)完成了總體設(shè)計目標(biāo)。
相對于之前的C/S結(jié)構(gòu)的駕??荚囅到y(tǒng),文章提出了一種基于B/S模式的在線駕??荚囅到y(tǒng)設(shè)計與實現(xiàn)方案,系統(tǒng)特點如下:
(1)項目是采用ASP.NET的MVC模式進行開發(fā)的,將系統(tǒng)展示與后臺業(yè)務(wù)邏輯進行分離,使項目耦合度低,團隊開發(fā)更容易。
(2)考試系統(tǒng)只需通過瀏覽器就可以進行測試答題,大大降低了客戶端的硬件要求標(biāo)準(zhǔn),而且適用面更加廣泛。
(3)對題目測試分別可以從試題庫和章節(jié)維度進行測試,這樣學(xué)員學(xué)習(xí)反饋機制更加豐富,更能夠鞏固掌握已有的知識,而且管理員可以自主設(shè)置題目,對系統(tǒng)使用的靈活度大大增加。
(4)可以查看自己測試記錄成績而且可以有配套的錯題集進行復(fù)習(xí),能夠更有針對性的復(fù)習(xí)章節(jié)知識內(nèi)容,大大提升了學(xué)生的學(xué)習(xí)主動能力。