欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于ASP.NET网络考试系统的设计与实现(共19页).doc

    • 资源ID:17084716       资源大小:690.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于ASP.NET网络考试系统的设计与实现(共19页).doc

    精选优质文档-倾情为你奉上网络考试系统的设计与实现摘要:随着网络技术的不断进步和信息的广泛普及,网络教学与考试系统已经遍布于Internet网络的每个角落。本文将编写一个完整的在线考试系统向用户展示系统的开发过程以及软件设计的思路与技巧。网络考试系统实现了在线考试平台,功能包括教师出题、添加试卷、自动阅卷、学生在线考试和添加用户等功能,该平台的有2种身份的用户:教师和学生,根据用户的身份不同,登录系统后进入不同的页面。关键字:ASP.NET、网络考试系统、SQL Server1. 引言随着信息技术的飞速发展,以及向教育领域的逐步扩展,校园信息化建设的步伐日益加快。“利用信息技术来推动教学改革”是当前学校教育改革的一条重要思想,是提高教学质量的具体措施,特别是随着各高校不断的扩大招生,教学资源的投入相对不足,这就对高校的教学工作和教学管理提出了新的要求。如何充分利用有限的资源,运用更加科学的管理方法和教学手段,提高工作效率,保证教学质量,提高办学效益,已成为各高校研究的一个重要课题。其中很重要的一个环节就是在线考试系统,同时,传统的考试方式已经不能适应职业学院学生自测的需要。本文按照软件工程的思想,对基于抽题式的在线考试系统进行了深入的研究,详细阐述了在线考试系统的体系结构,介绍了在线考试系统方案设计的步骤。2. 系统设计与分析2.1 需求分析根据网络考试系统的基本要求,本系统需要完成以下任务。² 能够判断用户的身份,并根据身份的不同进入不同的页面。² 能够实现在线添加试卷和试题的功能。² 能够实现在线考试成绩。² 能够实现查询考试分数的功能。² 能够实现在线答题的功能。² 能够实现添加用户的功能。2.2 总体设计网络考试系统分为教师模块和学生模块。教师模块包括了成绩列表、添加试卷和添加试题模块。学生考试模块包括成绩列表和在线考试模块。该系统的功能模块如图1所示。2.3 功能设计网络考试系统主要是实现试卷的添加、试题的添加、在线考试和成绩统计等功能。具体来说有:² 系统登录感觉用户身份的不同进入不同的页面,这里管理员、教师和学生登录后分别进入不同的页面。² 教师首页² 教师首页为教师展示了所有的成绩信息,教师可以选择不同的科目查看学生的成绩,该页面还包括了添加试题模块的入口。² 学生首页包括了登录考生的所有分数以及所有准备考试的试卷,单击所要考试试卷相应的“进入考试”的链接就可进入到考试页面。² 在线考试学生单击“开始答题”按钮就可以显示试卷的内容,单击“交卷”就可以提交试题,此时试卷评阅功能已经完成,并进行记录。再次登记后可以看到本次考试的学生成绩。² 添加试题和试卷实现在线的添加试卷和试题的功能。网络考试系统登录教师功能模块学生功能模块成绩查询添加试卷添加试卷成绩查询考试管理员功能模块添加用户教师身份学生身份管理员身份图1 系统功能模块3. 数据库设计与实现3.1 数据库需求分析网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括用户信息、试卷信息、学生成绩信息和试题库信息,各部分的数据内容又有着内在的联系,针对该系统的数据特点,可以总结出如下的需求。² 系统用户分为管理员、教师和学生。² 用户信息记录用户的名称、密码和身份。² 成绩信息记录了学生的成绩信息。² 试卷信息记录了所有已经存在的试卷信息。² 试题库信息记录了试卷的内容。3.2 数据库概念结构设计经过数据库的需求分析,就可以设计出满足需求的各种实体以及相互关系,再用实体-关系图,即E-R图将这些内容表达出来。本系统的E-R图包括用户信息实体E-R图如图2.1所示,学生成绩信息实体E-R图如图2.2所示,试卷信息实体E-R图如图2.3所示,试题库信息实体E-R图如图2.4所示。用户编号用户名密码身份图2.1 用户信息实体E-R图学生成绩编号学生姓名试卷名称成绩图2.2 学生成绩信息实体E-R图试卷编号名称总分考试时间图2.3 试卷信息实体E-R图试题库编号试卷名称试卷分数类型图2.4 试题库信息实体E-R图3.3 数据库的逻辑设计网络考试系统数据库TMS包括4张表,分别是用户信息表、学生成绩信息表试卷信息表和试题库信息表。试题库信息表在系统中动态创建。² 用户信息表用户信息表(Users)记录了用户的详细信息,结构如表1所示。表1 用户信息表列名数据类型长度允许空UserIDInt4否UserNamenvarchar16否UserPwdnvarchar12否UserTypenvarchar50否² 学生成绩信息表学生成绩信息表(Scores)记录了学生的成绩信息,结构如表2所示。表2 学生成绩信息表列名数据类型长度允许空ScoreIDInt4否StuNamenvarchar16否PaperNamenvarchar50否TotalScoreint4否StuScoreint4否TestTimeDatetime8否² 试卷信息表试卷信息表(Papers)记录了试卷的主要信息,结构如表3所示。表3试卷信息表列名数据类型长度允许空说明PaperIDInt4否PaperNamenvarchar16否PaperScoreInt4否默认值为0,开展用ScoreAutoInt4否默认值为0,开展用ScoreTeacherInt4否Teachernvarchar16否TotalTimenvarchar50否² 试题库信息表试题库信息表动态创建,记录了试卷中试题的信息,结构如表4所示。² 表4 试题库信息表列名数据类型长度允许空UserIDInt4否UserNamenvarchar16否UserPwdnvarchar12否UserTypenvarchar50否4. 网络考试系统的设计与实现4.1 登陆页面的设计与实现登陆页面实现用户的身份认证。管理员用户进入用户添加页面,教师登录后进入教师首页,学生登录后进入学生的首页,页面效果如图3所示。图3 登录页面登录页面主要是使用TextBox输入控件来让用户输入登录信息。该模块主要实现验证用户身份的功能,因此主要响应用户提交输入信息的事件,即“登录系统”按钮的单击事件。用户登录页面后台支持类(default.aspx.cs)主要代码如下所示。代码中使用Session对象记录了登录用户名,便于在以后protected void Page_Load(object sender, EventArgs e) lblerr.Text = "" protected void btnlogin_Click(object sender, EventArgs e) if (tbxusername.Text != "" | tbxuserpwd.Text != "") /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); objconn.Open(); /创建命令对象 SqlCommand objcmd = new SqlCommand("UserLogin", objconn); /设定命令类型为存储过程 objcmd.CommandType = CommandType.StoredProcedure; /添加参数 /用户名 SqlParameter paramUserName = new SqlParameter("UserName", SqlDbType.NVarChar, 16); paramUserName.Value = tbxusername.Text; objcmd.Parameters.Add(paramUserName); SqlParameter paramUserPwd = new SqlParameter("UserPwd", SqlDbType.NVarChar, 12); paramUserPwd.Value = tbxuserpwd.Text; objcmd.Parameters.Add(paramUserPwd); SqlDataReader dr = objcmd.ExecuteReader(); if (dr.Read() Session"username" = dr"UserName".ToString(); string usertype = dr"UserType".ToString(); if (usertype = "student") Response.Redirect("students.aspx"); else if (usertype = "teacher") Response.Redirect("teachers.aspx"); else if (usertype = "system") Response.Redirect("admin_user.aspx"); else lblerr.Text = "没有权限进入系统" else lblerr.Text = "请输入正确的用户名和密码" 4.2 添加用户页面添加用户是管理员用户的功能,可以实现查看用户信息和添加用户的功能。添加用户页面主要使用了TextBox控件、DropDownList控件、RequiredFieldValidator控件、Button控件、Label控件和GridView控件。添加用户页面首先将用户信息列表绑定到GridView控件上,当管理员输入用户信息时需要单击“添加用户”按钮实现添加用户的功能。添加用户页面的效果图如图4所示。图4 添加用户页面效果图添加用户页面的后台关键代码如下所示。protected void btnlogin_Click(object sender, EventArgs e) if (tbxusername.Text != "" | tbxuserpwd.Text != "") /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); objconn.Open(); /创建命令对象 SqlCommand objcmd = new SqlCommand("UserLogin", objconn); /设定命令类型为存储过程 objcmd.CommandType = CommandType.StoredProcedure; /添加参数 /用户名 SqlParameter paramUserName = new SqlParameter("UserName", SqlDbType.NVarChar, 16); paramUserName.Value = tbxusername.Text; objcmd.Parameters.Add(paramUserName); SqlParameter paramUserPwd = new SqlParameter("UserPwd", SqlDbType.NVarChar, 12); paramUserPwd.Value = tbxuserpwd.Text; objcmd.Parameters.Add(paramUserPwd); SqlDataReader dr = objcmd.ExecuteReader(); if (dr.Read() Session"username" = dr"UserName".ToString(); string usertype = dr"UserType".ToString(); if (usertype = "student") Response.Redirect("students.aspx"); else if (usertype = "teacher") Response.Redirect("teachers.aspx"); else if (usertype = "system") Response.Redirect("admin_user.aspx"); else lblerr.Text = "没有权限进入系统" else lblerr.Text = "请输入正确的用户名和密码" 4.3 教师功能首页教师功能首页提供教师添加考试试卷和试题以及成绩统计分析的入口,并显示考试成绩列表。教师功能页面的首页效果图如图5所示。图5 教师功能首页教师功能首页的后台主要代码如下所示。void Bind_PaperName() /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); objconn.Open(); String objsql = "Select PaperName from Papers" SqlDataAdapter da = new SqlDataAdapter(objsql, objconn); /创建并填充DataSet DataSet ds = new DataSet(); da.Fill(ds, "Papers"); dplpapername.DataSource = ds; dplpapername.DataMember = "Papers" dplpapername.DataTextField = "PaperName" dplpapername.DataBind(); objconn.Close(); void Bind_Grid() /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); SqlCommand objcmd = new SqlCommand("TScore", objconn); /设定命令类型 objcmd.CommandType = CommandType.StoredProcedure; /打开数据库连接 objconn.Open(); SqlDataReader result = objcmd.ExecuteReader(CommandBehavior.CloseConnection); dgdscore.DataSource = result; dgdscore.DataBind(); protected void btnanalysis_Click(object sender, System.EventArgs e) Response.Redirect("score_analysis.aspx"); protected void btnsearch_Click(object sender, System.EventArgs e) dgdscore.Visible = false; dgdpaper.Visible = true; /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); String papername = dplpapername.SelectedValue.ToString(); SqlCommand objcmd = new SqlCommand("TScore1", objconn); /设定命令类型 objcmd.CommandType = CommandType.StoredProcedure; /打开数据库连接 objconn.Open(); SqlParameter paramPaperName = new SqlParameter("PaperName", SqlDbType.NVarChar, 50); paramPaperName.Value = papername; objcmd.Parameters.Add(paramPaperName); SqlDataReader result = objcmd.ExecuteReader(CommandBehavior.CloseConnection); dgdpaper.DataSource = result; dgdpaper.DataBind(); 4.4 添加试卷页面添加试卷页面实现向数据库中添加一个新的以试卷名称命名的表,并提供向该试卷添加试题的入口。添加试卷页面主要是以了TextBox控件、RequireFieldValidator控件、Label控件和Button控件,页面效果图如图6所示。图6 添加试题页面效果图添加试卷的后台关键代码如下所示。protected void btnsave_Click(object sender, System.EventArgs e) try /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings);/打开数据库连接 objconn.Open(); /创建命令对象 SqlCommand objcmd = new SqlCommand("AddPaper", objconn); objcmd.CommandType = CommandType.StoredProcedure; /试卷名称 SqlParameter paramPaperName = new SqlParameter("PaperName", SqlDbType.NVarChar, 50); paramPaperName.Value = tbxpaper.Text; objcmd.Parameters.Add(paramPaperName); /试卷名称 SqlParameter paramPaperScore = new SqlParameter("PaperScore", SqlDbType.Int); paramPaperScore.Value = tbxscore.Text; objcmd.Parameters.Add(paramPaperScore); /试卷名称 SqlParameter paramTeacher = new SqlParameter("Teacher", SqlDbType.NVarChar, 16); paramTeacher.Value = Session"username" objcmd.Parameters.Add(paramTeacher); /试卷名称 SqlParameter paramTotalTime = new SqlParameter("TotalTime", SqlDbType.NVarChar, 50); paramTotalTime.Value = tbxtime.Text; objcmd.Parameters.Add(paramTotalTime); objcmd.ExecuteNonQuery(); objconn.Close(); /创建表 CreateTable(); catch message.Text = "数据库可能已经存在,请单击【添加试题】按钮后进行操作" void CreateTable() /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings);/打开数据库连接 objconn.Open(); String papername = tbxpaper.Text; String objsql; objsql = "Create Table " + papername; objsql = objsql + "(QuestionID int Primary Key," objsql = objsql + "QuestionType nvarchar(50)," objsql = objsql + "Question nvarchar(4000)," objsql = objsql + "Answer nvarchar(4000)," objsql = objsql + "Score int," objsql = objsql + "AutoFlag int Default 0)" /创建命令对象 SqlCommand objcmd = new SqlCommand(objsql, objconn); objcmd.ExecuteNonQuery(); objconn.Close(); 4.5 添加试题页面添加试题页面主要功能是将教师输入的试题内容添加到由Session“papername”对象传递过来的试卷表中。添加试题页面的效果图如图7所示。图7 添加试题页面效果图添加试题后台关键代码如下所示。protected void btnsave_Click(object sender, System.EventArgs e) /获取问题的最大编号 /读取数据库连接字符串 string settings = Convert.ToString(ConfigurationManager.ConnectionStrings"SqlServices"); /创建数据库连接 SqlConnection objconn = new SqlConnection(settings); string getInsertID; string papername; papername = Session"papername".ToString(); getInsertID = "select Max(QuestionID) from " getInsertID = getInsertID + papername; SqlCommand cmd0 = new SqlCommand(getInsertID, objconn); objconn.Open(); SqlDataReader objdr = cmd0.ExecuteReader(); objdr.Read(); int Varid; if (objdr0.ToString() = "") Varid = 1; else Varid = Convert.ToInt32(objdr0.ToString() + 1; cmd0.Connection.Close(); string objsql; string qtype = dplqt.SelectedIndex.ToString(); string qcontent = tbxquestion.Text.ToString(); string qanswer = tbxanswer.Text.ToString(); int qscore = Convert.ToInt32(tbxscore.Text); objsql = "Insert into " + papername; objsql = objsql + "(QuestionID,QuestionType,Question,Answer,Score) values(" objsql = objsql + Varid + "," objsql = objsql + qtype + "," objsql = objsql + "'"+qcontent + "'," objsql = objsql +"'"+ qanswer + "'," objsql = objsql + qscore + " )" /Response.Write(objsql); /Response.End(); objconn.Open(); /创建命令对象 SqlCommand objcmd = new SqlCommand(objsql, objconn); /执行数据库操作 objcmd.ExecuteNonQuery(); objconn.Close(); 4.6学生首页面学生首页为登录后的学生用户提供成绩查询以及查询所有考试试卷功能。学生首页采用DataGrid数据绑定控件来绑定学生成绩信息和试卷信息,设计好的页面如图8所示。图8 学生首页效果图DataGrid控件的HTML代码如下所示。<tr> <td align="center"> <asp:DataGrid ID="dgdpaper" runat="server" AutoGenerateColumns="False" Width="712px"> <Columns> <asp:HyperLinkColumn DataNavigateUrlField="PaperID" DataNavigateUrlFormatString="Test.aspx?PaperID=0" DataTextField="PaperName" DataTextFormatString="进入考场" HeaderText="进入考场"></asp:HyperLinkColumn> <asp:BoundColumn DataField="PaperID" HeaderText="试卷编号"></asp:BoundColumn> <asp:BoundColumn Data

    注意事项

    本文(基于ASP.NET网络考试系统的设计与实现(共19页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开