收藏 分销(赏)

在线考试系统论文asp-net-(含源文件).doc

上传人:a199****6536 文档编号:2183678 上传时间:2024-05-22 格式:DOC 页数:21 大小:727.04KB
下载 相关 举报
在线考试系统论文asp-net-(含源文件).doc_第1页
第1页 / 共21页
在线考试系统论文asp-net-(含源文件).doc_第2页
第2页 / 共21页
在线考试系统论文asp-net-(含源文件).doc_第3页
第3页 / 共21页
在线考试系统论文asp-net-(含源文件).doc_第4页
第4页 / 共21页
在线考试系统论文asp-net-(含源文件).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、在线考试系统论文asp net (含源文件) 作者: 日期:2 个人收集整理 勿做商业用途毕业论文(设计)题目: 在线考试系统 0本人声明我声明, 本论文(设计)工作是由本人在指导教师的指导下独立完成的, 在完成论文(设计)时所利用的一切资料均已在参考文献中列出。16目 录摘 要1第一章 绪 论21.1系统开发的目的与意义21.2系统开发背景2第二章 系统需求分析2第三章 概念结构设计33.1实体模型关系图3第四章 数据库的设计34.1创建数据库名:OnLineTest34.2创建数据库表34.2。1 试题表:TestQuestions34。2。2分数表:TestScores44.2.3用户表

2、:UserInfos44.2.4报名表:UserTest44.2。5试卷表:TestPaper54.2。6科目类别表:CategoryInfo54.2.7评论表:SayComment5第五章 功能模块设计55.1该系统具备主要的基本功能如下:55.2系统功能结构图如下图:6第六章 概要设计76。1编程环境76。2 数据库管理模块76.2.1 连接数据库76。2。2 数据库访问模块76。3 界面实现设计96.3.1登录模块96.3。2 在线考试模块106。3。3 用户管理模块136。3。3试题管理模块14第七章 结 论16第八章 参考文献16第九章 致 谢16摘 要在网络迅速发展的今天,网页技术

3、的应用也越来越广泛。网页技术的应用对于教育行业来说优势更为明显.教育行业可以通过网络进行在线考试,提高教育的管理水平。本文简要介绍在线考试系统从设计到开发的过程。系统的开发经历了系统需求分析、系统数据库设计、功能模块设计和系统实施等阶段。从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试使用。该系统基于B/S模式能多用户在线考试.该系统运行方便、操作简单,效率很高.现阶段实现了试卷的客观题部分,考生也可以在网上练习考试检验自己的学习效果,以发现自己的不足,通过在线测试使得学习效率得到很大

4、提高。该系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。考生并可以在规定的时间考试并迅速获得成绩,出题者所要做的只是精心设计课题库,对题目的录入、修改、维护题库,这样可以大量减轻了出题者的负担,也就是说实现了真正的无纸化考试。设计本在线考试系统能充分的利用现有资源,能帮助教学管理人员利用计算机,快速方便地对用户的考试进行高效率的管理.【关键字】 在线考试 管理信息 题库 B/S结构 ASP.NET技术第一章 绪 论1。1系统开发的目的与意义随着网络技术的飞速发展,信息已成为一种商业化的资本,只有拥有及时准备的信息,才能拥有更好的发现。现在,计算机硬件技术的发展已经达到了相当高

5、的水平.但是,在线考试系统还不是太普及,随着这项技术的不断深入发展,就要求有更好、更完善的系统应用到远程考试当中去,这就给软件设计人员提出了更高的设计要求。在线考试包括很多环节,其中很重要的一个环节就是在线考试模块。在现在,虽然网络考试越来越被关注,但能达到考试更合适,合理,节省资金节省人力,也是还有困难的。系统目的为了适应信息时代的需要,网上考试系统以其成本低、方便、评阅快等优点成为广大单位和部门追逐的对象。为了方便广大考生和单位,特设计一套在线考试系统。1.2系统开发背景随着计算机技术的发展和互联网时代的到来,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息

6、化社会前进,信息自动化的作用也越来越大,从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。在数字代的网络环境下,学生希望得到个性代的满足,根据自己的情况进行学习,同时希望能够得到科学的评价;老师希望有效改进现有的考试模式,提高考试的效率;教育机构也希望给网上的学生提供更全面灵活的服务,同时希望全面准确地对学生进行跟踪和评价。网络考试系统正是迎合这一市场需求面开发的,它旨在探索一种以互联网为基础的考试模式.通过这种新的模式,为学校创造一种新的考试环境,使考试管理突破时空限制,提高考试工作效率和标准代水平,使学术管理者、教师和学生可以随时、随地通过网络完成考试。目前存在的在线考试系统,它们的

