基于MVC的在线考试系统设计与实现

时间:2022-09-29 08:25:44

基于MVC的在线考试系统设计与实现

随着计算机和互联网技术在教育领域的深层次应用,日常的教学工作正逐渐向着自动、标准、高效的方向发展。传统考试方式的每一个环节都需要人工完成,成本高、效率低,难以满足教育现代化的需要,这使得在线考试系统得到越来越广泛的应用。本文首先对MVC模式进行了介绍,并以此为基础描述了在线考试系统的设计与实现。

【关键词】MVC模式 在线考试 设计实现

1 引言

近年来,随着计算机和互联网技术在教育领域的深层次应用,日常的教学工作正逐渐向着自动、标准、高效的方向发展。传统考试方式的每一个环节都需要人工完成,成本高、效率低,难以满足教育现代化的需要,这使得在线考试系统得到越来越广泛的应用。在线考试系统能够建立并维护电子题库,真正实现考试过程的无纸化;另外,考生只需要通过浏览器上网完成身份认证就可以进行考试,考试形式更方便灵活;同时,试题选择具有一定的随机性,可以有效降低人为因素的影响,提高考试的公平性。

2 MVC模式

MVC即模型―视图―控制器,是一种应用广泛的面向对象软件设计模式。其中,模型是整个应用的核心,负责完成系统中所有的业务逻辑和数据处理。MVC模式允许一个模型对应多个视图,从而可以有效提高代码的复用性;视图是直观展示给用户并使用户可以进行操作的界面,它既可以获取用户输入并向后端提交相应请求,又可以将后端处理结果以及业务和数据的更新等展示给用户。控制器位于模型和视图之间,负责处理和转发所有的用户请求。控制器将用户输入转化为请求,调用相应的模型进行处理,并将处理结果通过视图返回给用户。在MVC设计模式中,模型、视图、控制器各司其职,使应用程序的输入、处理和输出分开,能够很好地体现软件工程的分层设计思想。

3 系统需求分析

本文实现的在线考试系统主要分为前后端两个子系统,其中,前端子系统主要用户为考生,可以登录并考试等;后端子系统主要用户为系统管理员,主要实现对用户、角色、科目、试题等的维护和管理。

前台系统主要功能需求如下:

(1)注册:考生在使用本系统进行考试前,必须先使用真实个人信息进行注册。

(2)登录、退出:注册成功后,考试可以通过用户名、密码进行登录,已登录状态下可以退出登录,同时需提供密码修改、找回等相关功能。

(3)在线考试:前端子系统的核心功能,主要实现考生登录系统后在线完成答题并提交。

(4)成绩查询:已完成的考试,考生可以在阅卷结束后登录系统查看成绩,但仅限于查看本人的考试成绩。

(5)个人信息修改:考生对其注册信息中的部分内容可以进行修改。

后台系统主要功能需求如下:

(1)注册:与考生一样,管理员在使用本系统前也需要先进行注册。

(2)登录、退出:注册成功后,管理员同样通过用户名、密码进行登录,已登录状态下可以退出登录,同时需提供密码修改、找回等相关功能。

(3)用户管理:对系统中各类用户的相关信息及功能权限等进行管理。

(4)科目管理:对系统支持的考试科目进行维护,主要包括增加,删除、修改等操作。

(5)试题管理:对系统中的考试试题进行管理,主要包括增加,删除、修改等操作。

(6)成绩管理:对系统中所有考生的考试成绩进行管理。

4 系统设计与实现

4.1 系统总体架构设计

本系统整体架构上基于MVC模式,并充分利用J2EE平台的优势,将系统自上而下分成视图层、控制层、业务逻辑层、数据持久层和数据存储层5层架构。其中视图层即MVC中的视图层,主要由JSP、AJAX等技术实现;模型层由struts组件实现;控制层即控制器,由Struts框架中的控制组件实现,位于二者之间,有效实现分离和松耦合;数据持久层和数据存储层主要用来实现底层数据的存储和操作,使用Hibernate组件实现。系统总体架构设计如图1所示。

4.2 系统功能模块设计

根据之前对系统的需求分析,本系统分为前端考试子系统和后端管理子系统两部分。前端考试子系统主要实现考生的注册、登录、个人信息修改、考试、成绩查询等;后端管理子系统主要实现管理员的注册、登录、用户管理、科目管理、试题管理、成绩管理等。系统功能模块设计如图2所示。

4.3 系统核心功能实现

4.3.1 展示层实现

展示层主要是指系统前端界面的实现,接收用户的操作和输入,将请求提交给控制器进行转发,并接收和显示处理结果。展示层主要由JSP文件组成,本系统中一些主要的JSP页面包括:考试子系统首页index.jsp、登录页面logon.jsp、后端管理子系统首页admin.jsp、考试功能主页面test.jsp、成绩查询主页面achievement.jsp等。

4.3.2 控制层实现

控制层主要由Action类、ActionServlet类和struts-config.xml文件组成。根据struts-configure.xml中的配置将请求交由统一的处理器RequestProcess, RequestProcess将对请求数据进行必要地封装处理,生成ActionForm对象,并调用合适的Action进行处理,同时将处理结果生成ActionForward对象返回给前端。

4.3.3 模型层实现

系统模型层由struts框架中的ActionFormBean实现,实现表单信息和业务数据在视图与控制器之间的传递,每一个请求都会有唯一的Bean对象负责对其处理,请求中传递的数据字段和ActionFormBean中的属性需要满足一一对应的关系。同时,ActionForm的validate()方法还可以对表单数据的有效性、合法性等进行验证。

4.3.4 数据库操作实现

(1)将数据库连接所需要的驱动、URL、用户名、密码等在hibernate公用配置文件hibernate.cfg.xml中定义。

(2)读取配置文件,创建configuration对象。

(3)建立数据库连接,并打开事务,建立transaction对象。

(4)调用transaction对象的operation方法,执行具体的sql语句。

(5)创建resultSet对象用于保存结果集。

(6)按顺序关闭之前创建的各个对象,关闭数据库连接。

5 结论

目前,越来越多的学校开始采用网络在线考试方式,在线考试是对教育教学过程的一种创新,是计算机和网络技术在在教育领域的深层次应用,必将成为今后的发展趋势。本文基于MVC模式,对在线考试系统的需求分析、整体结构设计、功能模块设计以及核心功能实现依次进行了介绍。本系统基本实现了在线考试所需的考生管理、试题管理、考试管理、成绩管理等常用功能,能够满足大多数在线考试需要。但系统在并发性能、操作友好性等方面仍有需要改进之处,需要在以后的工作中不断地修改和完善。

参考文献

[1]虞歌.基于MVC模式的在线考试系统的开发[J].航空计算技术,2006,36(1).

[2]韩婷,何志鹏,纪进立.基于Hibernate和AJAX的网络题库和在线考试系统[J]. 技术在线,2011,6(18):120―120.

[3]陈志坚.基于.NET的在线考试系统统设计与实现[J].荆楚理工学院学报.2010,25(11):18―20.

[4]袁明兰.论高校在线考试系统的优缺点[J].北京电力高等专科学校学报,2011(12).

作者简介

冀健(1978-),男,山东省泰安市人。毕业于山东科技大学,研究生学历。中级职称。现供职于深圳职业技术学院。研究方向为计算机。

作者单位

深圳职业技术学院 广东省深圳市 518055

上一篇:一种锂电池激活控制系统的设计与实现 下一篇:人脸识别系统判别过程研究与实现