基于MVC模型针对社会考生在线考试报名系统设计与实现
2013-10-16邱涛
邱 涛
(新疆大学 教务处,新疆 乌鲁木齐 830046)
0 引言
随着计算机技术和互联网的快速发展,人类已经进入了信息时代.在数字化网络环境发展的今天,传统的考试报名方式操作繁琐,信息管理存在严重的缺陷,考生渴望利用网络就可以实现考试报名简单便捷的操作流程.同时,老师希望有效改进现有的考试报名模式,提高考试报名工作的效率.教育机构也希望在网上给学生提供方便快捷的在线报名方式,以便准确地对学生的报名信息进行统计.在线考试报名系统正是迎合这一时代需求而开发的,它旨在探索一种以互联网为基础的考试报名模式.通过这种新的模式,为学校创造出一种新的考试报名环境,提高考试报名工作的效率和标准化水平,使学校管理者、教师和学生可以随时随地通过网络进行便捷的操作.
新疆大学在自身发展的过程中也面临上述突出问题,亟须转变传统考试报名方式,充分发挥网络优势,实现在线考试报名[1-3].因此根据新疆大学教务处的需求,对新疆大学在线考试报名系统进行了设计开发[4-8].
1 功能设计
新疆大学在线考试报名系统面向新疆大学校内外考生,设置了考生报名、系统管理两大模块.考生报名包括校内考生报名和校外考生报名,系统管理包括学院管理和系统管理.系统总体功能如图1所示.
考生进入新疆大学在线考试报名系统主页后,如果是首次使用本系统,将会转到注册页进行新账号操作,在正确填写个人信息以及成功上传个人照片后,考生即可通过注册的账号进行登录,如果是已注册账户可直接登录报名系统.进入报名系统后可查看个人信息、修改密码、查看可报告考试科目、已报科目、打印报考凭证等.报考科目审核通过后,考生持报考证到指定地点进行缴费.网上报名具体流程如图2所示.
管理员进入管理员界面后,可以对整个系统中考生可报的科目信息进行发布、取消、更改考试科目说明文档等操作,也可以对考生的报名信息进行检索,导出报表,定期清除过期考生的信息及报考记录.
图1 系统功能图Fig.1 Functions of system
2 技术架构与主要界面设计
2.1 技术架构
新疆大学在线报名系统在实现过程中采用B/S结构,其功能模块均采用JSP+Servlet+JavaBean技术来实现,即MVC Model2模型.
B/S结构(Browser/Server结构),是随着Internet技术的兴起而对C/S结构的一种变化或改进的结构.在这种结构下,客户机上只需安装一个Web浏览器,主要逻辑事务在服务器端实现.它有效简化了客户端载荷,降低了系统维护与升级的成本和工作量.
MVC模型(Model-View-Controller,简称MVC),M代表业务逻辑,V代表逻辑视图,C代表控制层.通过使用MVC模式可以把软件分为3个层——模型层、视图层和控制层.视图层是用户能看到的界面,业务逻辑层是软件业务的实现部分,控制层通过调用业务层,进行视图的切换.JSP运行在服务器端,JSP的跨平台特性使得系统不用考虑每个用户终端硬件和操作系统的差别,只要用户终端上安装有浏览器,系统即可使用.在软件开发过程中,由于Struts已经提供了一个非常好的MVC框架,本文在开发过程中利用Struts开发的MVC系统大大加快了系统的开发速度,提高了工作效率.具体的技术架构如图3所示.
在图3中,客户端浏览器发出请求(如JSP)后,服务器端的struts中心类ActionServlet找到struts-config.xml文件,并放入内存,将文件的内容作为请求路径进行映射.ActionServlet类在struts-config.xml文件中找到相关路径映射填充ActionForm类,将前台传进来的表单域打包成Bean,转到Action类进行业务逻辑功能的实现如增、删、改等.最后通过struts-config.xml文件的映射,找到功能逻辑客户端浏览器发出请求如JSP后,服务器端的struts中心类ActionServlet找到struts-c处理结束后显示给客户端用户看到的页面,转发功能通过ActionForward对象实现.
图2 考生报名流程Fig.2 Process of student enrollm ent
2.2 界面设计
考生报名系统界面如图4所示,左侧为功能菜单栏,右侧为信息展示区,方便考生实时掌握个人信息.考生可以查看考试说明文档,点击报名按钮对相应科目进行报名.如果报名条件符合则报名成功,若报名条件不符,则报名失败返回考生报名界面.考生报名后,可以通过已报考试栏查看考生相关科目信息.
经过设计开发,新疆大学在线考试报名系统已于2010年开始使用,表1对在线考试报名系统使用前后进行对比,从中可以看出通过使用系统取得了良好的效果.
3 安全架构
3.1 系统部署
针对系统在高负载下稳定运行的要求和对复杂逻辑处理的实际情况,架构设计充分考虑了系统的可伸缩性和可扩展性.在系统架构上,将应用服务部署在报名服务器上,相关的数据信息则存储在数据库服务器上.报名服务器可以根据系统的运行情况和实际需要进行灵活的配置.数据库单独部署在一台服务器上,并通过防火墙和网关保证其不被外网直接访问.数据库服务器采用热备份模式,保证数据的可恢复性.每台报名服务器都相对独立,可提供考试报名等相关的应用.其系统部署如图5所示.
表1 系统使用前后对比Tab.1 Comparison of before and after using system
图5 系统部署Fig.5 Dep loyment of system
3.2 安全策略
由于系统在Internet上运行,而且访问量非常大,因此保证系统安全运行尤为重要.本系统在不同级别上加了安全性设计,保证系统的正常工作.
(1)系统根据用户不同的角色赋予了相应的权限.
(2)系统在网络级、操作系统级、数据库级均采取安全措施,保证系统的安全运行:与校园网的安全机制相结合,设立防火墙、访问控制等.系统采取完整备份和增量备份相结合的数据备份策略,当系统遭遇灾难性破坏或进行历史性数据查询时,能够及时恢复或再现历史数据的实时状态.记录考生登录日志,系统自动记录考生操作的模块、操作时间等信息以供定期检查,致使出现的异常情况能得到及时处理.用户在一定时间内不操作系统,再次操作时应重新登录.
4 结语
新疆大学在线报名考试系统的建设,是新疆大学紧跟教育教学前沿,积极创新教育教学方法,充分发挥现有网络优势,提高学生整体素质的一个缩影.依据新疆大学教务办的需求,本文设计实现了面向校内外用户的在线考试报名系统.通过网络有效管理考生信息,提高了工作效率,节约了人力成本.今后将在现有系统的基础上,继续优化配置,优化系统的使用及管理.
[1]张志平.高校自主招生网上报名系统的设计[J].苏州大学学报:工科版,2010,30(3):26-31.
[2]冯冲.软件体系结构理论与实践[M].北京:人民邮电出版社,2004.
[3]葛安华.基于UML事业单位招考网上报名系统建模分析[J].森林工程,2010,26(4):90-94.
[4]高洪岩.至简SSH精通JavaWeb[M].北京:电子工业出版社,2009.
[5]斯托林斯.网络安全基础应用与标准[M].白国强,译.北京:清华大学出版社,2011.
[6]郑阿奇.SQL Server 2005教程[M].北京:电子工业出版社,2011.
[7]戎伟,张双.精通Struts-Java流行服务器、框架、工具及整合应用[M].北京:人民邮电出版社,2008.
[8]黄丹霞,杨璐,崔永普.在J2EE项目中使用Struts对MVC模式的研究与实现[J].计算机工程与设计,2005,26(9):2488-2542.