基于MVC设计与实现高校廉政文化考试系统

2015-12-08 11:58谢亦才王静钟剑刘波林
电脑知识与技术 2015年25期
关键词:廉政文化

谢亦才++王静++钟剑++刘波林

摘要:廉政文化考试是响应习总书记提出的全面依法治国的举措之一。本考试系统以MVC为开发模式,采用JSP为前台页面开发技术、servlet开发页面跳转等流程控制的控制器,Java语言开发业务逻辑等模型,以SQL SERVER2008为数据库,tomcat为WEB服务器。开发了用户管理、试卷格式设置、题库导入、在线考试、考试数据统计和成绩查询等功能模块。实现了廉政文化考试的无纸化,提高了考试的公正性和科学性。

关键词:廉政文化;考试系统;MVC

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)25-0045-02

习近平总书记提出的“四个全面”之一就有全面依法治国。为此,全国上下都要加强法制教育,而廉政文化考试是法制教育的重要环节。传统的廉政文化考试使用纸质试卷,将师生集中在指定教室,分发试卷考试,最后将试卷上交,再由相关人员阅卷、打分、统计成绩和汇总数据等。

这种考试程序复杂,浪费人力、物力和财力,效率低。如今可以利用计算机和网络技术使传统的纸质考试方式向网络化和无纸化方向发展。廉政文化考试系统就是因此而设计和开发的。本文根据廉政文化考试的实际业务需求,设计并实现了一套在线考试系统。系统采用MVC架构,使用JSP做前台WEB页面、SQL Server2008 作为后台数据库、JAVA编程实现业务逻辑。系统有随机抽卷、自动交卷、成绩查看、试卷设计等功能,同时支持 1000 多人在线考试。本系统的使用大大节省了学校的人力、物力等资源,提高了组织考试的效率。

1系统架构

为了使系统有更好的可扩展性,便于后期的维护,本考试系统采用MVC架构。MVC 设计模式的核心是实现三层甚至多层的松散耦合,它将应用程序抽象为模型、控制器以及视图3个部分,三者既分工又合作地完成用户提交的任务[1]。实现了视图层、业务层和模型层的分离,如图1所示。

1)视图层(View):提供用户交互界面,包括登录界面、试卷设计界面、考试界面等。它依据模型数据创建的,可以从 Model 访问数据,并指定如何表示数据。当模型状态发生变化时,视图应该得到通知,以便更新视图。视图层把用户动作传递给控制层。

2)控制器(Controller):是应用程序中处理用户交互的部分,定义应用程序的行为,解释用户的动作,负责从视图读取数据,并向模型发送数据,然后根据用户动作和 Model 处理的结果,选择一个 视图作为这个用户请求响应的一部分。

3)模型层 (Model):应用程序的核心,通常模型对象负责在数据库中存取数据,用于处理应用程序业务逻辑,也为 Controller 提供了访问被 Model 封装了的某些应用功能的能力,比如登录认证、生成试卷样式、导入题目、抽题、改卷等。

2 功能设计

考试系统的功能主要有管理员系统和考试子系统两大模块,其中管理员系统的功能包括用户管理、试卷格式(如试卷标题、题型及其数量和分值、考试范围、适用考试对象等)设置、考试子系统维护(如导入题库等)、考试数据统计等;考试子系统的功能包括在线组卷、在线考试和成绩查询等功能。功能图1所示:

3 数据库设计

依据系统功能模块, 按照数据库设计规范[2],数据库主要有用户表、试卷格式表、单项选择题表、多项选择题表、判断题表等。其中以用户表和单项选择题表为例如表1和表2所示:

表1 用户表

[字段名称\&数据类型\&备注\&ID\&int\&用户编号\&name\&varchar(50)\&用户姓名\&password\&varchar(50)\&用户密码\&department\&varchar(50)\&用户所在部门\&role\&varchar(50)\&用户角色(管理员或者考生)\&shijuanID\&int\&考生所考试的试卷编号\&score\&float\&考生考试的分数\&]

4 系统实现

根据系统功能和数据库设计分析,实现系统的总体工作流程如图2所示:

图3 系统总体流程图

4.1 系统开发工具