7、各种工作主要还是依赖于手工完成,比如答题或者阅卷,需要学生和老师用笔进行等。不仅手续复杂麻烦,而且工作效率很低,还会受其它一些因素的影响。手工阅卷还存在这许多弊端,由于不可避免的人为因素,造成分数的遗漏、误改。计算机信息化管理有着计算精确,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们可以利用计算机网络,利用ASP.NET技术实现动态的管理。随着计算机网络技术的进一步发展和普及,利用ASP。NET技术开发的各种在线考试系统将越来越普及.第二章 系统需求分析对在线考试系统的设计进行需求分析:为了适应信息时代的需要,开发了基于B/S模式多用户在线考试系统程序.这系统运用方便、操作简单,效

8、率很高.现阶段虽只实现了试卷的客观部分,用户注册、多用户可以同时在线考试、动态随机出题、时间控制、自动判卷,试题录入、评论试题、修改题库、用户管理、科目管理、管理员管理、分数管理等主要的功能,也就是实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题和判卷等繁重的工作量。第三章 概念结构设计3。1实体模型关系图下图是数据关系模型实体关系图(图)。每个实体及属性分别如下:试卷用户试题管理员分数分数编号用户名称科目名称考试成绩考试时间用户编号用户名称用户密码管理员编号管理员名称管理员密码评论id评论评论内容科目ID评论时间考后心得第四章 数据库的设计4.1

9、创建数据库名:OnLineTest4.2创建数据库表为了实现本系统的功能对有关数据的存储的需要,设计数据库的表如下:4.2。1 试题表:TestQuestions列名 数据类型 是否为空 默认值 说明QuestionId int Not Null 自动递增,主键 试题编号QuestionName varchar(500) Not Null 试题名称SubjectName varchar(500) Not Null 科目名称SubjectType varchar(100) Not Null 题目类型Answer varchar(50) Null 正确答案QuestionScore int Not

10、 Null 2 题目分数AnswerA varchar(200) Not Null 选项AAnswerB varchar(200) Not Null 选项BAnswerC varchar(200) Not Null 选项CAnswerD varchar(200) Not Null 选项DDetailedAnswers varchar(500) NULL 详细解答4.2.2分数表:TestScores列名 数据类型 是否为空 默认值 说明ScoreId int Not Null 自动递增,主键 分数编号UserNum int Null 用户学号UserName varchar(20) Null

11、用户名称 SubjectName varchar(500) Null 科目名称TestScore int Null 考试成绩Experience varchar(500) NULL 考试心得TestDate datetime Null 考试时间4。2。3用户表:UserInfos列名 数据类型 是否为空 默认值 说明UserId int Not Null 主键 用户编号 主键UserNum varchar(10) Not Null 用户学号UserName varchar(20) Not Null 用户名称UserPwd varchar(20) Not Null 用户密码4.2.4报名表:Us

12、erTest列名 数据类型 是否为空 默认值 说明TestId int Not Null 自动递增 报名编号 主键TestSubjectName varchar(500) Null 报考科目TestUserName varchar(20) Null 考试姓名TestNum varchar(20) Null 考试证号4.2。5试卷表:TestPaper列名 数据类型 是否为空 默认值 说明SubjectId int Not Null 自动递增,主键 科目ID SubjectName varchar(500) Not Null 科目名称SubjectType varchar(100) Not Nu

13、ll 科目类型TotalScore int Not Null 试卷总分TotalTime int Not Null 考试时间TestDate datetime Not Null 考试日期4.2。6科目类别表:CategoryInfo列名 数据类型 是否为空 默认值 说明CategoryId int Not Null 自动递增,主键 类别ID SubjectType varchar(100) Not Null 科目类型4.2.7评论表:SayComment列名 数据类型 是否为空 默认值 说明CommentId int Not Null 自动递增,主键 评论ID SayContents varc

14、har(500) Not Null 评论内容SubjectId int Not Null 科目ID 外键 UserId int Not Null 用户编号 外键CreateTime datetime Not Null 评论时间第五章 功能模块设计5。1该系统具备主要的基本功能如下:用户模块:首先注册,用户再通过用户名和密码登录在线考试系统.浏览试题可以在线考试练习,并可以对试题进行评论。在线考试模块:考生登录选科报名,只要报名有科目,就可以调出试卷进行在线考试.考试中系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷,考试结束自主交卷。本系统只考虑客观题,要求

