王益斌, 黄加亮
(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