APP下载

党校网上考试系统的设计与实现

2017-04-26马浩淼

电脑知识与技术 2017年6期
关键词:S模式党校

马浩淼

摘要:随着党校规模的扩大,网上考试系统的应用对于提高党校教育科学化水平至关重要。该文基于.net技术、B/S模式和考试实际需要对党校网上考试系统进行了总体设计,实现了六大功能模块,最终进行了系统的测试分析。

关键词:党校;网上考试;.net技术;B/S模式

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)06-0053-03

Abstract:With the expansion of the scale of the party school, the application of the online examination system is very important to improve the scientific level of Party School Education. Based on the .net technology, B/S mode and the actual needs of the exam, this paper carries on the overall design to the online examination system for the Party School and realizes six function modules, finally it tests and analyses the system.

Key words: Party School; online examination; .net technology; B/S mode

随着党校规模的扩大,传统的考试方式越来越不适应新形势下党校教学培训发展的需要,当中存在着出卷耗时耗力、监考难以做到公正到位、阅卷效率低等缺点,而伴随着信息技术发展产生的网上考试系统在这些方面上更具优势,为了进一步提高党校教育科学化水平,开发网上考试系统非常必要。

1 开发技术与模式介绍

本课题设计的考试系统主要采用了.net技术和B/S模式。.net技术主要用来操作服务器上的各种资源文件,同时可以提高网络服务的安全性,这里主要使用微软的ASP.NET技术和c#语言来开发.net程序。考虑到党校每次考试地点可能因人数、网络状况、安排的方便性上变化而有所不同,甚至于开卷考试还会放在学员家里进行,采用安装客户端的方式无疑会增加维护和管理的难度,不便于考试的展开,为此采用B/S模式只通过浏览器的方式就可随时随地就进行考试和监控。

2 网上考试需求分析

从网上考试系统需要的功能上来说,主要针对党校三类人来划分:管理员拥有最高权限,可以对题库、试题、考试、阅卷、成绩、用户等方面来进行管理;教师可以在出卷前对试题进行编辑,批改主观题时可以对试题进行查询;学员可以进行注册个人信息、考试、查询成绩等操作。

从性能上来看,鉴于党校未来发展的需要网上考试系统肯定要不断地更新升级,所以首先要考虑到开发的系统要便于维护。同时因各种不可控因素常常会导致考试中断,遇到这种情况应当提前在服务器和学员考试电脑上同时保存一份学员填写的答案并随时更新,以便在解决不可控因素后及时恢复考试。为了提高服务器上数据和资源使用的效率,避免出现访问拥塞,要对管理员、教师、学员各自的权限加以合理安排。

从数据上来说,针对不同功能需求所需要的数据也是不同的。对于题库,必须按系统要求提交学科章节信息、试题格式、类型、内容等信息;对于试题,需要管理员提交相关的参数(考场编号、名称、时间、考卷要求)来设置考场并生成学员考卷库;对于考试,需要学员输入姓名、密码进入考试并提交作答结果来生成答卷,管理员选择学员编号来执行监考操作;对于阅卷,需要手动输入主观题分数,结合系统自动批改客观题得到的分数来生成每个考生的成绩;对于成绩,需要学员输入学员姓名、密码来查询考试结果,管理员输入姓名、编号或者培训班次来对统计考试结果;对于用户,需要管理员输入不同使用者的信息以及设置操作权限。

3 系统总体设计

3.1 整体架构

本系统采用B/S模式,出于安全性和易维护升级的考虑,在浏览器和服务器之间对数据、资源、安全性验证等各种业务功能操作都专门放在了一个中间层,用户通过浏览器发出的应用请求经中间层处理后得到相关服务器上数据和资源的反馈。

3.2 功能模块

本系统主要划分为六大功能模块:题库管理、试题管理、考试管理、阅卷管理、成绩管理、用户管理。其中,题库管理主要对学科章节、试题类型以及内容进行编辑添加删除等操作。试题管理主要是根据相关考试参数来生成合规的考卷。考试管理模块分为前台考试模块与后台监考模块。阅卷模块主要通过计算机自动批改客观题和教师批改主观题实现。成绩管理模块主要提供成绩统计、查询、修改等功能。用户管理模块主要由系统管理员操作,对新用户(学员、教师)账号、密码、操作权限进行编辑、增删等操作。

3.3 数据库

