在线考试系统实验报告_第1页
在线考试系统实验报告_第2页
在线考试系统实验报告_第3页
在线考试系统实验报告_第4页
在线考试系统实验报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在线考试系统实验报告在线考试系统实验报告I/27I/27苏州高博软件技术职业学院毕业设计(论文)报告系专别业软件工程系计算机应用班级0816姓名******学号设计题目 在线考试系指导教师 ******起迄日期 2011.1。2——20114.20在线考试系统实验报告在线考试系统实验报告II/27II/27苏州高博软件技术职业学院毕业设计诚信承诺书本人慎重承诺和声明:所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任.学生签名: 日期: 年 月 日毕业设计知识产权权属声明以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。学生签名: 日期: 年 月 日指导教师签名: 日期: 年 月 在线考试系统实验报告在线考试系统实验报告III/27III/27在线考试系统摘要WebExamWebInternet,无需安装客户端,即可实现网上分析等功能WordExcel的快速收集和高度共享。在开发方法上,引入了当今流行的Microsoft.NetRemoting技术思想,把整个开发程分为需求分析、概要设计、详细设计、系统实现等步骤。该系统通过优化和再造管理流程,使人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中解放出来,把精力集中到更高层的政策性工作中去。关键词在线考试系统;C#.netVisualStudio2008SQL2005目 录第1章绪论 11。课 题 研 究 背 景11.2课题研究目的和意义 1第2章系统分析概述 22。引 言2系统需求分析 2系统概述 32。4Visual Studio 2008 的 概 述42。5SQL Server 2005 数 据 库 的 概 述5第3章系统方案总体设计 63.1系统设计思想及相关技术介绍 63.1。系 统 架 构 设 计63。1.2系 统 总 体 模 块 功 能 设 计6第4章数据库的设计 84。1引言 8数据库需求分析 8数据库概念结构设计 84。数 据 库 逻 辑 结 构 设 计8第5章界面设计与实现 105。主 页 设 计105.1。1实现目标 105。1.2登录窗口 105。1.3注册窗口 125。主 要 界 面 设 计 — 用 户 登 录 信 息 画 面135.2.1实现目标 135。22主界面 135.3主要界面设计——ADDQUESTION.ASPX 17。1实现目标 17主要界面设计——USERMANGEMENTASPX 185。4.1实现目标 18结论 20致谢 21参考文献 22在线考试系统实验报告在线考试系统实验报告PAGEPAGE10/27第1课题研究背景Internet日益高涨,其势头不亚于电子商务.1998革新传统教育模式的重要动力。Internet国的教育事业开辟了新的天地。课题研究目的和意义设了远程教育.但是,远程教育的软件的开发目前还处于起步阶段,随着这项技给软件设计人员提出了更高的设计要求.远程教育包括很多环节。例如,教学系统、考试系统、和答疑系统等等。,人工阅卷、成绩评估和试卷分析。,用正逐步深入到千家万户.人们迫切需要这些技术来进行在线考试,以减轻教师的工作的负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。2引言ASP。NETWebADO.NETWeb.ASPASP生成更安全、可伸缩和稳定的应用程序。ASP。NET方面:ASP复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编Web极大的提升;ASPASP据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO。NET提供的DataGrid等数据库元件可以直接和数据库联系;ASP.NET新的版本;ASP。NET”CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用.系统需求分析系统开发的总体任务是实现在线考试的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的.在线考试系统需要完成的功能主要有:用户的注册和登录;用户在线答题;对科目进行管理;对管理员进行试题的管理;以及个人信息管理功能。在数据库方面,利用关系数据库功能强大的查询语言对企业各类信息入库保存,按要求及时处理。该系统集录入、维护、查询、审核和各种处理为一体,各种操作可以通过菜理,用户均可根据需要自行使用。系统概述本系统是一个在线考试系统,在实施过程中主要实现以下目标:(1)界面友好、美观,体现在线考试系统的特点,而且操作简便。(2)各功能模块层次清晰,代码高效易懂。(3)添加和编辑简便、清晰,提高工作效率。(4)查询方便,数据存储安全可靠.(5)功能全面,实用性强。主要功能有:1.注册用户模块2.在线测试模块案提示。科目管理模块只有管理员权限的用户登录才可以进入科目管理模块,在科目管理模块中,除了显示已有己.试题管理模块只有管理员权限的用户才可以进入试题管理模块.用户管理模块在用户管理模块中,管理员可以删除用户和修改用户信息.该页面没有增加用户功能,用户可以自己注册登录。个人信息修改模块E-mail开发环境的选择方法目前,用于开发数据库管理信息系统的编程语言很多,比如 Delphi、PowerBuilder、VisualJava、VisualBasic6VB。NET台数据库管理的DBMS也有很多,比如有Oracle、MSSQLSERVER、SYBASEINFORMIX、DB2、VISUALFOXPRO、ACCESS本人根据秦晓燕老师的布置要求,采用面向对象的软件开发方法来实现此在线考试软件,系统开发工具我们选择了能够跨平台的开发工具VisualStudio2008。在前台操作与后台数据库处理的连接上,主要采用ADO。NET技术和Server2005SQL言实现预定的功能需求。VisualStudio2008VisualStudio2008是一个全面集成的开发环境,用于编写,调试代码,把代码编译为程序集进行发布,实际上,VisualStudio提供了非常专业的多文档界面应用程序,在该应用程序中可以进行与开发代码相关的任何操作,它提供了:C#代码(VBC++代码。这个文本编辑器相当复杂.VisualStudioC#在项目中实例化这些控件。支持窗口:它们可以查看修改项目的各个方面.也可以使用这些窗口指定编译选项。C#编译器。VisualStudioC#编译器。集成的调试程序:编程的本质是代码在第一次运行时,一般不会正确执行。也许在第二次、第三次才能正确运行。VisualStudio无缝的链接到一个调试程序上,可以在该调试环境中设置断点,观察变量。MSDN:VisualStudioIDEMSDN访问其他程序:VisualStudio算机或网络的一些内容,而无需退出开发环境。SQLServer2005SQLSevrer2005是一个C/S体系结构的关系数据库管理系统,它使Transact-SQLSQLServer,SQLServerC/SSQLServer.SQLServerTransact—SQLTransact-SQL3系统设计思想及相关技术介绍系统架构设计用户和管理员.普通用户登录后只能进行在线答题和个人信息管理,在线答题时可以选择科目,可以显示和隐藏答案提示,模块测试后可以重做答错的题.图3—1在线考试系统功能框架系统总体模块功能设计经过对整个系统的分析,可以得出以下功能模块,如图3—3所示:登陆者模块:面向登陆者。可以先进行注册,再实现登录功能,进而进行在线考试。管理员模块:面向管理员。可以对考题进行添加、删除、修改和更新功能;可以进行答题的测试;科目的管理;题库的管理;以及对用户的管理。图3—3功能模块图44。1引言个步骤:数据库需求分析数据库概念结构设计数据库逻辑结构设计数据库需求分析的数据字典,为后面的具体设计打下基础。信息的添加、删除、修改和更新等功能.通过上述对系统的设计分析,根据在线考试系统的需求,共需设计以下五种信息:(4)用户管理信息。(5)个人信息管理.数据库概念结构设计等到了上面的数据项和数据结构以后,就可以设计出能够满足用户需求的体包括各种具体信息,通过相互之间的作用形成数据流动.数据库逻辑结构设计,列举出部分数据表的关系如下:1。用户信息表(User)(4—1所示)4—1用户信息表角色表(Role)(4-2所示)表4—22.角色表(Course)(如图4-3所示)4-3课程表角色表试题表(question)AB答案、C答案、D答案、正确答案。(如表4-4所示)4-4角色表5主页设计5。1.1实现目标以按下取消按钮退出本系统,登录界面模块中主要实现如下功能:可进行选择用户身份,支持鼠标操作。用户名和密码验证成功后,进入主界面。用户名错误或密码错误提醒并返回输入有误。5—1主页面5。1。2登录窗口5—2登录窗口代码如下:stringconn=ConfigurationManager.ConnectionStrings["WebTestConnectionString”].ConnectionString;protectedvoidtxtRegist_Click(objectsender,EventArgse){Respons。Redirect(;}protectedvoidtxtLogin_Click(objectsender,EventArgse){SqlConnectioncon=newSqlConnection(conn);stringstrSql=”selectcount(*)from[user]whereuserName=’”+txtName。Text+”’andpassword='"+this.txtPassword.Text+"'”;SqlCommandcomnewSqlCommand(strSql,ncon。Open();intnumint)com。ExecuteScalar();if(num0){Response.Writ(〈t’〉’密码错误/script>");return;}strSql=”selectroleIDfrom[user]whereuserName=’”+txtName.Text+”'”;try{com.CommandText=strSql;SqlDataReadersdrcom。ExecuteReader();if(sdr。Read(){strings=sd[”].ToString;Session["roleID"]=s;Session["userName"]=txtName.Text;Session[”userPassword”]=txtPassword.Text;}sdr.Close();}catch(SqlExceptionex){Response.Write(ex.ToStrin();}finally{con.Close();}Response。Redirect("Main。aspx”);如果验证通过,系统会连接数据库,进行数据正确性以及用户权限的检查,5.1.3注册窗口5-3注册窗口在注册过程中,系统会自动检查用户注册的信息是否合法,相关代码如下:stringconn=ConfigurationManager.ConnectionStrings[”WebTestConnectionString”].ConnectionString;protectedvoidbtnOK_Click(objectsender,EventArgse){SqlConnectioncon=newSqlConnection(conn);stringstrSql=”selectcount(*)from[user]whereuserName=’"+txtName.Text+"’”;SqlCommandcom=newSqlCommand(strSql,ncon.Open();intnum=(int)com.ExecuteScalar();if(num>0){}else{

