王益斌, 黃加亮
(1.集美大學 輪機工程學院,福建 廈門 361021; 2.福建省船舶與海洋工程重點實驗室,福建 廈門 361021 )
海船船員考證網絡在線平臺軟件的開發
王益斌1,2, 黃加亮1,2
(1.集美大學 輪機工程學院,福建 廈門 361021; 2.福建省船舶與海洋工程重點實驗室,福建 廈門 361021 )
基于B/S環境,以ASP技術和ADO技術為核心,以SQL為后臺數據庫,綜合運用HTML,CSS和JAVASCRIPT等網頁設計技術,并借助Borland Delphi開發工具,結合DES加密技術對題庫進行加密,實現一套可針對不同專業定義多種題型,采用文字、聲音、圖像及動畫等形式呈現試題信息,傳遞試題內容的考試軟件系統。該系統實現過程中對Web網絡環境下在線考試系統的組成、運行機制、可應用技術和具體實現進行深入分析,全面闡述整個系統的開發原理、總體規劃、設計思想及關鍵模塊的實現細節。對題庫系統的基礎數據結構設計、組卷策略設計和組卷算法設計等關鍵問題進行詳細的分析與闡述,確保該系統的安全性、科學性和公平性。該系統的功能主要包括題庫管理、考生信息管理、組卷管理、試卷管理、在線考試、自動評閱和成績查詢等核心功能及其他輔助功能。
船舶工程;海船船員考證;在線訓練;題庫加密;客戶機/服務器
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世紀教育振興行動計劃》并正式提出“實施現代遠程教育工程”的發展目標以來,學生可通過網絡平臺自主學習、自我測試和自我評價,隨時隨地進行課程結業考試;教師可通過平臺反饋的統計數據,集合現代考試理論、方法和現代信息技術手段的智能化網上考試系統,為學生個性化學習提供靈活、方便、科學、公平的“個別化考試服務”終結性評價系統。[1-2]目前國家海事局每年都會組織船員適任證書考試,涉及不同專業、不同類別、不同等級的船員,每次考試都會耗費大量人力和物力。因此,全國海船船員適任證書考試應實現在線考試。為適應無紙化考試[3-5],自主開發全國船員考證訓練系統,將全部考題設置為選擇題(有些含有圖片)。該系統收錄有船員考證所需的18門課程共計42 000多題,可供不同專業、不同類別、不同等級的船員訓練及模擬考試使用。
全國船員考試訓練系統是基于Web環境的適用于不同專業、不同類別、不同等級船員的在線考試與訓練系統。考生可通過該系統的前臺界面在規定的時間內參與指定課程的考試并進行歷次考試記錄的分析;各級管理員則可通過該系統的后臺管理界面進行登陸,并根據自身的權限級別進行課程維護、試題維護、試卷維護、試卷分析及成績查詢等操作。該系統具有使用方便、管理靈活和安全可靠等優點。
該系統的設計采用Browser/Web模式實現。服務器端采用SQL Server數據庫系統和ASP組件構成考試的應用服務系統[6-7];客戶端通過瀏覽器完成考試;同時,可進行遠程系統維護和管理。
1.1系統功能結構圖
根據現場考試環境,船員考證訓練平臺分為系統管理和在線考試或自由練習兩大模塊。對系統進行后臺管理是該系統的主要技術部分,后臺管理系統功能示意見圖1。

圖1 后臺管理系統功能示意
1.2系統數據流圖
對每道試題的答案、題干和選項進行反復核對,形成相對完整的題庫。為避免題庫被導出,對試題的題干部分進行加密處理。題庫管理模塊的功能結構見圖2~圖6。
1.3系統中全部數據表的設計
在線考試系統設計中數據庫的設計非常關鍵,主要難點集中在題庫的存儲方式、生成試卷的存儲方式和考生答卷的存儲方式等方面。該系統采用SQL SERVER 2000作為后臺數據庫環境,在安裝完SQL SERVER后,首先在數據庫中建立一個數據庫并將其命名為Exam,同時建立一個test。用戶設置好登錄密碼test111并賦予其管理Exam數據庫的全部權限。由此,只有結合test賬戶和密碼才能登錄管理Exam數據庫。在該系統的Exam數據庫中定義以下基本數據表結構。[4]

