地方院校二级学院考试管理系统的设计与实现

2016-03-30 08:08杨荣
科技视界 2016年2期

杨荣

【摘 要】各高校办学规模日益扩大,教学资源日趋紧张,教务工作的管理难度也大大增加,设计实现一套考试管理系统是普通高校二级教务管理信息化的迫切需要。目前国内已有的专做教务系统的分别有上海树维、浙大正方、湖南强智等5家公司。但是针对二级学院的考试管理系统却少之又少。该系统主要采用大型的数据库oracle、JSP技术以及Java语言等工具,采用目前热门的MVC设计模式,实现基于B/S交互模式的web项目。方便学生及教师随时随地登录系统查询信息。该系统功能主要包括考试信息的管理、教师及学生信息的维护,教师对考试地点的安排、考试信息的查询和导出以及个人信息的修改等。并给出了测试方法和结果。

【关键词】web项目;考试管理系统;MVC设计模式;Servlet;JSP

0 引言

近年来,信息化的实现已覆盖到社会的每个领域,学校的信息管理也进一步网络化,各种管理系统应运而生。目前国内已有的专做教务系统的分别有上海树维、浙大正方、湖南强智等5家公司。普通高校二级学院的教务管理工作日渐繁忙、复杂,尤其是每学期的考试安排工作,信息量大、容易出错、信息共享化较差。开发一套操作简单、共享性强的考试安排管理系统对于减轻二级学院教务工作者的压力、服务师生等方面都具有很强的实用性。

1 系统简介

二级学院考试管理系统,是利用已有的校园网络环境构建基于web服务的考试管理系统。系统将提供三种不同身份的人员(分别为管理员、教师、学生)进行访问与操作。依据不同的用户身份设置不同的权限,用户只能获得相应权限的管理与操作。针对管理员,首先满足系统管理员维护系统基础信息以及登记教师、在校生和考试教室相关信息的功能,解决时间冲突问题等;其次具备考试信息处理功能:包括考务信息的增加、删除、更改、查看以及监考人员增加、删除、更改等 功能。教师权限下,可进行考试信息的查询(仅与本人相关的考试信息)、安排考试地点、导出考试信息和个人信息的修改(主要是密码和电话)。学生权限下,可进行的操作:修改个人信息、查询浏览与自己相关的考试安排信息等。

2 总体设计

2.1 开发工具与环境

校园网是考试管理系统的运行环境,这样随着校园网络部署的逐渐扩建,只要在有网络的地方,添置管理点并部署本系统,便能实现考试管理系统的扩展,使系统可以在全校范围内为管理者和应用者进行服务。校园网络将各个工作站与服务器连接起来,形成了以网络进行全校覆盖式管理的模式。操作平台为:Windows7,前台开发技术为:jsp、html、css样式表以及js事件,数据库平台为:oracle,后台开发工具为:myeclipse,服务器:tomcat。

2.2 数据库设计

对于考试管理系统首先要分析系统中的对象及对象之间的关系。在数据库中建表对应于分析好的对,完成数据库设计。

2.3 网页设计

使用HTML、CSS完成静态页面的设计,通过jsp技术完成动态页面,根据不同的权限登录设计不同的信息查询页面。

2.4 系统设计

采用mvc的设计思想,以一个servlet作为controller,不同请求访问不同页面。以jsp作为view视图。将数据库中的表对应写出实体类,封装jdbc操作于dao包中作为model。实现model与view无联系,完全由controller(servlet容器)派发资源。

2.5 模块设计

根据对象及对象关系应分成管理员模块、教师模块、学生模块、考试信息模块,并对几大模块进行权限限制:管理员能够在三大模块进行增加、删除、更新及浏览等动作,老师可在考试信息中安排时间,且和学生都可对考试信息进行浏览。系统设计模型如图1所示。

3 详细设计

3.1 用户登录详细设计

jsp页面:登录页面中身份的选择是通过设置不同的参数,方便在ActionServlet中进行身份的判断,分别设置为:管理员——0,教师——1,学生——2;