良好的数据库可以有效存储考试系统所需要的信息,及时对浏览器端的各种功能需求做出应答。在本考试系统中会涉及到管理员、教师、学员、试题、考卷、成绩等对象,同时考虑到各对象之间的关系,设计了本系统所用的数据库表,其中各主要字段有:系統管理员表(Sya)包含字段有Sid(编号)、Sname(名称)、Pas(密码)、Syb(管理员标识);教师表(Tea)包含字段有Tid(编号)、Tname(名称)、Pas(密码)、Tyb(教师标识)、Suj(主讲课程);学员表(Std)包含字段有Stid(编号)、Stname(姓名)、Pas(密码)、Trid(培训班编号)、Trn(学籍号)、Stdb(学生标识);试题表(Tetqes)包括字段有Tetid(编号)、Tetcon(内容)、Tetaws(答案)、Tetyp(类别)、Tetval(分值);考卷表(Pap)有Pid(编号)、Pna(考卷名称)、Tetids(选题编号);成绩表(Sco)包含字段有Scid(编号)、Pid(考卷编号)、Stid(学员编号)、Sco(得分);考试情况表(Tesinfo)包含字段有Tesid(编号)、Tesna(考试名称)、Testime(时间)、Tesifo(考况)。

4 网上考试系统实现

4.1 题库管理

为了使题库起到测试学员真实水平的作用,题库中的试题不仅要数量众多而且不同种类难度的试题要一应俱全,这样生成的考卷才有区分度。题库管理由系统管理员和教师共同负责,主要对党校培训班当前和未来会涉及到的学科章节以及主客观题的内容、难度进行添加编辑删除,同时便于将相同学科的试题集中管理。当管理员、教师进行题库管理时,必须首先通过身份认证确定拥有相关操作权限,这主要通过asp.net的登陆控件Login、LoginView来实现。

4.2 试题管理

试题管理是根据考试目标、要求学员掌握的知识结构来组织试题的,这里主要是通过相关算法,根据题型、数量、分值等参数从题库中抽出符合要求的试题组成考卷。抽题时会使用到SQL语言的NEWID()随机函数从题库中选择试题,其中抽取单选题的部分代码如下:

Public void Singletakeout(string type,int value,int num,string Pid){

SqlConnection tk = Connection.creatConnection();String str= "select top "+ num + "* from tk_dx where testType=" + type +" and testValue=' "+ Value + " ' order by newid()";

SqlCommand sjCommand = new SqlCommand(str, tk); sjCommand.Connection.Open();

SqlDataAdapter adapter = new SqlDataAdapter(sjCommand);DataSet ds = new DataSet();

adapter.Fill(ds, "Sigtakout");

foreach (DataRow row in ds.Tables["Sigtakout"].Rows){

SqlConnection con2 = Connection.creatConnection();con2.Open();

SqlCommand stk=new SqlCommand("Testpaperadd",con2);stkCommand.CommandType=CommandType.StoredProcedure;

tm = new SqlParameter("@Paperid",SqlDbType.Int);tm.Value = Pid.ToString();stk.Parameters.Add(tm);

tm = new SqlParameter("@Singleid",SqlDbType.Int);

tm.Value = Convert.ToInt32(row["Tetid"].ToString());

stk.Parameters.Add(tm);tm = new SqlParameter("@Content ",SqlDbType.Int);

tm.Value = Convert.ToInt32(row["Tetcon"].ToString());stk.Parameters.Add(tm);

tm = new SqlParameter("@SingleA",SqlDbType.Text);

tm.Value = Convert.ToInt32(row["Tetopta"].ToString());

stk.Parameters.Add(tm);tm = new SqlParameter("@SingleB ",SqlDbType.Int);

tm.Value = Convert.ToInt32(row["Tetoptb "].ToString());stk.Parameters.Add(tm);

tm = new SqlParameter("@SingleC ",SqlDbType.Int);

tm.Value = Convert.ToInt32(row["Tetoptc "].ToString());

stk.Parameters.Add(tm);tm = new SqlParameter("@SingleD ",SqlDbType.Int);

tm.Value = Convert.ToInt32(row["Tetoptd "].ToString());stk.Parameters.Add(tm);

tm = new SqlParameter("@SingleAws ",SqlDbType.VarChar,60);tm.Value = row["Tetaws"].ToString();

stk.Parameters.Add(tm);stk.ExecuteNonQuery();con2.Close();}

tk.Close();}

4.3 考試管理

考试管理模块分为前台考试模块与后台监考模块。前台考试模块要求党校学员必须在安排的考试时间内录入自己的学籍号、密码并选择考试科目才能进入考试。在考试过程中,系统对学员的每道试题答案进行实时保存并上传到考试服务器中,学员提交试卷后可以立即查看自己的客观题分数。由于考试人数众多时会占用大量的服务器资源,所以必须对学员的考试时间进行控制,这里使用ajax技术来同步考试时间,当剩余时间为零时,考试系统自动终止学员答卷。

