王益斌, 黃加亮
(1.集美大學(xué) 輪機(jī)工程學(xué)院,福建 廈門 361021; 2.福建省船舶與海洋工程重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021 )
海船船員考證網(wǎng)絡(luò)在線平臺(tái)軟件的開發(fā)
王益斌1,2, 黃加亮1,2
(1.集美大學(xué) 輪機(jī)工程學(xué)院,福建 廈門 361021; 2.福建省船舶與海洋工程重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021 )
基于B/S環(huán)境,以ASP技術(shù)和ADO技術(shù)為核心,以SQL為后臺(tái)數(shù)據(jù)庫,綜合運(yùn)用HTML,CSS和JAVASCRIPT等網(wǎng)頁設(shè)計(jì)技術(shù),并借助Borland Delphi開發(fā)工具,結(jié)合DES加密技術(shù)對題庫進(jìn)行加密,實(shí)現(xiàn)一套可針對不同專業(yè)定義多種題型,采用文字、聲音、圖像及動(dòng)畫等形式呈現(xiàn)試題信息,傳遞試題內(nèi)容的考試軟件系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)過程中對Web網(wǎng)絡(luò)環(huán)境下在線考試系統(tǒng)的組成、運(yùn)行機(jī)制、可應(yīng)用技術(shù)和具體實(shí)現(xiàn)進(jìn)行深入分析,全面闡述整個(gè)系統(tǒng)的開發(fā)原理、總體規(guī)劃、設(shè)計(jì)思想及關(guān)鍵模塊的實(shí)現(xiàn)細(xì)節(jié)。對題庫系統(tǒng)的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、組卷策略設(shè)計(jì)和組卷算法設(shè)計(jì)等關(guān)鍵問題進(jìn)行詳細(xì)的分析與闡述,確保該系統(tǒng)的安全性、科學(xué)性和公平性。該系統(tǒng)的功能主要包括題庫管理、考生信息管理、組卷管理、試卷管理、在線考試、自動(dòng)評閱和成績查詢等核心功能及其他輔助功能。
船舶工程;海船船員考證;在線訓(xùn)練;題庫加密;客戶機(jī)/服務(wù)器
Abstract: Relying on SQL SERVER database, a system is built on B/S environment and is developed on the basis of ASP and ADO, combined with HTML, CSS, and JAVASCRIPT. The system is developed by means of Borland Delphi development tools with DES encryption technology to encrypt data bank. The system allows teachers, via the Web, to set examination questions, present and transmit the examination questions via multimedia, such as texts, sounds, pictures, images and animations. The components, the working mechanisms, the applicable technologies and the process of developing this system are carefully analyzed and the principles and theories of the system, the general plan, and the steps of developing the key modules are explained. To ensure the security, justification and fairness of the examination, the design of the basic data structure and the strategies of making up tests are also analyzed and explained in detail. The system features the following functions: managing the examination question banks, processing students’information, making-up of tests, managing examination, online testing, automatic scoring, and score delivery and some other auxiliary functions.
Keywords: ship engineering; national seafarer’s certificates; on-line training; encrypting examination question bank; Client/Server
自1991年教育部制訂《面向21世紀(jì)教育振興行動(dòng)計(jì)劃》并正式提出“實(shí)施現(xiàn)代遠(yuǎn)程教育工程”的發(fā)展目標(biāo)以來,學(xué)生可通過網(wǎng)絡(luò)平臺(tái)自主學(xué)習(xí)、自我測試和自我評價(jià),隨時(shí)隨地進(jìn)行課程結(jié)業(yè)考試;教師可通過平臺(tái)反饋的統(tǒng)計(jì)數(shù)據(jù),集合現(xiàn)代考試?yán)碚摗⒎椒ê同F(xiàn)代信息技術(shù)手段的智能化網(wǎng)上考試系統(tǒng),為學(xué)生個(gè)性化學(xué)習(xí)提供靈活、方便、科學(xué)、公平的“個(gè)別化考試服務(wù)”終結(jié)性評價(jià)系統(tǒng)。[1-2]目前國家海事局每年都會(huì)組織船員適任證書考試,涉及不同專業(yè)、不同類別、不同等級的船員,每次考試都會(huì)耗費(fèi)大量人力和物力。因此,全國海船船員適任證書考試應(yīng)實(shí)現(xiàn)在線考試。為適應(yīng)無紙化考試[3-5],自主開發(fā)全國船員考證訓(xùn)練系統(tǒng),將全部考題設(shè)置為選擇題(有些含有圖片)。該系統(tǒng)收錄有船員考證所需的18門課程共計(jì)42 000多題,可供不同專業(yè)、不同類別、不同等級的船員訓(xùn)練及模擬考試使用。
全國船員考試訓(xùn)練系統(tǒng)是基于Web環(huán)境的適用于不同專業(yè)、不同類別、不同等級船員的在線考試與訓(xùn)練系統(tǒng)。考生可通過該系統(tǒng)的前臺(tái)界面在規(guī)定的時(shí)間內(nèi)參與指定課程的考試并進(jìn)行歷次考試記錄的分析;各級管理員則可通過該系統(tǒng)的后臺(tái)管理界面進(jìn)行登陸,并根據(jù)自身的權(quán)限級別進(jìn)行課程維護(hù)、試題維護(hù)、試卷維護(hù)、試卷分析及成績查詢等操作。該系統(tǒng)具有使用方便、管理靈活和安全可靠等優(yōu)點(diǎn)。
該系統(tǒng)的設(shè)計(jì)采用Browser/Web模式實(shí)現(xiàn)。服務(wù)器端采用SQL Server數(shù)據(jù)庫系統(tǒng)和ASP組件構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng)[6-7];客戶端通過瀏覽器完成考試;同時(shí),可進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。
1.1系統(tǒng)功能結(jié)構(gòu)圖
根據(jù)現(xiàn)場考試環(huán)境,船員考證訓(xùn)練平臺(tái)分為系統(tǒng)管理和在線考試或自由練習(xí)兩大模塊。對系統(tǒng)進(jìn)行后臺(tái)管理是該系統(tǒng)的主要技術(shù)部分,后臺(tái)管理系統(tǒng)功能示意見圖1。
圖1 后臺(tái)管理系統(tǒng)功能示意
1.2系統(tǒng)數(shù)據(jù)流圖
對每道試題的答案、題干和選項(xiàng)進(jìn)行反復(fù)核對,形成相對完整的題庫。為避免題庫被導(dǎo)出,對試題的題干部分進(jìn)行加密處理。題庫管理模塊的功能結(jié)構(gòu)見圖2~圖6。
1.3系統(tǒng)中全部數(shù)據(jù)表的設(shè)計(jì)
在線考試系統(tǒng)設(shè)計(jì)中數(shù)據(jù)庫的設(shè)計(jì)非常關(guān)鍵,主要難點(diǎn)集中在題庫的存儲(chǔ)方式、生成試卷的存儲(chǔ)方式和考生答卷的存儲(chǔ)方式等方面。該系統(tǒng)采用SQL SERVER 2000作為后臺(tái)數(shù)據(jù)庫環(huán)境,在安裝完SQL SERVER后,首先在數(shù)據(jù)庫中建立一個(gè)數(shù)據(jù)庫并將其命名為Exam,同時(shí)建立一個(gè)test。用戶設(shè)置好登錄密碼test111并賦予其管理Exam數(shù)據(jù)庫的全部權(quán)限。由此,只有結(jié)合test賬戶和密碼才能登錄管理Exam數(shù)據(jù)庫。在該系統(tǒng)的Exam數(shù)據(jù)庫中定義以下基本數(shù)據(jù)表結(jié)構(gòu)。[4]
圖2 船員考證訓(xùn)練平臺(tái)功能結(jié)構(gòu)框圖
圖3 功能結(jié)構(gòu)子圖
圖4 頂層數(shù)據(jù)流圖
圖5 二級數(shù)據(jù)流圖
1) 試題表(Tb_Exam):用來存放試題,是該系統(tǒng)中最關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)。該表在設(shè)計(jì)上充分考慮不同等級之間的差異性、不同題型的兼容性及試題中包含的圖片題。為便于對試題被選次數(shù)、對錯(cuò)情況等進(jìn)行統(tǒng)計(jì),在該表中設(shè)計(jì)一些字段(見表1)。
2) 記錄正在考試的情況表(Tb_Examing):只是臨時(shí)記錄正在考試學(xué)生的測試情況。當(dāng)學(xué)生測試完畢并提交試卷后,該表中的數(shù)據(jù)將被自動(dòng)清空。因此,根據(jù)該表即可判斷學(xué)生是否已登陸考試。若學(xué)生有登陸考試,且未提交試卷就離開考場,管理員應(yīng)在考試結(jié)束后于后臺(tái)點(diǎn)擊“清理考試信息”對該表數(shù)據(jù)進(jìn)行人工清理,否則會(huì)影響未交卷學(xué)生下次的考試(見表2)。
表1 Tb_Exam表字段說明
3) 學(xué)生信息記錄表(Tb Students):用來記錄學(xué)生的基本信息,如姓名、性別、密碼、學(xué)院、專業(yè)及證件號等。在批量導(dǎo)入學(xué)生信息時(shí),系統(tǒng)自動(dòng)默認(rèn)學(xué)生的證件號為密碼,并用MD5對其進(jìn)行加密;若需更改密碼,可通過學(xué)生信息修改欄完成。
表2 Tb_Examing字段
4) 管理員記錄表(Tb_Managers):用來記錄管理員和教師的信息及其登錄信息。
5) 管理員類型表(Tb_MgrType):用來判斷是系統(tǒng)管理員還是教師(見表3)。
表3 Tb_MgrType字段
6) 測試類別表(Tb_ExamType):用來判斷是考試還是自由練習(xí)(見表4)。
表4 Tb_ExamType字段
7) 學(xué)生類別表(Tb_EaxmLevel):用來判斷學(xué)生是哪個(gè)類別的學(xué)生。
8) 題目類型表(Tb_Titletype):用來判斷試題是單選題、多選題還是判斷題(見表5)。
9)試題類別考試表(Tb_TitleLevel):用來判斷試題是適合輪機(jī)長考試還是大管輪等(見表6)。
10) 試卷、分?jǐn)?shù)的記錄表(Tb_Scores):用來記錄學(xué)生的測試情況,即可保存學(xué)生測試的試卷、分?jǐn)?shù),還原考試試卷、統(tǒng)計(jì)分?jǐn)?shù)及試卷分析等。
表5 Tb_Titletype字段
表6 Tb_TitleLevel字段
11) 試卷設(shè)置表(Tb_Setting):用來記錄設(shè)置試卷時(shí)的信息,包括參加考試的學(xué)院、班級、科目、各章節(jié)所要考試的題數(shù)、登錄時(shí)間及考試時(shí)長等,是標(biāo)準(zhǔn)組卷策略配置表。該系統(tǒng)實(shí)現(xiàn)的標(biāo)準(zhǔn)組卷模式不僅能提供詳盡的組卷控制細(xì)節(jié),還能保證組卷的質(zhì)量。
12) 每套試卷的分析表(Tb_Analyse):用來記錄每套試卷學(xué)生的答題情況,如選A的數(shù)量、選B的數(shù)量、選C的數(shù)量及選D的數(shù)量等,可分析和統(tǒng)計(jì)每份試卷的答題情況(見表7)。
表7 Tb_Analyse表字段說明
2.1系統(tǒng)的網(wǎng)絡(luò)頁面介紹
根據(jù)系統(tǒng)總體設(shè)計(jì),首先要有一個(gè)登錄界面,考生從該界面登錄進(jìn)行考試,管理人員則從該界面登陸進(jìn)行相應(yīng)的管理(見圖7)。
考生登錄系統(tǒng)后,進(jìn)入試卷選擇界面,選擇參加正式考試或自由練習(xí)(模擬考試)。若是自由練習(xí),則在設(shè)置好科目章節(jié)之后,系統(tǒng)自動(dòng)進(jìn)入計(jì)算機(jī)組卷過程,并將生成的試卷顯示在考生客戶端上,考試計(jì)時(shí)開始,考生進(jìn)行在線答題??忌痤}完畢并提交試卷之后,由計(jì)算機(jī)自動(dòng)對試卷進(jìn)行評判并將成績記入到考生信息數(shù)據(jù)庫中,學(xué)生可查看自己每次測試的記錄。該過程用到的數(shù)據(jù)表有:Tb_Students,Tb_Setting,Tb_Scores,Tb_Titletype,Tb_Exam和Tb_Examing(見圖8)。
圖7 系統(tǒng)登陸界面
圖8 學(xué)生信息界面
學(xué)生登錄后,點(diǎn)擊“試卷設(shè)置”按鈕,根據(jù)需要進(jìn)行試卷設(shè)置(見圖9)。
圖9 試卷設(shè)置界面
2.2用DES算法給題干部分加密
數(shù)據(jù)加密算法(Data Encryption Standard, DES)有Key,Data和Mode等3個(gè)入口參數(shù),其中:Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰;Data為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES工作方式,有加密和解密2種。DES算法將64位的明文輸入塊變?yōu)?4位的密文輸出塊,所使用的密鑰也是64位。該算法主要分為初始置換和逆置換2步。
1) 初始置換:其功能是將輸入的64位數(shù)據(jù)塊按位重新組合,并將輸出分為L0和R0兩部分,每部分長32位,其置換規(guī)則為輸入的第58位換到第1位,第50位換到第2位……依此類推,最后一位是原來的第7位。L0和R0是換位輸出后的部分,其中,L0輸出的是左32位,R0輸出的是右32位。例如,若設(shè)置換前的輸入值為D1D2D3…D64,則經(jīng)過初始置換后的結(jié)果為:L0=D58D50…D8;R0=D57D49…D7。
2) 逆置換:經(jīng)過16次迭代運(yùn)算后,得到L16和R16,將其作為輸入進(jìn)行逆置換(逆置換為初始置換的逆運(yùn)算),由此即可得到密文輸出。
該系統(tǒng)采用Borland Delphi編程語言實(shí)現(xiàn)DES算法的加密和解密,即系統(tǒng)在導(dǎo)入數(shù)據(jù)時(shí)使用Delphi語言編程,用DES加密個(gè)別重要字段(題干字段)。在DES解密時(shí),該系統(tǒng)采用Delphi語言解密重要字段,生成ActiveX DLL文件供ASP(Active Server Pages)調(diào)用,從而恢復(fù)原來的加密內(nèi)容。
加密后生成的Crypt.dll即可供ASP調(diào)用,這樣在涉及試題題干顯示時(shí)就可通過以下語句調(diào)用。
1)加密試題題干代碼為
Set CryptObj=Server. CreateObject ("Crypt. CryptObj")
CryptObj. CryptStr=replace(trim(request("title")),"'","")
Rs("Title")=CryptObj. CryptStr
2)解密試題題干代碼為
SetCryptObj=Server. CreateObject("Crypt.CryptObj")
CryptObj. DeCryptStr = rs("Title")
Response.Write CryptObj.DeCryptStr讀加密狗中的密鑰,若其與封裝在Crypt.dll中的密鑰一致,即可將題干解密出來并正常顯示。
1) 該系統(tǒng)支持不同專業(yè)、不同類別及不同等級海船船員的考證訓(xùn)練要求,采用導(dǎo)航式界面,引導(dǎo)用戶按照優(yōu)化的流程進(jìn)行操作。
2) 該系統(tǒng)能成功地按照組卷策略生成試卷、穩(wěn)定地進(jìn)行在線考試、成功地回收考試數(shù)據(jù)及自動(dòng)評閱題目等,在技術(shù)上應(yīng)用目前流行的 ASP動(dòng)態(tài)服務(wù)器網(wǎng)頁開發(fā)模型和功能強(qiáng)大的SQL SERVER 2000大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),采用B/S(Browser/Server)體系結(jié)構(gòu);其人機(jī)交互簡單、直觀,系統(tǒng)開放性好,用戶通過 Internet 或局域網(wǎng)即可訪問數(shù)據(jù)庫。
3) 該系統(tǒng)采用 SQL SERVER 2000 大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),利用其強(qiáng)大的存儲(chǔ)、管理和查詢功能,保證數(shù)據(jù)庫系統(tǒng)的可靠性。
4) 應(yīng)用DES算法加密技術(shù),既可保護(hù)知識(shí)產(chǎn)權(quán),又能為該系統(tǒng)的商業(yè)推廣提供安全保障。系統(tǒng)管理員可通過系統(tǒng)管理模塊設(shè)定用戶的操作權(quán)限,使系統(tǒng)安全、可靠。
[1] 黃建成. 醫(yī)學(xué)人機(jī)對話考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 中國教育信息化, 2014(11):83-85.
[2] 謝景偉. 機(jī)動(dòng)車駕駛員(理論)考試系統(tǒng)設(shè)計(jì)[J]. 數(shù)字技術(shù)與應(yīng)用, 2012(1): 121.
[3] 王海政. 試析無紙化衛(wèi)生專業(yè)技術(shù)資格考試新模式[J]. 電腦編程技巧與維護(hù), 2011(14): 55-56.
[4] 林菱. 無紙化考試系統(tǒng)在職業(yè)鑒定考試中的應(yīng)用及成效[J]. 科技傳播, 2016,8(5): 114.
[5] 施劍凡. 高校無紙化考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 科技視界, 2013(26): 363.
[6] 丁革媛, 宋揚(yáng), 袁中臣, 等. 利用SQL Server存儲(chǔ)過程提高在線考試系統(tǒng)的性能[J]. 微型機(jī)與應(yīng)用, 2011,30(22): 7-9.
[7] 胡配祥, 張成叔, 陳良敏. SQL臨時(shí)表在科研管理系統(tǒng)數(shù)據(jù)處理中的應(yīng)用[J]. 洛陽理工學(xué)院學(xué)報(bào)(自然科學(xué)版), 2011,21(2): 45-48.
[8] 周納. ASP 動(dòng)態(tài)網(wǎng)站編程與應(yīng)用[M]. 北京: 清華大學(xué)出版社, 2005:88-89.
DevelopmentandApplicationofOn-LinePlatformforSeafarerTraining
WANGYibin1,2,HUANGJialiang1,2
(1. Marine Engineering Institute, Jimei University, Xiamen 361021, China; 2. Fujian Provincial Key Laboratory of Naval Architecture and Ocean Engineering, Xiamen 361021, China)
TP391.6; U676.2
A
2016-11-15
福建省自然科學(xué)基金(2012J01230)
王益斌 (1978—), 男, 江西樟樹人,實(shí)驗(yàn)師,碩士,從事航海類軟件與系統(tǒng)的開發(fā)研究。E-mail: cy8366@163.com
1000-4653(2017)01-0088-05