15、计算机能自动阅卷,然后马上显示出考生分数。考生考完以后,可以查阅成绩,并可以查阅试题答案,写下考后心得。考试记录管理:系统中的管理员可以查询考试成绩记录进行维护。科目类型管理模块:管理者可以对各科目的类型进行添加、修改、删除的维护。科目管理模块:添加科目:其基本信息有科目名称、题型、题量和考试总时间等。科目维护:管理员可以查询、修改、删除不再需要的科目.试题管理模块:试题录入:首先,用户选择试题所属科目。其次,每道试题有类型、试题内容与选项和答案等栏目。管理员输入完以后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。试题修改:管理

16、员还可以对试题进行修改。试题删除:管理员可以删除不再需要的试题。用户管理模块:管理员可以通过用户管理界面查询,修改或删除用户,同时可以报名信息进行维护管理。5。2系统功能结构图如下图:在线考试系统系统管理成绩查询在线报名用户管理试题管理试题添加试题删除试题修改个人信息退出系统试题库试题查询试卷生成在线练习用户添加用户删除用户修改成绩维护在线考试第六章 概要设计6.1编程环境开发本系统考虑实际的运用情况,所使用的编程环境是: 计算机操作系统:Windows XP sp2,开发工具:Microsoft Visual Studio 2005 开发语言:C#语言数据库管理系统: SQL Server

17、2005 Management Studio Express 6.2 数据库管理模块6。2。1 连接数据库在配置文件里设置数据库的连接属性,代码如下:appSettings addkey=strconn” value=。SQLEXPRESS; Integrated Security=SSPI;database=OnLineTest”/appSettings/configuration6。2.2 数据库访问模块在DataBase。cs类里,封装了本模块需要的访问和操作数据库的通用方法:主要方法如下:首先,引入命名空间:using System.Data.SqlClient;public clas