后台监考模块允许管理员在发现违纪现象时及时将相应人员考卷收走,在考试出现突发状况时允许学员重新考试,其中禁止学员考试的部分代码如下:

protected void btCompultakepaper_Click(object sender,EventArgs e){

int num=0;int n=this.Multiqes.Rows.Count;

for( int j=0;j

if(((CheckBox)(this.Multiqes.Row[j].Cells[8].FindControl("ckforbid"))).checked){

num+=1;Jkobj.forbidset(this.Multiqes.DataKeys[j].value.Tostring(),0)}}

this.DataBindToGridView();}

4.4 阅卷管理

由于学员在提交考卷后要求马上看到客观题分数,同时为了提高效率,考卷中的客观题使用机器阅卷,主观题使用人工阅卷,最终系统会将学员的主客观题得分汇总放入学员成绩库中,将学员答题情况放入学员答题库以便日后统计分析。机器阅卷时,系统会自动调出与相对应的答案库,针对每一道题,机器会将学员的填写情况与预设的答案做核对,由于学员填写的内容可能多种多样,同时选择选项的顺序也会不一样,所以在设计答题库时就要根据经验和实践操作尽可能多的完善类似答案,只要学员填写情况与这些类似答案有一项匹配成功,则就按照系统预先设定的题目分值给出得分并计入客观题总分当中。在人工阅卷当时,拥有阅卷权限的教师可以按照各自分工调出学员相应的主观题作答情况,并且在阅卷后生成主观题得分并记录到学员考试成绩库当中,完成人工阅卷操作。

4.5 成绩管理

这个模块主要是实现成绩统计、查询、修改等功能。对于学员来说,在系统开放查询成绩的时候可以通过输入学籍号和密码来获取考试分数,当一切验证通过后系统会显示学员的考试得分,验证不通过则无法查询,对于管理者来说,不光可以查询成绩,更可以对生成的成绩进行修改,统计这次考试中各培训班次的得分情况、合格率等并能方便的导出相关数据。

4.6 用戶管理

用户管理模块由管理员操作,对于新到校、在校、离校的学员、教师执行不同的操作,对新到校的学员、教师进行账号添加、分配权限、初始化密码等操作,对当前在校的学员、教师的账号信息、密码、操作权限则可以进行查询、修改,对离校的学员、教师账号及时进行删除,从而实现相应人员的有序管理。

5 系统测试情况

这套网上考试系统自开发完成后就投入到党校考试当中,先是在入党积极分子培训班中小范围推广试用,在学员、教师、管理员三方的建议下对系统相关操作流程进行了优化,之后进一步推广到培训班各个班级,目前系统运行的平稳有序,反馈良好。利用该套系统,学员能方便地在规定时间内通过前台考试系统进入考试、提交答卷,在考试结束后能很方便完成成绩查询,这进一步提高了党校服务学员的水平。教师则能在线编辑试题,阅卷时只需要对主观题进行在线评判,而客观题则由系统自动批改完成,这样减少了很多不必要的重复劳动,避免了手工出卷、阅卷中存在的差异性,进一步提高了考评的科学性。管理员不光能有效控制学员、教师的操作权限,提高了系统的安全和可靠性,还能有效监控考场情况,合理控制考试时间,避免监考人员提前或推后发卷和学员超时答题现象,进一步提高了考试的公平性,并且在考试结束后能较为方便对学员培训质量进行统计分析,从这些实实在在的数据查找到教学管理中如课程安排、教师质量上存在的不足,为下一步提高党校教学管理质量打好基础。

6 结束语

本文开发实现了党校网上考试系统,方便了对题库、试题、考试、阅卷、成绩、用户等方面进行管理,对于党校的实际需要一一做出了回应,一定程度上提高了党校考试的科学性、公正性、高效性,且系统具有良好的兼容性和维护性,使党校在面对接下来信息化大潮和建设智慧化校园的建设中能够迎头赶上。

参考文献:

[1] P Di Jin Sen,Dickinson Paul. ADO.NET高级编程[M]. 北京: 清华大学出版社, 2001: 45-68.

[2] 萨师煊, 王珊. 数据库系统概论[M]. 3版.北京: 高等教育出版社, 2000: 23-85.

[3] 黄海隆. Web测试技术研究[J].大众科技, 2006(4): 86-87

[4] 卓先德. 基于Java的在线考试系统[D]. 成都: 电子科技大学, 2007.

猜你喜欢

S模式党校
央企党校党性教育的探索与实践
中共第一所党校成立于何年何地?
党校网站创新的实践与探索
党校党建工作的路径选择
协助党委创办高中学生业余党校