圖2 船員考證訓練平臺功能結構框圖

圖3 功能結構子圖

圖4 頂層數據流圖

圖5 二級數據流圖

1) 試題表(Tb_Exam):用來存放試題,是該系統中最關鍵的數據結構。該表在設計上充分考慮不同等級之間的差異性、不同題型的兼容性及試題中包含的圖片題。為便于對試題被選次數、對錯情況等進行統計,在該表中設計一些字段(見表1)。
2) 記錄正在考試的情況表(Tb_Examing):只是臨時記錄正在考試學生的測試情況。當學生測試完畢并提交試卷后,該表中的數據將被自動清空。因此,根據該表即可判斷學生是否已登陸考試。若學生有登陸考試,且未提交試卷就離開考場,管理員應在考試結束后于后臺點擊“清理考試信息”對該表數據進行人工清理,否則會影響未交卷學生下次的考試(見表2)。

表1 Tb_Exam表字段說明
3) 學生信息記錄表(Tb Students):用來記錄學生的基本信息,如姓名、性別、密碼、學院、專業及證件號等。在批量導入學生信息時,系統自動默認學生的證件號為密碼,并用MD5對其進行加密;若需更改密碼,可通過學生信息修改欄完成。

表2 Tb_Examing字段
4) 管理員記錄表(Tb_Managers):用來記錄管理員和教師的信息及其登錄信息。
5) 管理員類型表(Tb_MgrType):用來判斷是系統管理員還是教師(見表3)。

表3 Tb_MgrType字段
6) 測試類別表(Tb_ExamType):用來判斷是考試還是自由練習(見表4)。

表4 Tb_ExamType字段
7) 學生類別表(Tb_EaxmLevel):用來判斷學生是哪個類別的學生。
8) 題目類型表(Tb_Titletype):用來判斷試題是單選題、多選題還是判斷題(見表5)。
9)試題類別考試表(Tb_TitleLevel):用來判斷試題是適合輪機長考試還是大管輪等(見表6)。
10) 試卷、分數的記錄表(Tb_Scores):用來記錄學生的測試情況,即可保存學生測試的試卷、分數,還原考試試卷、統計分數及試卷分析等。

表5 Tb_Titletype字段

表6 Tb_TitleLevel字段
11) 試卷設置表(Tb_Setting):用來記錄設置試卷時的信息,包括參加考試的學院、班級、科目、各章節所要考試的題數、登錄時間及考試時長等,是標準組卷策略配置表。該系統實現的標準組卷模式不僅能提供詳盡的組卷控制細節,還能保證組卷的質量。
12) 每套試卷的分析表(Tb_Analyse):用來記錄每套試卷學生的答題情況,如選A的數量、選B的數量、選C的數量及選D的數量等,可分析和統計每份試卷的答題情況(見表7)。

表7 Tb_Analyse表字段說明
2.1系統的網絡頁面介紹
根據系統總體設計,首先要有一個登錄界面,考生從該界面登錄進行考試,管理人員則從該界面登陸進行相應的管理(見圖7)。
考生登錄系統后,進入試卷選擇界面,選擇參加正式考試或自由練習(模擬考試)。若是自由練習,則在設置好科目章節之后,系統自動進入計算機組卷過程,并將生成的試卷顯示在考生客戶端上,考試計時開始,考生進行在線答題。考生答題完畢并提交試卷之后,由計算機自動對試卷進行評判并將成績記入到考生信息數據庫中,學生可查看自己每次測試的記錄。該過程用到的數據表有:Tb_Students,Tb_Setting,Tb_Scores,Tb_Titletype,Tb_Exam和Tb_Examing(見圖8)。

圖7 系統登陸界面

圖8 學生信息界面
學生登錄后,點擊“試卷設置”按鈕,根據需要進行試卷設置(見圖9)。