18、s DataBase/打开数据连接字符串 private static string StrConn = ConfigurationManager.AppSettingsstrconn”; private SqlDataAdapter sda; private SqlDataReader sdr; public static SqlConnection ReturnConn()/ 打开数据库的链接 SqlConnection conn = new SqlConnection(StrConn); if (conn.State。Equals(ConnectionState。Closed) conn

19、.Open(); return conn; public DataTable ExeSQLdt(string sql) /执行select语句并返回一个表 SqlConnection conn = ReturnConn(); this。sda = new SqlDataAdapter(sql, conn); DataTable dt = new DataTable();/定义数据表对象,用于存放查询结果 sda.Fill(dt);/将查询结果填充数据表对象 return dt; /执行存储过程命令连接 public static SqlCommand ExceCmd(string procNa

20、me, SqlConnection strcon) SqlConnection conn = strcon; if (conn.State = ConnectionState。Closed) conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = strcon; cmd.CommandText = procName; return cmd; public static int ExceNonQuery(string procNa

21、me) / 执行受影响的行数 SqlConnection conn = ReturnConn(); SqlCommand cmd = ExceCmd(procName, conn); int count = cmd.ExecuteNonQuery(); conn.Close(); return count; / 执行带参数的查询SQL语句或存储过程 public DataTable ExceNonQuerydt(string procName, SqlParameter paras) DataTable dt = new DataTable(); SqlConnection conn = Re

22、turnConn(); SqlCommand cmd = ExceCmd(procName, paras, conn); sdr = cmd。ExecuteReader(); dt。Load(sdr); conn.Close(); return dt; 6.3 界面实现设计根据该系统功能的需要主要实现如下的模块:6.3。1登录模块用户通过此界面登录,可以实现该系统的更多功能代码实现: protected void imgbtnLogin_Click(object sender, ImageClickEventArgs e) string username = this。txtUserName.

23、Text.Trim();/输入用户名 string userpwd = this。txtUserPwd。Text。Trim();/输入密码 string code = this.txtCode。Text;/验证码 if (Request.Cookies”CheckCode”.Value = code) /获取cookie if (UserClass。ValidateUser(username, userpwd, ”0”) /判断该用户为普通用户 Session”UserName = username; Session”UserPwd = userpwd; this.txtUserName。Te

24、xt = ”; this。txtUserPwd.Text = ”; this。txtCode.Text = ; Response.Redirect(”Default。aspx); if (UserClass。ValidateUser(username, userpwd, ”1)/判断该用户是管理员 SessionAdmin” = username; Session”UserPwd = userpwd; this。txtUserName.Text = ”; this.txtUserPwd.Text = ”; this。txtCode.Text = ; Response.Redirect(Admi

25、nDefault。aspx”); 6。3.2 在线考试模块用户通过浏览试题,或者登录在线考试,都可以进入考试,在规定的时间内答题,时间到自动提交答卷,系统自动阅卷,用户很快可以查询成绩,并可以查看该试题的答案及解答。代码实现:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) if (SessionSubjectName != null) if (SessionUserName” != null) labUsername.Text = SessionUserName。ToString(); if (Sess

26、ion”Admin” != null) labUsername。Text = SessionAdmin”.ToString(); string strname = SessionSubjectName.ToString(); labtestSubject。Text = strname; gvExam。DataSource = new CategorySubject().SelectSubjectQuestions(strname); /根据该试卷绑定试题 for (int i = 0; i gvExam.Rows.Count; i+) Label labYN = (Label)(gvExam.

27、Rowsi.FindControl(”labYN”); Label labanswer = (Label)(gvExam。Rowsi.FindControl(labanswer”); Label labhuida = (Label)(gvExam。Rowsi.FindControl(labhuida)); labhuida.Visible = false; labYN。Visible = false; labanswer.Visible = false; gvExam。DataBind(); gvExam。Enabled = true; imgbtnSumbit。Enabled = true;

28、 /提交答案 protected void imgbtnSumbit_Click(object sender, ImageClickEventArgs e) int strscore = 0; string username = labUsername.Text; string strname = SessionSubjectName.ToString(); DataTable dt = new CategorySubject().SelectSubjectQuestions(strname); for (int i = 0; i gvExam。Rows.Count; i+) RadioBut

29、tonList rbl = (RadioButtonList)(gvExam.Rowsi.FindControl(rblChoice”)); Label labYN = (Label)(gvExam。Rowsi。FindControl(”labYN); Label labanswer = (Label)(gvExam。Rowsi.FindControl(”labanswer)); Label labhuida = (Label)(gvExam.Rowsi.FindControl(labhuida”); if (rbl != null & rbl.SelectedValue != ”) stri

30、ng sanswer = dt.Rowsi”Answer”.ToString()。Trim();/取正确答案 strscore = Convert。ToInt32(dt。Rowsi”QuestionScore.ToString().Trim()); if (rbl。SelectedValue。ToString().Trim() = sanswer) /比较答案 +strscore; labYN.Text = ”回答正确!”; else labYN。Text = 回答错误!”; else labYN。Text = ”回答错误!”; labanswer.Visible = true; labhui

31、da。Visible = true; labYN。Visible = true; if (new CategoryOperator().AddScore(username, strname, strscore, System。DateTime。Now。Date)) Response。Write(alert(答案提交成功,请放心离开!);window.location.href=TestLogin。aspx;); 6。3.3 用户管理模块管理员可以通过后台管理系统对所有用户及各科成绩和所报名的科目进行统一管理。代码实现: private void init()/初始化绑定 DataTable d

32、t = new CategorySubject()。SelectAllUser(); labnum.Text = dt.Rows。Count.ToString(); gvSelectUser。DataSource = dt; gvSelectUser.DataBind(); 6。3。3试题管理模块各种试题类型及题目通过管理员登录后台管理系统加以维护,代码实现: DataBase db = new DataBase();/实例一个对象 protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) init(); db.

33、LoadDdl(SubjectType, ” CategoryInfo, ddlSubjectType);/加载类别内容 db.LoadDdl(”SubjectName, TestPaper, ddlSubjectName);/加载题目内容 protected void gvAddQuestions_RowUpdating(object sender, GridViewUpdateEventArgs e) /取出GridView1所修改的行的各列数据 int QuestionId = Convert。ToInt32(gvAddQuestions。DataKeyse.RowIndex.Value

34、.ToString()); string QuestionName = (TextBox)gvAddQuestions.Rowse.RowIndex。Cells2。Controls0)。Text.Trim(); string SubjectName = ((TextBox)gvAddQuestions。Rowse。RowIndex.Cells3。Controls0)。Text。Trim(); string SubjectType = (TextBox)gvAddQuestions.Rowse。RowIndex。Cells4。Controls0).Text。Trim(); string Answ

35、er = (TextBox)gvAddQuestions.Rowse.RowIndex.Cells5.Controls0).Text.Trim(); int QuestionScore = Convert。ToInt32((TextBox)gvAddQuestions。Rowse。RowIndex。Cells6.Controls0).Text.Trim(); string AnswerA = ((TextBox)gvAddQuestions。Rowse。RowIndex.Cells7.Controls0)。Text.Trim(); string AnswerB = ((TextBox)gvAddQuestions.Rowse.RowIndex。Cells8。Controls0)。Text.Trim(); string AnswerC = ((TextBox)gvAddQuestions.Rowse.RowIndex.Cells9.Controls0).Text。Trim(); string AnswerD = (

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服