基于Web的在线培训考试系统的设计与实现

2017-02-23 13:56高维安范晶
电子技术与软件工程 2016年24期

高维安+范晶

本文根据温州空管站培训考核的实际需求,设计并开发了一套基于Web的在线培训考试系统。系统设计基于B/S模式,利用AJAX、jQuery、CSS等技术实现系统页面和部分功能,系统数据库采用SQL Server2008,运用ASP.NET三层架构实现系统架构设计。

【关键词】AJAX技术 ASP.NET 三层架构 SQL Server数据库

随着信息化技术飞速发展,各种Web应用系统应运而生,电子办公系统愈发成为主流,本文基于温州空管站培训考核的实际需求,设计并开发了一套基于Web的在线培训考试系统,满足了温州空管站人员电子化培训和考核。

1 需求分析

1.1 可行性分析

系统可行性分析是对系统在技术上、经济上和操作上是否可行进行的科学分析和论证。技术上来说,本文所设计开发的系统使用B/S模式搭建,以C#为程序开发语言,使用ASP.NET三层架构和SQL Server 2008数据库对系统的数据进行相关处理操作。在ASP.NET三层架构中,UI层负责界面设计,BLL层负责针对具体问题设计算法,DAL层负责访问数据库,操作数据。SQL Server 2008数据库能够在保证数据完整性的基础上处理大量数据,包括对数据的增加、删除、修改和查询操作,在技术上完成可行。从经济上来看,本文设计开发的系统所需的硬件仅为一台应用服务器,只需将应用服务器接入到现有OA系统交换机中,所有OA终端均可作为系统的客户端,且系统的安装、部署、运行和维护都具有方便且价格低廉的特点,所以经济上也可行。从操作上来说,本系统界面清晰友好,操作简单,且提供用户使用说明,任何人均可快速掌握系统使用步骤。

1.2 功能需求分析

本文所设计开发的系统须具有的基本功能如下:

(1)建立并继续增加完善题库;

(2)对题库进行分类,快速导入题库;

(3)题目删除、添加和修改;

(4)用户的删除、添加和修改;

(5)试卷的生成,包括手动组卷、自动组卷;

(6)自动阅卷。

在对系统需求进行充分调研后,本文所开发的系统还增加了以下功能:

(1)管理试题图片;

(2)客观题自动阅卷,主观题管理员可手工阅卷;

(3)组卷过程中支持实时修改考题;

(4)提供两种考试模式,即:系统考生使用同一张试卷、考生随机抽取不同试卷;

(5)考试管理中增加允许重新考试、考试延迟以及导出考试信息;

(6)打印试卷;

(7)增加系统日志管理和系统数据备份。

2 系统设计

2.1 数据库设计

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。本文根据系统需实现的功能,为各个模块设计了必须的数据表。由在线考试子系统功能需求分析可知,该系统需要对考生信息、试卷信息、试卷、考试信息、考试结果和用户答卷信息进行增加、删除、修改和查询操作,因此需设计六个信息表分别管理各类信息。

2.2 系统架构设计

本文设计开发的系统采用B/S模式,系统软件无需部署在客户端上,软件的维护、更新和升级均在服务器端进行。系統数据库设计完成后,本文以考生在线考试交卷为例来阐述使用ASP.NET来构建三层架构流程。

2.2.1 数据访问层

数据访问层是对数据的操作的定义,为BLL层提供服务,因此,考生交卷的数据访问层定了Judge()函数进行自动阅卷,其核心代码是:

{for (inti = 0; i

{if(ds.Tables[0].Rows[i][21].ToString()==ds.Tables[0].Rows[i][24].ToString())

{Temp = "update AswerPg set UsQsPnt=" + ds.Tables[0].Rows[i][26].ToString() + " where ID=" + ds.Tables[0].Rows[i][0].ToString();}

else{Temp = "update AswerPg set UsQsPnt=0 where ID=" + ds.Tables[0].Rows[i][0].ToString();}}

DbHelperSQL.ExecuteSql(Temp); }

Temp = " select SUM(UsQsPnt) from AswerPg where UsID=" + UserID + " and EmPgID=" + EmPgID;

ds = DbHelperSQL.Query(Temp);

EmUsPnt = decimal.Parse(ds.Tables[0].Rows[0][0].ToString());

Temp = "update EmRst set EmRstHsPpr=1,EmRstPprTm='" + DateTime.Now + "',EmRstScr=" + EmUsPnt + " where EmRstUsID=" + UserID + " and EmRstEmPgID=" + EmPgID;

DbHelperSQL.ExecuteSql(Temp); }

2.2.2 业务逻辑层

系统在数据访问层定义好函数Judge()后,业务逻辑层只需对数据访问层定义的函数进行调用即可,核心代码为:

{dal.Judge(UserID, EmPgID, UsAws, UsImg, out EmUsPnt)}

2.2.3 用户界面层

当系统在后台需要调用自动阅卷功能时,需要进行声明和调用:

bll.Judge(UserID, EmPgID, TempAws, TempEmImg, out ExamScore)

3 结论

本文作者设计的基于Web的在线培训考试系统,在试运行过程中发现本系统具备以下优点:实用性强,功能完善,易操作易维护。同时也发现,大量的使用人数会使得系统的响应速度有所下降,系统效率还有待继续提高,此外,该系统现有的类型只有题目和图片,对视频等格式的资源研究仍需进一步深入。

参考文献

[1]姚震,施会萍.基于B/S模式的入馆教育自主学习和考试系统的设计与实现[J].农业图书情报学刊,2016,28(03):37-38.

[2]张艳丽.ASP.NET Ajax入门与案例详解[M].北京:机械工业出版社,2007.

作者单位

中国民用航空温州空中交通管理站 浙江省温州市 325024