圖9 試卷設置界面
2.2用DES算法給題干部分加密
數據加密算法(Data Encryption Standard, DES)有Key,Data和Mode等3個入口參數,其中:Key為8個字節共64位,是DES算法的工作密鑰;Data為8個字節64位,是要被加密或被解密的數據;Mode為DES工作方式,有加密和解密2種。DES算法將64位的明文輸入塊變為64位的密文輸出塊,所使用的密鑰也是64位。該算法主要分為初始置換和逆置換2步。
1) 初始置換:其功能是將輸入的64位數據塊按位重新組合,并將輸出分為L0和R0兩部分,每部分長32位,其置換規則為輸入的第58位換到第1位,第50位換到第2位……依此類推,最后一位是原來的第7位。L0和R0是換位輸出后的部分,其中,L0輸出的是左32位,R0輸出的是右32位。例如,若設置換前的輸入值為D1D2D3…D64,則經過初始置換后的結果為:L0=D58D50…D8;R0=D57D49…D7。
2) 逆置換:經過16次迭代運算后,得到L16和R16,將其作為輸入進行逆置換(逆置換為初始置換的逆運算),由此即可得到密文輸出。
該系統采用Borland Delphi編程語言實現DES算法的加密和解密,即系統在導入數據時使用Delphi語言編程,用DES加密個別重要字段(題干字段)。在DES解密時,該系統采用Delphi語言解密重要字段,生成ActiveX DLL文件供ASP(Active Server Pages)調用,從而恢復原來的加密內容。
加密后生成的Crypt.dll即可供ASP調用,這樣在涉及試題題干顯示時就可通過以下語句調用。
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) 該系統支持不同專業、不同類別及不同等級海船船員的考證訓練要求,采用導航式界面,引導用戶按照優化的流程進行操作。
2) 該系統能成功地按照組卷策略生成試卷、穩定地進行在線考試、成功地回收考試數據及自動評閱題目等,在技術上應用目前流行的 ASP動態服務器網頁開發模型和功能強大的SQL SERVER 2000大型關系數據庫管理系統,采用B/S(Browser/Server)體系結構;其人機交互簡單、直觀,系統開放性好,用戶通過 Internet 或局域網即可訪問數據庫。
3) 該系統采用 SQL SERVER 2000 大型關系數據庫管理系統,利用其強大的存儲、管理和查詢功能,保證數據庫系統的可靠性。
4) 應用DES算法加密技術,既可保護知識產權,又能為該系統的商業推廣提供安全保障。系統管理員可通過系統管理模塊設定用戶的操作權限,使系統安全、可靠。
[1] 黃建成. 醫學人機對話考試系統的設計與實現[J]. 中國教育信息化, 2014(11):83-85.
[2] 謝景偉. 機動車駕駛員(理論)考試系統設計[J]. 數字技術與應用, 2012(1): 121.
[3] 王海政. 試析無紙化衛生專業技術資格考試新模式[J]. 電腦編程技巧與維護, 2011(14): 55-56.
[4] 林菱. 無紙化考試系統在職業鑒定考試中的應用及成效[J]. 科技傳播, 2016,8(5): 114.
[5] 施劍凡. 高校無紙化考試系統的設計與實現[J]. 科技視界, 2013(26): 363.
[6] 丁革媛, 宋揚, 袁中臣, 等. 利用SQL Server存儲過程提高在線考試系統的性能[J]. 微型機與應用, 2011,30(22): 7-9.
[7] 胡配祥, 張成叔, 陳良敏. SQL臨時表在科研管理系統數據處理中的應用[J]. 洛陽理工學院學報(自然科學版), 2011,21(2): 45-48.
[8] 周納. ASP 動態網站編程與應用[M]. 北京: 清華大學出版社, 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
福建省自然科學基金(2012J01230)
王益斌 (1978—), 男, 江西樟樹人,實驗師,碩士,從事航海類軟件與系統的開發研究。E-mail: cy8366@163.com
1000-4653(2017)01-0088-05