servlet的设计:首先获取请求资源路径,截取具体动作;获取相应的参数,通过身份进行判断,若为三种身份中的任意一种,就会通过name查找,创建相应的对象;当对象内容为null时,将重新转发数据到登录页面,重新登录;否则会发送一个重定向响应给客户端使用指定的URL重定向位置,根据web.xml中的映射关系,找到相应的servlet,根据不同的动作请求,进入不同的页面。

3.2 管理员模块详细设计

管理员主界面中的搜索信息,采用的是模糊搜索,通过SQL语句来执行(ps为结果集对象)。

管理员对教师和学生的基本信息的管理,主要是通过不同的servlet容器来接受客户端的请求,servlet在判断是何种请求时,采用了路径截取法,截取url中位于‘/和‘.之间的部分,进行字符串的匹配,调用不同的dao包操作,完成请求,通过servlet返回响应。

管理员设置考试信息时,登录到的考试信息页面通过调用分页查询的findBypage方法获取页面数据,且页面中的字段信息可以修改,修改完后的字段根据修改的这条数据的ID确定修改的数据是哪条记录的,将修改后的数据联ID一起发到服务器进行处理后再将新的数据显示回页面。

3.3 教师模块详细设计

管理员设置完考试信息后,考试信息会根据带课老师的name关联到该代课老师,代课老师登录界面后会看到该考试信息,可进行对时间的设置操作。并且时间只能是整点。

解决考试时间冲突的方法:考试时间为整点开始且2小时后结束,在该考试时间段内该地点不能有第二个安排信息,因此时间和考试地点进行联合唯一,当设置时间时,如果该时间段内当前考试地点以有考试信息则需要更换考试时间,否则无法添入表中。

3.4 学生模块详细设计

学生登录后,首先会根据学号查询到该学生的学生信息,然后根据学生信息中的班级关联到考试信息,检测考试信息是否完善,如果该考试信息未设置时间则清除,如果设置过时间则将考试信息返回到界面中并显示。

4 系统测试

(1)是否登录后能保存登录信息,如果不进行登录操作是否能访问内部界面,以及登录后的页面是否对应于不同权限的页面。

(2)登陆后时间显示以及菜单栏信息是否正确,菜单栏是否能访问到相应功能的界面。

(3)安排考试界面是否能直接在text里添加内容,提交后数据库表中是否有值,并且保证每条考试信息均可安排并正确提交。

(4)删除、查找、修改功能是否正常,数据库表中是否有相应的变化。

(5)安排考试时间功能模块,是否能检测出时间的冲突问题,并提示用户。

经过反复测试,不断修改代码,系统的各功能模块均能实现需求中所要求的功能,并能正确的完成相关操作,保证了前端数据的修改与后台数据的一致性、准确性。

5 总结

软件的整体设计采用了MVC的设计模式,实现model(模型)与view(视图)的分离,资源完全由controller派发。采用面向对象的设计思想,将后台操作完全封装,通过对象进行操作,提高了安全性。整体的开发过程主要使用了Java、html、JavaScript、SQL等语言以及servlet、jsp相关技术来实现,系统的整体架构完全有自己编写代码实现,虽然对于所有事务的处理表面看似简单,其实所涉及的后台数据的转移、页面的跳转以及页面动作的判断和实现是比较复杂的,不需执行的操作。该系统或许没有使用框架的系统那么稳定,但是通过源码的实现,能更好的熟悉系统的实现过程。系统还需优化,后续需进一步提高系统性能,使用户体验度得以提高。

【参考文献】

[1]程凯. JSP中文问题及一套整体解决方案[J].许昌学院学报,2006,25(5):68-78.

[2]耿祥义.JSP基础教程[M].北京:清华大学出版社,2004:2-255.

[3]徐建波,周新莲.Web设计原理与编程技术[M].湖南:中南大学出版社,2005:165-180.

[4]孔靓,贾美娟.网页制作中的CSS样式表[J].科技创新与应用,2012.

[5]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2006:30-50.

[6]王保罗. Java面向对象程序设计[M].北京:清华大学出版社,2003.

[责任编辑:汤静]