刘健
(天津工业职业学院,天津,300400)
测评是数据实验室实训过程中必不可少的组成部分,但数据测评本身对高校的人力、物力等资源会造成较大消耗[1-3],为了合理释放教学资源,本文提出并设计了一种数据实验室实训在线测评系统,基于MVC 框架构建系统的分层体系,通过UML 技术、E-R 图进行系统模型和数据库的设计,在ThinkPHP 框架下利用Javascrit 技术进行软件开发。该系统打破了传统的测评模式,功能完善、稳定性强,对于数据实验室在线测评系统的普及具有重要意义。
在MVC 模式的框架下,在线测评系统以分层设计的方式搭建整体架构,如图1 所示,视图层、业务功能层、数据层之间相互独立又紧密联系,分别实现系统页面显示、业务处理、数据存储的功能。视图层是与用户进行交互的结构层,用户通过键盘鼠标在系统的客户端界面上进行操作,业务功能层中包含了各种逻辑组件,负责接收用户的操作指令并进行响应,向数据层发送数据调用的请求,数据层将所需的数据反馈给业务功能层,并由其通过视图层显示给用户。
图1 数据实验室在线测评系统总体架构
在线测评的过程分为三个部分,即用户登录、在线答题、测评评分。本系统的用户登录模块采用了CSS+DIV 的H-ui.admin 模板,用以生成包括全部用户信息的用户表,在admin目录下创建User.php 用户表控制器文件,将登录代码添加到该文件的login 方法中,用户登录时按照界面显示填写用户名、密码及验证码,登录模块对用户登录信息进行控制判断,如果判定为非空,则进一步确认用户是否已在线,若是直接跳转至后台,若不在线则通过数据库中的用户信息进行检验,通过认证后允许其登录后台并在session 文件中记录登录信息。
监考教师根据测评要求通过系统的后台创建测评试卷,首先输入测评信息,包括测评项目名称、任课教师、答题时间等,然后选择题型和题目并添加到测评模板上,监考教师可以对每道测评试题进行手动选择,也可以在设定题型、题目数量和所需覆盖的教学内容后由系统随机从题库中批量抽取试题以完成试卷的创建。
创建测评试题模块的部分实现代码如下:
(1)手动创建试卷
(2)自动创建测评
监考教师通过客户端界面创建当次测评的试题,参考学生在登录成功后对测评信息(测评科目、任课教师、测评试卷名称、答题时间等)进行确认,然后点击进入测评界面,在此过程中,模块从数据库中调取题目数据表,包括填空题表、单项选择题表、多项选择题表、问答题表、判断题表等。学生选择开始答题后,系统自动读取服务器时间并将其记录在session 文件中作为测评的开始时间,测评过程中以每秒为间隔持续刷新测评时间,若小于系统设定值则允许学生继续测评,当测评时间达到试卷所规定的时间后,系统自动终止答题并提交测评试卷。
在线测评答题模块的部分实现代码如下:
参考学生提交测评试卷后,测评教师可在系统后台调取已完成答题的测评试卷并进行评分,本系统的评卷方式分为两种,即教师人工测评和系统自动测评,其中系统自动测评的部分实现代码为:
为了检验系统软件代码的正确性、模块功能的正常性和整体运行的稳定性,分别采用白盒测试法检验各单元模块的代码内容,采用黑盒测试法检测各功能模块的输入与输出数据,通过模拟考试过程的方式检查系统功能的完善性和运行的稳定性。
对各单元模块分别进行白盒测试,以考生信息管理单元模块为例,测试过程和结果如表1 所示。
表1 考生信息管理单元模块测试过程与结果
按照同样的方式和过程对考生管理模块、试题管理模块、考生登录模块、教师登录模块、成绩管理模块等各单元模块进行测试,所有单元模块均能实现指定操作。
对各功能模块分别进行黑盒测试,以在线答题模块为例,测试过程和结果如表2 所示。
表2 在线答题功能模块测试过程与结果
按照同样的方式和过程对用户登录模块、创建试卷模块、在线评卷模块进行测试,所有模块均可正常实现设计功能。
在国内某高校选取一定数量的学生参加通过本系统所进行的数据实验室模拟测评,在24 小时内按照100 人、200人、500 人、1000 人、2000 人的顺序分批次逐渐提高同时在线测评的人数,以考核系统运行的稳定性和抗压能力。结果如图2 所示。
图2 性能测试结果
系统运行时随着在线并发人数的增加测试用计算机的资源占用率(CPU 使用率、内存使用率)均有所提高但未超过70%,整个测试过程中并未出现宕机或程序中止运行的情况,可见本系统具有较好的稳定性和较强的抗压能力。
为了有效释放实验室实训资源,减少组织实训测评过程中的人力、物力消耗,本文提出一种基于数据实验室实训在线测评系统,基于MVC 模式的框架搭建系统的分层结构,通过视图层、业务功能层和数据层分别实现系统页面显示、业务处理、数据存储的功能,本系统能够实现实验室实训平台在线测评的全部需求且具有较好的稳定性,适于在高校种应用推广。