本系统总体采用MVC开发模式,用JSP技术开发视图层,Java语言开发模型层,Servlet开发控制层。采用SQL SERVER2008做数据库,TOMCAT做WEB服务器。

4.2 导入题库

为了使题目可以逐题添加到数据库,也可以批量导入到数据库,系统设计了供管理员在后台逐个加题进数据库的WEB页面,也设计了可以导入excel表格的批量题目进数据库的功能。Excel表格的每一列的列名与数据库中相关的数据库表的字段相同。Java利用poi[3]包解析excel表,逐行逐个单元格读出excel表格中的题目信息,然后写入到数据库中对应的数据库表中。部分核心代码如下:

XSSFWorkbook xwb = new XSSFWorkbook(is);

for(int numSheet = 0; numSheet < xwb.getNumberOfSheets(); numSheet++)

{ XSSFSheet xSheet = xwb.getSheetAt(numSheet);

if(xSheet == null){ continue; }

for(int rowNum = 1; rowNum <= xSheet.getLastRowNum(); rowNum++)

{ XSSFRow xRow = xSheet.getRow(rowNum);

if(xRow == null){ continue; }

yuanRowCount++;

psm.setInt(1, yuanRowCount);

for(int cellNum = 0; cellNum <=xRow.getLastCellNum(); cellNum++)

{ XSSFCell xCell = xRow.getCell(cellNum);

if(xCell == null){ continue; }

if(daoruFile.trim().equals("单项选择题.xlsx"))

{String CellValue=xCell.getStringCellValue();

psm.setString(cellNum+2, xCell.getStringCellValue());}

if(daoruFile.trim().equals("多项选择题.xlsx"))

{psm.setString(cellNum+2, xCell.getStringCellValue()); }

if(daoruFile.trim().equals("判断题.xlsx"))

{psm.setString(cellNum+2, xCell.getStringCellValue());}}

psm.executeUpdate(); } }

}catch (Exception ex)

{ex.printStackTrace();

}

finally

{this.closed(); }

return true;

}

4.3 设置试卷样式

系统管理员根据每次考试的要求,设定本次考试的考试对象(老师或者学生)、考试范围(哪本书的哪些章节)、题型及其分值和题目数量等。设置界面如图3所说。

这个功能的实现主要是在web层的admin.jsp中通过一个form表单制作界面,提交表单后流程跳到shezhigeshi.java(一个servlet)控制器,再由控制器获取表单的各项数据,然后跳转到geshiToDB.java的model,同时携带这些数据给这个model,最后由model负责把数据写入试卷样式数据库。

4.4 组合试卷策略

根据管理员设置的试卷标题、适用考试对象、考试范围、题型及其分值和数量,自动随机生成一套试卷供考生考试,确保每一个考生的试卷不完全雷同。组合试卷策略步骤如下:

第一、读取试卷格式数据;

第二、根据第一步的数据设置好试卷标题;

第三、根据第一步获得的数据中的考试对象、考试范围、题型,把题库中所有符合条件的试题的编号读出并保存到一维数组中;

第四、判断数组的长度length是否大于或等于题型对应的数量N,如果为真,随机生成[1, length]中的N个数;

第五、把随机生成的N个数的一维数组下标所对应的数组元素(即题号)读出;

第六、按照抽到的题号到数据库中抽取对应的题目,推送到页面上,生成试卷。

5 结束语

基于MVC模式开发的高校廉政文化考试系统,有效地提高了考试公平性和科学性,从根本上解决了传统纸质考试工作量大、效率低、资源浪费的问题。同时保障了廉政文化宣传教育效果的巩固和提升。

参考文献:

[1] 边霞,赵奎,胡晓勤,等.基于MVC的文件备份后台管理系统的设计与实现[J].计算机工程与技术,2011,32(9):3196.

[2] 亓永刚.SQL Server数据库管理与开发兵书[M].北京: 电子工业出版社,2013.

[3] POI经典书籍[EB/OL].http://wenku.it168.com/d_000524404.shtml.

猜你喜欢
廉政文化
刍议廉政文化在构建惩防体系中的重要作用
新形势下加强高校廉政文化建设之路径
大学生廉洁思想认知误区与校园廉政文化建设探讨
农村社区廉政文化建设实施方案探究
试论廉洁文化建设在医院改革中的作用
浅析廉政文化进校园