Response.Writet’〉aler(’表中存在记录!’)/script〉);stringname=txtName.Text;stringpassword=this.txtPassword。Text;stringsex="男";if(this.rbtnFemail。Checked){sex="女”;}stringidentity=txtIdentit。Tex。stringemailthis.txtMail。。ToString();strSql=”insertinto[user](userName,password,sex,userIdentity,email,roleID)values('"+name+"','"+password+"','"+sex+"',’"+identity+”’,’”+email+"',1)”;com=newSqlCommand(strSql,com.ExecuteNonQuery;con。Close();Response.Write("<scriptlanguage='javascript’>alert('注册成功!返回登录页面');</script>”);//返回登陆页面Response.Redirect(”Login。aspx");}}protectedvoidbtnCancel_Click(objectsender,EventArgse){Respons。Redirect("Logi。;}主要界面设计—用户登录信息画面。1实现目标程序启动后,登录进入在线答题窗体,在管理模块中主要实现如下功能:检索当前启用的组织结构相关的部门及员工信息。对登陆者个人信息的管理。(3)(4)考试科目即考试内容建立。(5)对考试信息的查询。5。2。2主界面5-4在线考试主界面本界面为主操作界面。管理员通过登录界面的验证后,方能进入此界面。能。点击显示答案后:5-5答题测试界面相关主代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!this.IsPostBack){BindSubjectName();Bind();}}stringconn=ConfigurationManager。ConnectionStrings["WebTestConnectionString"].ConnectionString;privatevoidBindSubjectName(){SqlConnectioncon=newSqlConnection(conn);SqlDataAdaptersda=newSqlDataAdapter(”select*fromcourse",con);DataSetds=newDataSet();sda。Fill(ds;ddlQuestionName。DataSource=ds.Tables["table”];ddlQuestionName.DataTextField="courseName”;ddlQuestionName.DataValueField=”courseID";ddlQuestionName。DataBind();}privatevoidBind(){stringstr=ddlQuestionNam。SelectedItem。Text.ToStrin(;stringsql="selectq.*fromquestionq,coursecwherecourseID=courseIDandcourseName+str+”’”;SqlConnectioncon=newSqlConnection(conn);SqlDataAdaptersda=newSqlDataAdapter(sql,con);DataSetds=newDataSet();sda。Fill(ds,"table”);DataList1.DataKeyField="questionID";DataList1.DataSource=ds.Tables[”table"];DataList1.DataBind();}protectedvoidbtnShowAnswer_Click(objectsender,EventArgse){if(btnShowAnswer.Text=="显示答案”){for(inti=0i〈DataList1。Items.Count;i++){((Label)(DataList1.Items[i].FindControl(”lblAnswer"))。Visible=true;}}else{

btnShowAnswer.Text=”隐藏答案";for(inti=0i<DataList1。Items。Count;i++){((Label)(DataList1。Items[i]。FindControl("lblAnswer")))。Visible=false;}btnShowAnswer.Text="显示答案”;}}protectedvoidddlQuestionName_SelectedIndexChanged(objectsender,EventArgse){Bind();}protectedvoidbtnFinish_Click(objectsender,EventArgse){intcount=0;//答对的数目for(intindex=0;index〈DataList1。Items.Count;index++){stringlabelStr=((Labe(DataList1.Item[index].FindControl())).Tex;stringrightAnswer=labelStrSubstring(labelSt。LengthstringselectedRadioButton"”;if(RadioButton)(DataList。Items[index].FindControl("rbtn1))。Checked){selectedRadioButton=”A”;}elseif(((RadioButton)(DataList1.Items[index]。FindControl(”rbtn2")))。Checked){selectedRadioButton="B";}elseif(((RadioButton)(DataList1.Items[index]。FindControl("rbtn3"))).Checked){selectedRadioButton=”C";}elseif((RadioButton)(DataList1。Items[index]。FindControl("rbtn4”))。Checked){selectedRadioButton=”D";}if(rightAnswer==selectedRadioButton){count+=1;if(DataList1.Items[index]。TabIndex>=100){DataList1。Items[index]。TabIndex—=100;}}else{DataList1.Items[index]。TabIndex=(short)(100+index);}this。btnRedoError。Enabled=true;}lblResult。Text="答对”+count+"题,错”+(DataList1。Items.Count—count)+”题”;}protectedvoidbtnRedo_Click(objectsender,EventArgse){Response。Redirect("ShowQuestion.aspx”);}protectedvoidbtnRedoError_Click(objectsender,EventArgse){for(intindex=0;indexDataList1。Items。Count;index++){if(DataList1.Items[index。TabIndex<10){DataList。Item[index。Visiblefals;}}}}主要界面设计——ADDQUESTION.ASPX5.3.1实现目标图5—6科目管理统中,方便用户进行考试。相关代码如下:privatevoidBindQuestionName(){SqlConnectioncon=newSqlConnection(conn);SqlDataAdaptersda=newSqlDataAdapter("select*fromCourse",DataSetds=newDataSet(;sda。Fill(ds,"table");ddlCourseName.DataSource=ds。ddlCourseName.DataTextField=”courseName”;ddlCourseName.DataValueField=”courseID”;ddlCourseName。DataBind();}protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse){stringcourseID=ddlCourseName.SelectedValue.ToString();stringquestionID=GridView1.Rows[。NewEditIndex].Cells[0].Tex。ToStrin().Tri(;stringquestionContent=GridView1.Row[。NewEditIndex].Cells[1].Text.ToString(。stringa1=GridView。Row[e.NewEditIndex].Cells[2]。Tex。ToString。Trim();stringa2=GridView1.Rows[。NewEditIndex].Cells[3]。Text.ToStrin(。Tri(;stringa3=GridView1。Rows[e.NewEditIndex].Cells[4].Text。ToString().Trim();stringa4=GridView。Row[。NewEditIndex].Cell[5。Tex。stringrightAnswer=GridView1.Rows[e。NewEditIndex]。Cells[6].Text。ToString().Trim();//UpdateQuestionquestion=newUpdateQuestion(questionID,a1,a4,rightAnswe;string str = ”AddQuestion。aspx?courseID=" + courseID + "&questionID=” + questionID+”&questionContent=”+questionContent+"&a1=”+a1+"&a2="+a2+”&a3="+a3+"&a4=”+a4+”&rightAnswer="+rightAnswer;Response.Redirect(str);}主要界面设计——USERMANGEMENT。ASPX5。4.1实现目标5-7用户管理界面如下:privatevoidBind(){SqlConnectioncon=newSqlConnection(conn);SqlDataAdaptersda=newSqlDataAdapter("select*from[user]”,con);DataSetds=newDataSet();sda。Fill(ds;GridView1。DataSource=ds。Tables["table”];。DataKeyNamesnewstring[]{”userName};GridView。DataBind;}protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){SqlConnectioncon=newSqlConnec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论