在线考试系统题库管理系统报告doc.docx
- 文档编号:18515367
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:19
- 大小:1.36MB
在线考试系统题库管理系统报告doc.docx
《在线考试系统题库管理系统报告doc.docx》由会员分享,可在线阅读,更多相关《在线考试系统题库管理系统报告doc.docx(19页珍藏版)》请在冰点文库上搜索。
在线考试系统题库管理系统报告doc
本样式是以《在线考试系统》为例介绍的,学生请根据自己系统的内容、使用的技术自行改之,勿盲目抄写!
第1章系统分析
1.1开发背景
高等教育网络考试系统建设的意义及实现在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。
将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。
目前的一个发展趋势是采用大规模试题库的计算机网络考试模式随着计算机网络在生产生活、科技教育中的普及,传统试的考试出卷、答卷方式以及学绩管理正发生着巨大的变革,因此,如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个重要课题。
网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。
因此网络考试系统是电子化教学不可缺少的一个重要环节。
有趋势表明,考试的标准化、计算机网络化已当今考试的发展方向,当前国际上许多考试认证,例如GRE、CISCO,其出题、答卷以及评分都是在计算机上完成的。
无纸化的考试形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。
一、传统考试方法与网络考试的比较1、传统的考试形式的弊端。
传统的考试方法“一纸定终身”,存在重知识、轻能力的先天不足,成了一部分“高分低能”学生的摇篮;对另一部分学生,则因考试压力过大而罹患“考试恐惧症”,或者心存侥幸,投机取巧等等,2、信息技术为载体的网络考试的优点优点有:
保密性高;考试时间灵活;提高了学校的教学水平;网络考试系统不只是考试工具,更是学习、分析工具。
网上考试的最终目的不是得到分数,而是让学生通过测验知道自己的不足,让老师知道下一步的讲授重点。
所以试题属性、答案解析必不可少。
而且考试系统应允许老师设置:
是否允许学生看试题提示、答题后是否允许学生得到答案解析、考试是否计时、是否计分、是否允许学生得到个人分析结果、班级分析结果等。
考试完毕后立即让学生知道自己哪些知识点掌握不够,哪些方面要提高,哪些题目可以自己解决,哪些要老师帮助。
老师拿到统计分析报表后,根据统计薄弱环节重点讲解。
此外,考试系统应具有统计数据汇总上报功能,各种数据汇总后最终将成为教育主管部门决策的依据。
电子试卷提供了自动记时、纵观全卷、即选即作、试题标记、题型过滤等友好的界面设定,加上计算器和草稿纸的设计,让考试的过程更流畅。
所有的一切完全从考生的角度出发,力争提供最优化的考试环境。
三、通用考试系统的设计对于一个通用的网络考试系统,必须克服以前计算机考试的几个主要不足,一是题型单一,由于实现机考与计算机阅卷,题型通常只是客观题,如一些需要发挥主观分析能力,基本上无法实现。
二是题库扩充难度高,一旦题库的主体格式确定,无法对其他格式进行兼容,对于现成的题库更无法直接使用,使一些已出版的题库――这些优质资源无法整合运用,三是考试系统功能单一,只能在进行考试时使用,学生平时的练习尤其是针对性练习功能基本上没有,造成教学资源的闲置。
针对以上问题,本文拟设计一个安全性更好,有更强的通用性和可扩展性和具备较强的意外事件处理能力,操作简单,使用方便的网络考试系统。
本文设计的是一套基于微软SQLserver2000数据库的网络软件系统.
1.2系统需求分析
(系统流程,功能简单分析,数据流图等)
1.3开发环境
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。
由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序
等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表格多,另外考虑到实际情况,如学生基本信息的变动,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存
放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。
用C#语言进行编码。
C#编程语言是微软在.NET计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持
跨平台,与XML相融合等。
因此选择C#编程语言。
第2章系统设计
2.1系统架构
整个系统分为三个部分,管理员、学生和主界面。
首先,因为系统是面向特定的某些对象的,所以用户进入系统应该进行身份验证。
根据不同的身份进入不同的操作界面。
考试者进入考试系统后,应该能根据自己的需要进行个人信息的查看,考试系统的进入,以及考分的查看。
对于每个应试者来说,试卷的试题和题量都应是相同的。
在线考试基于网络环境,系统应该对考试时间进行控制,时间到了会要求考试者交卷。
考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。
考试完毕后,可以返回登录界面或继续考试。
此外,用户还应能进行注册。
对于管理员来说,其资料是确定的,无法对其进行编辑,在进入系统后,应该能够对学生用户进行管理,例如修改和删除等。
对于学生的成绩进行查看,还能对题库进行增删改查等操作。
本系统是以WindowsXP系统为操作平台,在.NET环境下编程实现。
系统ER图:
2.2系统功能模块
本系统分为用户管理模块、学生管理模块、题库管理模块、试卷生成管理模块、考试查询模块、考试页面管理模块、成绩管理模块七个模块。
图2-2系统模块图
学生用例图:
图2-3学生用例图
管理员用例图:
图2-4管理员用例图
2.3系统数据库设计
综合以上分析,要实现上面的所有功能模块,数据库共要设计七个表,它们分别是:
学生表、管理员表、成绩表、题库表、套题表、科目表和考题表。
表2-1学生表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
ID
bigint
8
N
Y
ID号
2
Name
nvarchar
20
N
N
姓名
3
PWD
nvarchar
10
N
N
密码
4
JoinTime
datatime
Y
N
创建时间
5
Sex
nvarchar
2
N
N
性别
表2-2管理员表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
ID
bigint
8
N
Y
ID号
2
Name
nvarchar
20
N
N
姓名
3
PWD
nvarchar
10
N
N
密码
4
JoinTime
datatime
Y
N
创建时间
表2-3成绩表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
res_id
bigint
8
N
Y
考号
2
stu_id
nvarchar
50
Y
N
学号
3
Name
nvarchar
50
Y
N
姓名
4
res_single
int
4
Y
N
单选得分
5
res_more
int
4
Y
N
多选得分
6
res_pd
int
4
Y
N
判断得分
7
res_totle
Y
N
总分
8
res_subdata
datatime
Y
N
考试时间
表2-5套题表
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
ID
bigint
8
N
Y
题号
2
Name
nvarchar
50
Y
N
标题
3
LessionID
bigint
8
Y
N
科目号
4
JoinTime
datatime
Y
Y
创建时间
2.4系统主要类的设计
第3章系统实现
3.1学生主页面
当以学生身份登录成功后会跳转到学生主界面(图3-1)。
学生主界面用一个table进行布局,分为三行,最上面是一个图片,中间一个Table行,显示学生姓名和当前时间,最下面由两个Iframe组成,分别引用StudentTreeview和StudenInfo俩个页面.
图3-1学生主界面
对于中间的Lable则使用Application将前一页的信息传递过来,显示在Lable中。
时间的显示则由[1]系统时间产生:
functiongetTime()
{
obj=document.getElementById("Now_time");
varmyDate=newDate();
obj.value=myDate.toLocaleString();
window.setTimeout("getTime()",1000);
}
3.2查看成绩
查看成绩页面里,学生可以查看自己最后一次考试的详细信息(图3-2),如果学生还没有参加过考试则给出提示。
图3-2成绩查看页面
主要代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Application["User_name"]!
=null&&Application["PWD"]!
=null)
{
this.Stu_no.Text=Application["User_name"].ToString();
this.Stu_pwd.Text=Application["PWD"].ToString();
}
else
{
Response.Redirect("../Login.aspx");
}
stringSql="select*fromtb_Studentwhereid='"+Application["User_name"]+"'andpwd='"+Application["PWD"]+"'";
try
{
DataSetds=Data.Get_DataSet(Sql);
DataRowdr=ds.Tables[0].Rows[0];
this.Stu_name.Text=dr["name"].ToString();
}
catch
{
Response.Write("
}
}
3.3考试界面
学生点击主界面导航栏上的开始考试就可以跳转到考试界面(图3-4),考试界面也是用table布局,最上面一行显示图片,下一行显示当前时间以及考试结束时间。
下面放置三个datalist控件,[2]分别用于显示单选题,多选题,判断题。
并且设置它们的模板。
图3-3考试界面图
图3-4datalist模板图
单选题模板[3]代码如下:
800px;font-size: 9pt;"> 22px"> LabelID="Label1"runat="server"> Label><%#DataBinder.Eval(Container.DataItem,"que_subject")%>
557px;text-align: left;height: 17px;"> RadioButtonID="RadioButton2"runat="serverGroupName="answer"Text="A."/> <%#DataBinder.Eval(Container.DataItem,"optionA")%>
557px;text-align: left;height: 17px;"> RadioButtonID="RadioButton1"runat="server"GroupName="answer"Text="B."/><%#DataBinder.Eval(Container.DataItem,"optionB")%>
557px;text-align: left"> RadioButtonID="RadioButton3"runat="server"GroupName="answer"Text="C."/><%#DataBinder.Eval(Container.DataItem,"optionC")%>
557px;text-align: left"> RadioButtonID="RadioButton4"runat="server"GroupName="answer"Text="D."/><%#DataBinder.Eval(Container.DataItem,"optionD")%>
LabelID="an1"runat="server"Visible="False"Text='<%#DataBinder.Eval(Container.DataItem,"que_answer")%>'>
Label>
DataList>
多选题和判断题模板代码雷同。
从考试界面加载开始计时,一个小时之内如果学生没有点击交卷按钮,系统会自动交卷,[4]代码如下:
varobj;
varexit=newDate();
varyear=exit.getFullYear();
varmonth=exit.getMonth();
varday=exit.getDate();
varhour=exit.getHours();
varmin=exit.getMinutes();
varsec=exit.getSeconds();
vardatetime=newDate(year,month,day,hour+1,min,sec);
functiongetTime()
{obj=document.getElementById("timer");
varmyDate=newDate();
obj.innerHTML="考试时间1小时,到时间自动交卷现在时间:
"+myDate.toLocaleTimeString()+"结束时间:
"+datetime.toLocaleTimeString();
if(myDate>datetime)
{
document.getElementById("btnSubmit").click();
}
window.setTimeout("getTime()",1000);}
考试界面一加载时会从题库中读取题并绑定到datalist空间上,代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Application["User_name"]==null)
{
Response.Redirect("../Login.aspx");
}
if(!
IsPostBack)
{
this.BindQuestion
(1);//获取单择题并绑定
this.BindQuestion
(2);//获取多选题并绑定
this.BindQuestion(3);//获取判断题并绑定
}
}
其中绑定题目的函数代码如下(以单选题为例):
try
{
DataList1.DataSource=Data.Get_DataTable("select*fromtb_Questionswhereque_type='单选题'orderbyiddesc","danxuan").DefaultView;
}
catch
{
Response.Redirect("StudentIndex.aspx");
}
DataList1.DataBind();
//生成单选题题号
for(inttID1=0;tID1 { LabellblSelect=(Label)DataList1.Items[tID1].FindControl("Label1"); lblSelect.Text=(tID1+1).ToString()+"、"; } 交卷按钮事件代码如下: this.ComputeGrade (1);//计算单选题分数 this.ComputeGrade (2);//计算多选题分数 this.ComputeGrade(3);//计算判断题分数 //显式各题分数和总分 this.lblSel.Text="单选题: "+int_row1Point+"分"; this.lblDSel.Text="多选题: "+int_row2Point+"分"; this.lbpd.Text="判断题: "+int_row3Point+"分"; this.lblTotal.Text="总分: "+(int_row1Point+int_row2Point+int_row3Point)+"分"; //将学生成绩保存 SaveGrade(); //给出交卷提醒 Response.Write(" this.TextBox3.Text=""; } 其中的计算分数的函数代码如下(以单选题为例): //循环遍历每一道题 for(intindex=0;index { //取出A,B,C,D四个选项控件和隐藏的答案控件 RadioButtonra1=(RadioButton)DataList1.Items[index].FindControl("RadioButton1"); RadioButtonra2=(RadioButton)DataList1.Items[index].FindControl("RadioButton2"); RadioButtonra3=(RadioButton)DataList1.Items[index].FindControl("RadioButton3"); RadioButtonra4=(RadioButton)DataList1.Items[index].FindControl("RadioButton4"); Labelanswer=(Label)DataList1.Items[index].FindControl("an1"); answer.Text=answer.Text.Trim(); //如果这题没有选答案,则加零分 if(! ra1.Checked&&! ra2.Checked&&! ra3.Checked&&! ra4.Checked) { int_row1Point+=0; } //如果选择了,则判断是否正确,如果正确则加上相应的分 else { if(answer.Text=="A"&&ra1.Checked) { int_row1Point+=40/DataList1.Items.Count; } elseif(answer.Text=="B"&&ra2.Checked) { int_row1Point+=40/DataList1.Items.Count; } elseif(answer.Text=="C"&&ra3.Checked) { int_row1Point+=40/DataList1.Items.Count; } elseif(answer.Text=="D"&&ra4.Checked) { int_row1Point+=40/DataList1.Items.Count; } } } 保存分数代码如下: protectedvoidSaveGrade() { try { Data.Run_SQL("updatetb_StuResultsetres_single='"+int_row1Point+"',res_more='" +int_row2Point+"',res_pd='"+int_row3Point+"'wherestu_id='"+Application["User_name"]+"'"); } catch { Response.Write(" ');"); } 第4章系统测试 介绍清楚自己使用了什么测试方法(如黑盒、白盒), 对哪些模块进行了测试,测试结果如何(如是否正常,有哪些问题等) 第5章结束语 对本次课程设计的自己的工作情况做个总结,考虑从以下二方面叙述: 1.本次设计完成了哪些工作,所开发的系统有什么特点(针对你的系统,不少于4行),创新点是什么 2.本次设计的体会(或经验) 参考文献 [1]曹斌,韩中孝.ASP.NET数据库系统项目开发实践[M].北京科学出版社,2003,: 93-97. [2]陈宗兴,杜国.ASP.NET网络系统程序开发[M].北京: 中国水利水电出版社2008,: 92-102. [3]徐娟,吴志山,陈金良.网页制作实用技术[M].北京: 清华大学出版社,2003 : 21-52. [4]陈玉峰.SQLServer2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统 题库 管理 报告 doc