在线考试系统C#软件技术.docx
- 文档编号:25257292
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:30
- 大小:317.46KB
在线考试系统C#软件技术.docx
《在线考试系统C#软件技术.docx》由会员分享,可在线阅读,更多相关《在线考试系统C#软件技术.docx(30页珍藏版)》请在冰豆网上搜索。
在线考试系统C#软件技术
摘要
随着计算机科学技术的高速发展,信息技术已经应用于社会生活的各个领域。
网络考试系统正是迎合这一技术开发的,该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力、财力和时间。
通过考试系统WebExam是目前市场占有率较高,应用最广泛的远程网络学习考试软件,适合政府、行业及企业的各专业网上考试、作业、练习等应用,尤其是在学校,它采用Web方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上考试、作业、练习、成绩排行等功能,并能够答卷保存、自动判分、成绩查询和分析等功能。
在线考试系统利用网络手段将考试资源整合,实现了一定程度的无纸化考试,从而使考试这项常规而繁琐的任务变得更加方便。
避免了以往学校考试中物质方面,例如:
纸张、笔、监考老师等资源的浪费。
后台管理方面由专业管理人员进行管理,确保了程序的稳定性、安全性。
登陆在线考试系统后台管理,可以对考试内容、专业、科目和考试题目等都作了详细的分类,这样考生通过自己的学生编号和密码进入前台,按步骤依次进行选题和答题,答题完毕后系统会自动判断考卷,并核对出最后考卷的分数,解决了在学校考试后等待考卷分数通知的问题。
关键词在线考试系统VisualStudio2008SQLServer2005数据库
第一章绪论
1.1课题研究背景
近几年来,随着Internet的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务。
联合国教科文组织1998年在其一项调查报告中:
无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家,而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。
中国的网络教育也随Internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。
基于Web技术的网络考试系统可以借助于遍布全球的Internet进行,因此考试即可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。
试卷可以根据题库中的内容即时生成,可避免考试前的压题;还可以直接把成绩送到数据库中,进行统计、排序等操作。
所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。
因此,采用网络考试方式将是以后考试发展的趋势。
随着国家的开放,考试标准化也逐渐与国际接轨,现在比较流行的考试系统大致分两种:
一种使用类似高考的答题卡,使用光电输入的方法对答题卡上的客观题进行判分,对主观题则进行人工批改。
另一种服务的主要对象是基于网络答题的各种认证和考试,这些考试的试卷大都以客观题为主。
现今的这些考试系统都不能满足计算机学院的需要,第一种需要纸质,只能在校园内使用,不可能应对学生分布各地的需要。
而第二种本来也是很好的选择,但是与这种考试系统相配套的试题往往以客观题居多,这与计算机学院的实际有很大的出入。
由于上述与计算机学院情况明显不符的问题,照搬那些系统明显不行,所以必须开发一套新的计算机学院远程在线考试系统,同时能够很好地支持教学改革,使学生得到更好的学习条件。
1.2课题研究目的和意义
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开始设了远程教育。
但是,远程教育的软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节。
例如,教学系统、考试系统、和答疑系统等等。
其中一个很重要的环节是在线考试系统,同时,它也是最难实现的环节。
在我国,远程教育以蓬勃发展起来。
但目前学校和社会上的各种考试大都都采用传统的考试方法,在此方式下,组织一次考试,要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切需要这些技术来进行在线考试,以减轻教师的工作的负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。
计算机学院远程在线考试系统的从实际需求入手,对比现有的在线考试系统,借鉴现有系统先进之处,查找现在系统的空白和不足,研究解决的途径,从而开发出满足需求的计算机学院远程在线考试系统。
使得在计算机学院远程考试系统的帮助下,教师可轻松完成教学计划,学生也可修得所需学分。
学生不用奔波于实习地与学校之间,节省了路费与时间,提高了效率。
本系统能够很好地支持教学改革,使学生得到更好的学习条件。
本系统还具有相当高的应用广泛性,只要在数据库中添加相关信息,本系统可应用于有相同需求的学院或学校。
第二章系统分析概述
2.1引言
ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。
采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面:
(1)由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。
这使得在多次访问时速度有了极大的提升;
(2)由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系;
(3)ASP.NET支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;
(4)ASP.NET采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。
2.2系统需求分析
系统开发的总体任务是实现在线考试的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成的。
在线考试系统需要完成的功能主要有:
用户的注册和登录;用户在线答题;对科目进行管理;对管理员进行试题的管理;以及个人信息管理功能。
在数据库方面,利用关系数据库功能强大的查询语言对企业各类信息入库保存,按要求及时处理。
该系统集录入、维护、查询、审核和各种处理为一体,各种操作可以通过菜单进行,操作快捷、方便,性能高效、强大;使用易懂、易会,形象增强的数据处理,用户均可根据需要自行使用。
2.3系统概述
a.本系统是一个在线考试系统,在实施过程中主要实现以下目标:
(1)界面友好、美观,体现在线考试系统的特点,而且操作简便。
(2)各功能模块层次清晰,代码高效易懂。
(3)添加和编辑简便、清晰,提高工作效率。
(4)查询方便,数据存储安全可靠。
(5)功能全面,实用性强。
b.主要功能有:
(1)注册用户模块
注册用户主要实现用户的登录功能和注册功能。
(2)在线测试模块
在线测试是本系统的核心模块,不论是管理员还是普通用户都可以进行在线测试。
在此页面中,可以选择不同的科目进行科目测试,也可以显示或者隐藏答案提示。
(3)科目管理模块
只有管理员权限的用户登录才可以进入科目管理模块,在科目管理模块中,除了显示已有己。
(4)试题管理模块
只有管理员权限的用户才可以进入试题管理模块。
(5)用户管理模块
在用户管理模块中,管理员可以删除用户和修改用户信息。
该页面没有增加用户功能,用户可以自己注册登录。
(6)个人信息修改模块
普通用户登陆后可以进入个人信息修改模块,修改个人密码、身份证号码和E-mail等信息。
c.开发环境的选择方法
目前,用于开发数据库管理信息系统的编程语言很多,比如Delphi、PowerBuilder、VisualC++、Java、VisualBasic6及VB.NET等等,而用于后台数据库管理的DBMS也有很多,比如有Oracle、MSSQLSERVER、SYBASE、INFORMIX、DB2、VISUALFOXPRO、ACCESS等等。
本人根据王志勃老师的布置要求,采用面向对象的软件开发方法来实现此在线考试软件,系统开发工具我们选择了能够跨平台的开发工具VisualStudio2008。
在前台操作与后台数据库处理的连接上,主要采用ADO.NET技术和SQLServer2005数据库,运用客户机服务器模式(C/S)配合功能强大的SQL查询语言实现预定的功能需求。
2.4VisualStudio2008的概述
VisualStudio2008是一个全面集成的开发环境,用于编写,调试代码,把代码编译为程序集进行发布,实际上,VisualStudio提供了非常专业的多文档界面应用程序,在该应用程序中可以进行与开发代码相关的任何操作,它提供了:
文本编辑器:
在文本编辑器中,可以编写C#代码(以及VB2005,J#和C++代码)。
这个文本编辑器相当复杂。
代码的设计视图编辑器:
它可以在项目中可视化的放置用户界面和数据访问控件。
此时VisualStudio会自动在源文件中添加必要的C#代码,在项目中实例化这些控件。
支持窗口:
它们可以查看修改项目的各个方面。
也可以使用这些窗口指定编译选项。
在环境中编译:
可以只选择一个菜单选项编译项目,而不必在命令行上运行C#编译器。
VisualStudio会调用C#编译器。
集成的调试程序:
编程的本质是代码在第一次运行时,一般不会正确执行。
也许在第二次、第三次才能正确运行。
VisualStudio无缝的链接到一个调试程序上,可以在该调试环境中设置断点,观察变量。
集成的MSDN帮助:
VisualStudio可以在IDE中调用MSDN文档说明。
访问其他程序:
VisualStudio还能调用许多其他工具来查看和修改计算机或网络的一些内容,而无需退出开发环境。
2.5SQLServer2005数据库的概述
SQLSevrer2005是一个C/S体系结构的关系数据库管理系统,它使Transact—SQL语言在客户和SQLServer之间发送处理请求,SQLServer利用C/S体系结构把工作分成两部分:
客户端负责逻辑处理把数据呈现给用户,SQLServer管理数据库。
SQLServer用Transact—SQL作为它的数据库查询和编程语言,使用Transact—SQL能够方便地存取数据、查询、更新和管理关系数据库。
第三章系统方案总体设计
3.1系统设计思想及相关技术介绍
3.1.1系统架构设计
首先用户登录,如果登陆成功系统检测用户类型,用户类型分为两种:
普通用户和管理员。
普通用户登录后只能进行在线答题和个人信息管理,在线答题时可以选择科目,可以显示和隐藏答案提示,模块测试后可以重做答错的题。
管理员身份登录功能较多,除了可以在线答题外,还可以进行科目管理、试题管理和用户管理,科目管理包括增加、删除、修改科目,试题管理同样是增、删、改操作;用户管理中只能删除和修改用户信息,增加用户在注册用户功能中完成。
图3-1在线考试系统功能框架
3.1.2系统的功能特点
系统的功能所具备的特点:
操作简单方便、界面简洁美观;具有严肃性和公正性,系统提供自动交卷功能;提供考试时间倒计时功能;系统自动交卷阅卷,保证成绩真实准确;考生可随时查看考试成绩;对考生注册信息进行管理。
3.1.3系统总体模块功能设计
经过对整个系统的分析,可以得出以下功能模块,如图3-2所示:
(1)登陆者模块:
面向登陆者。
可以先进行注册,再实现登录功能,进而进行在线考试。
(2)管理员模块:
面向管理员。
可以对考题进行添加、删除、修改和更新功能;可以进行答题的测试;科目的管理;题库的管理;以及对用户的管理。
图3-2功能模块图
3.2系统用例描述
3.2.1教师用户
教师用户的用例有出卷、审核试卷、判卷。
教师用户的用例图如图3-3所示。
图3-3教师用户用例图
3.2.2学生用户
学生用户的用例只有在线考试。
学生用户的用例图如图3-4所示。
图3-4学生用户用例图
3.2.3管理员
管理员的用例包括安排出卷教师、安排审卷教师、安排考试时间、安排判卷教师、管理考试试卷、管理学生答卷和管理基本信息。
管理员的用例图如图3-5所示。
图3-5管理员用例图
第四章数据库的设计
4.1引言
数据库是一个应用系统的核心,数据库设计的好坏直接关系到应用系统的执行效率,数据的一致性和完整性,设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求,数据库设计一般包括以下几个步骤:
数据库需求分析
数据库概念结构设计
数据库逻辑结构设计
4.2数据库需求分析
数据库需求分析就是要了解在这个应用系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通在线考试系统的数据库管理要进行各种各样的数据输入和导出,提供各类信息的添加、删除、修改和更新等功能。
通过上述对系统的设计分析,根据在线考试系统的需求,共需设计以下五种信息:
(1)用户注册信息。
(2)科目管理信息。
(3)试题管理信息。
(4)用户管理信息。
(5)个人信息管理。
4.3数据库概念结构设计
等到了上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。
这些实体包括各种具体信息,通过相互之间的作用形成数据流动。
4.4数据库逻辑结构设计
通过调查分析各种资料,根据本管理系统用户需要操作和处理的各种数据,对数据表进行了分析。
确定在数据库中存储的各种数据之间的关系以及数据类型,列举出部分数据表的关系如下:
(1)用户信息表(User)包括的数据项有:
用户名、密码、性别、身份证号码、电子邮箱、角色编号等。
(如表4.1所示)
表4.1用户信息表
字段
类型
字段长度
允许为空
是否主外键
说明
UserName
varchar
50
不允许
主键
用户名
(续表4.1)
字段
类型
字段长度
允许为空
是否主外键
说明
Password
varchar
50
不允许
否
密码
sex
varchar
2
允许
否
性别
userIdentity
varchar
20
允许
否
身份证号
varchar
50
允许
否
电子邮箱
roleID
int
—
不允许
外键
角色编号
(2)角色表(Role)中的字段有角色编号、角色名。
(如表4.2所示)
表4.2角色表
字段
类型
字段长度
允许为空
是否主外键
说明
roleID
int
自增长
不允许
主键
角色编号
roleName
varchar
20
不允许
否
角色名
(3)(Course)中的字段有课程编号和课程名以及两个备用字段。
(如图4-3所示)
表4.3课程表角色表
字段
类型
字段长度
允许为空
是否主外键
说明
courseID
int
自增长
不允许
主键
课程编号
courseName
varchar
50
不允许
否
课程编号
Temp1
varchar
100
允许
否
备用字段1
Temp2
varchar
100
允许
否
备用字段2
(4)试题表(question)中的字段有题号、课程编号、题干、A答案、B答案、C答案、D答案、正确答案。
(如表4.4所示)
表4.4角色表
字段
类型
字段长度
允许为空
是否主外键
说明
questionID
int
自增长
不允许
主键
题号
courseID
int
—
不允许
否
课程编号
questionCoutent
varchar
500
允许
否
题干
answer1
varchar
100
允许
否
A答案
answer2
varchar
100
允许
否
B答案
answer3
varchar
100
允许
否
C答案
(续表4.4)
表4.4角色表
字段
类型
字段长度
允许为空
是否主外键
说明
answer4
varchar
100
允许
否
D答案
rightAnswer
varchar
50
不允许
否
正确答案
第五章界面设计与实现
5.1主页设计
5.1.1实现目标
程序启动后,进入登陆窗体,用户输入用户名和密码,然后进行登录。
同时可以按下取消按钮退出本系统,登录界面模块中主要实现如下功能:
(1)可进行选择用户身份,支持鼠标操作。
(2)用户名和密码验证成功后,进入主界面。
(3)用户名错误或密码错误提醒并返回输入有误。
5-1主页面
5.1.2登录窗口
5-2登录窗口
在登录过程中,系统会首先根据画面上用户输入的内容进行验证检查,相关代码如下:
stringconn=ConfigurationManager.ConnectionString["WebTestConnection
String"].ConnectionString;
protectedvoidtxtRegist_Click(objectsender,EventArgse)
{
Response.Redirect("Regist.aspx");
}
protectedvoidtxtLogin_Click(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection(conn);
stringstrSql="selectcount(*)from[user]whereuserName='"
+txtName.Text+"'andpassword='"
+this.txtPassword.Text+"'";
SqlCommandcom=newSqlCommand(strSql,con);
con.Open();
intnum=(int)com.ExecuteScalar();
if(num==0)
{
Response.Write("
alert('密码错误!
');");
return;
}
strSql="selectroleIDfrom[user]whereuserName='"
+txtName.Text+"'";
try
{
com.CommandText=strSql;
SqlDataReadersdr=com.ExecuteReader();
if(sdr.Read())
{
strings=sdr["roleID"].ToString();
Session["roleID"]=s;
Session["userName"]=txtName.Text;
Session["userPassword"]=txtPassword.Text;
}
sdr.Close();
}
catch(SqlExceptionex)
{
Response.Write(ex.ToString());
}
finally
{
con.Close();
}
Response.Redirect("Main.aspx");
}
如果验证通过,系统会连接数据库,进行数据正确性以及用户权限的检查,以上检查成功的情况下,就会进入本系统的主窗体,如果失败,跳出错误提示框。
5.13注册窗口
图5-3注册窗口
在注册过程中,系统会自动检查用户注册的信息是否合法,相关代码如下:
stringconn=ConfigurationManager.ConnectionStrings["WebTestConn
ectionString"].ConnectionString;
protectedvoidbtnOK_Click(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection(conn);
stringstrSql="selectcount(*)from[user]whereuserName='"
+txtName.Text+"'";
SqlCommandcom=newSqlCommand(strSql,con);
con.Open();
intnum=(int)com.ExecuteScalar();
if(num>0)
{
Response.Write("
alert('表中存在记录!
');");
}
else
{
stringname=txtName.Text;
stringpassword=this.txtPassword.Text;
stringsex="男";
if(this.rbtnFemail.Checked)
{
sex="女";
}
stringidentity=txtIdentity.Text.ToString();
stringemail=this.txtMail.Text.ToString();
strSql="insertinto[user](userName,password,sex,userIdentity,email,roleID)values('"+name+"','"+password+"','"
+sex+"','"+identity+"','"+email+"',1)";
com=newSqlCommand(strSql,con);
com.ExecuteNonQuery();
con.Close();
Response.Write("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线考试系统 C#软件技术 在线 考试 系统 C# 软件技术