乔阳阳 张艳敏 郑州工商学院机械与电信工程学院
引言:随着互联网技术的深度应用,WEB系统在各个领域应用的都非常广泛。之前在驾校考试系统多为C/S结构的考试系统,这种考试系统使用起来必须进行安装而且更新起来很不方便,为了解决不同的客户端硬件环境不同的问题,文章在此设计开发一种B/S模式的在线考试系统,只需要通过浏览器就可以随时随地的使用操作该在线考试系统。
本文采用ASP.NET开发环境,使用C#后台语言,SQL Server2008数据库进行系统的开发,主要实现了以下功能分别为权限管理,试题信息管理,章节信息管理,个人资料管理,记录管理和用户管理。用户可以在线练习和在线考试,还能对自己的错误题管理。
系统采用.NET平台技术已经相当成熟,使用的C#语言操作过相似的系统,而且系统调研所遇到的技术问题没有难点。使用的数据库也是中小型企业当中经常使用的数据库,项目的开发系统平台是在Windows之上,开发人员平台开发工具都非常熟悉,所以技术方面是没有问题的。
操作简单的系统界面,能够广泛应用于各个平台环境,系统需求分析的基本功能实现都要实现,用户的访问效率要合理,系统数据安全访问。
系统采用B/S架构,客户端只需要浏览器就可以使用该系统,不需要再更新系统软件,后台代码部署再服务器端,方便软件的升级和维护。系统采用了ASP.NET经典的MVC模式,前台展示、业务逻辑和数据处理相互分离,方便不同开发人员的操作。前台展示层主要是通过浏览器进行展现,主要是采用HTML和动态交互界面ASPX向服务器发送请求和对后台处理的数据进行表示。业务逻辑层主要是起到了承上启下的作用, 主要是将前台界面请求的数据进行处理然后将结果反馈给数据处理层。业务逻辑层的主要作用就是将数据展示与数据处理进行隔离,这样网站数据更安全,而且代码耦合度会降低很多,便于团队合作开发。数据处理层就是实现对数据库的“增删改查”功能,将数据访问方法进行抽象归纳。
系统功能根据前期调研,将使用系统的用户分为管理员和普通用户两类。管理员用户可以对普通用户进行添加、修改和删除,并且负责题库的维护工作。普通用户使用该系统首先要进行注册,登陆成功之后可以进行在线答题,还可以针对自己的错题集进行反复练习。系统整体功能模块如下:
图1 系统模块分析
用户注册的时候只能够注册成为普通用户,管理用户是系统进行分配的。系统为了方便每位学员对考试题目的巩固,在线考试系统会记录每位学习的学习记录,分别记录学生每次考试的历史成绩和每次测试做错的题目。这样学员就可以根据之前的考试记录做一个考试总结,而且有针对性的复习使自己考试通过率会更高一些。而且针对学习的每个章节内容,系统会做一个简单的测试,巩固已有的学习内容。管理员用户可以实现对用户的管理,主要是添加删除用户,可以修改章节内容,最重要的是可以对试题内容进行更改。
1.4.1 普通用户功能的详细设计
(1)章节练习。用户可以针对每一部分章节内容可以进行相应的习题练习,达到巩固章节学习的目的,分步强化学习效果。
(2)模拟考试。每个章节内容学习完成之后可以对整个学习内容进行多次模拟考试练习,对所有的知识内容再进行回顾练习,而且模拟考试时间与真实的考试时间和题型一致,也达到了熟悉考试流程的目的。
(3)错题集。每次模拟考试都会有知识点不确定的题目,将测试错误的题目再做汇总查看,帮助学员查缺补漏。
1.4.2 管理用户功能的详细设计
(1)试题管理。管理员可以对试题进行管理,添加修改删除题目类型,针对题目的分类添加或删除相应的题目。
(2)记录管理。查看用户每次考试的成绩。
(3)用户管理。可以对系统普通用户进行查询和删除操作,还可以对管理用户进行添加删除操作。
系统采用SQLServer数据库进行存储,数据库表的设计需要根据之前对业务需求和模块设计进行抽象分析,数据库设计当中首先要设计出数据库的ER图,然后确定表与表之间的关系。数据库表分别为管理员表(dbo.admin),存储管理员相关信息;普通用户表(dbo.users),存储普通用户相关属性;章节信息表(dbo.charpter),存储题库章节详细信息;试题表(dbo.questions),存储选择题相关信息;成绩记录表(scores),存储所有学生答题成绩信息;错题集(dbo.mistakes),存储每个学生错误的题目。
进入考试系统需要进行登录,分角色进入考试系统,不同角色所开放页面的权限是不同的,如果是普通用户第一次登录,需要进行注册,注册成功之后就能够登录。普通用户注册需要输入用户名、密码、联系方式、邮箱等信息,还可以上传头像。注册完成再次登录之后就可以进入到系统的主界面了。
管理员可以在此部分管理章节和试题相关信息。在章节管理部分可以添加删除相应的试题章节信息,并且添加删除相应的题目类别。在试题管理部分可以操作相应的试题题目,比如说,添加选择题,需要添加试题题目,试题选项,试题答案,试题章节。添加完成之后用户就可以进行登录测试。
在此部分用户可以查看删除自己的测试记录,并且可以操作自己的错题集。针对错题集部分如果错题再次回答正确,那么错题集当中将不再显示该错题,如果再次答错还将显示,也可以将错题进行手动删除。
根据前期的需求分析和模块设计要求,将代码进行实现,对系统功能完成情况和性能情况进行测试,系统基本上完成了需求中提出的功能要求,针对管理员用户的功能对试题添加需要再做进一步优化,现在是需要对每道题目单独进行添加,如果能够对试题进行批量添加更能加快系统的操作效率。系统在局域网中进行测试用户的并发连接和页面的相应速率基本符合系统要求,针对系统UI的整体设计还需进一步优化。系统完成了总体设计目标。
相对于之前的C/S结构的驾校考试系统,文章提出了一种基于B/S模式的在线驾校考试系统设计与实现方案,系统特点如下:
(1)项目是采用ASP.NET的MVC模式进行开发的,将系统展示与后台业务逻辑进行分离,使项目耦合度低,团队开发更容易。
(2)考试系统只需通过浏览器就可以进行测试答题,大大降低了客户端的硬件要求标准,而且适用面更加广泛。
(3)对题目测试分别可以从试题库和章节维度进行测试,这样学员学习反馈机制更加丰富,更能够巩固掌握已有的知识,而且管理员可以自主设置题目,对系统使用的灵活度大大增加。
(4)可以查看自己测试记录成绩而且可以有配套的错题集进行复习,能够更有针对性的复习章节知识内容,大大提升了学生的学习主动能力。