【SQL开源代码栏目提醒】:网学会员为广大网友收集整理了,网络考试系统(有源代码) - 毕业设计,希望对大家有所帮助!
网络考试系统 摘要:随着网络技术的不断进步和信息的广泛普及,网络教学与考试系统已经遍布于Internet 网络的每个角落。
本文将编写一个完整的在线考试系统向用户展示系统的开发过程以及软件设计的思路与技巧。
网络考试系统实现了在线考试平台,功能包括教师出题、添加试卷、自动阅卷、学生在线考试和添加用户等功能,该平台的有 2 种身份的用户:教师和学生,根据用户的身份不同,登录系统后进入不同的页面。
关键字:ASP.NET、网络考试系统、SQLServer 1. 引言 随着信息技术的飞速发展, 以及向教育领域的逐步扩展,校园信息化建设的步伐日益加快。
“利用信息技术来推动教学改革”是当前学校教育改革的一条重要思想,是提高教学质量的具体措施,特别是随着各高校不断的扩大招生,教学资源的投入相对不足,这就对高校的教学工作和教学管理提出了新的要求。
如何充分利用有限的资源,运用更加科学的管理方法和教学手段,提高工作效率,保证教学质量,提高办学效益,已成为各高校研究的一个重要课题。
其中很重要的一个环节就是在线考试系统,同时,传统的考试方式已经不能适应职业学院学生自测的需要。
本文按照软件工程的思想,对基于抽题式的在线考试系统进行了深入的研究,详细阐述了在线考试系统的体系结构,介绍了在线考试系统方案设计的步骤。
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 用户信息表 列名 数据类型 长度 允许空 UserID Int 4 否 UserName nvarchar 16 否 UserPwd nvarchar 12 否 UserType nvarchar 50 否 学生成绩信息表 学生成绩信息表(Scores)记录了学生的成绩信息,结构如表 2 所示。
表 2 学生成绩信息表 列名 数据类型 长度 允许空 ScoreID Int 4 否 StuName nvarchar 16 否 PaperName nvarchar 50 否 TotalScore int 4 否 StuScore int 4 否 TestTime Datetime 8 否 试卷信息表 试卷信息表(Papers)记录了试卷的主要信息,结构如表 3 所示。
表 3 试卷信息表 列名 数据类型 长度 允许空 说明 PaperID Int 4 否 PaperName nvarchar 16 否 PaperScore Int 4 否 默认值为 0,开展用 ScoreAuto Int 4 否 默认值为 0,开展用 ScoreTeacher Int 4 否 Teacher nvarchar 16 否 TotalTime nvarchar 50 否 试题库信息表 试题库信息表动态创建,记录了试卷中试题的信息,结构如表 4 所示。
表 4 试题库信息表 列名 数据类型 长度 允许空 UserID Int 4 否 UserName nvarchar 16 否 UserPwd nvarchar 12 否 UserType nvarchar 50 否 4. 网络考试系统 4.1 登陆页面 登陆页面实现用户的身份认证。
管理员用户进入用户添加页面,教师登录后进入教师首页,学生登录后进入学生的首页,页面效果如图 3 所示。
图 3 登录页面 登录页面主要是使用 TextBox 输入控件来让用户输入登录信息。
该模块主要实现验证用户身份的功能,因此主要响应用户提交输入信息的事件,即“登录系统”按钮的单击事件。
用户登录页面后台支持类(default.aspx.cs)主要
代码如下所示。
代码中使用 Session 对象记录了登录用户名,便于在以后protected void Page_Loadobject sender EventArgs e lblerr.Text quotquot protected void btnlogin_Clickobject sender EventArgs e if tbxusername.Text quotquot tbxuserpwd.Text quotquot //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings objconn.Open //创建命令对象 SqlCommand objcmd new SqlCommandquotUserLoginquot objconn //设定命令类型为存储过程 objcmd.CommandType CommandType.StoredProcedure //添加参数 //用户名 SqlParameter paramUserName new SqlParameterquotUserNamequot SqlDbType.NVarChar 16 paramUserName.Value tbxusername.Text objcmd.Parameters.AddparamUserName SqlParameter paramUserPwd new SqlParameterquotUserPwdquot SqlDbType.NVarChar 12 paramUserPwd.Value tbxuserpwd.Text objcmd.Parameters.AddparamUserPwd SqlDataReader dr objcmd.ExecuteReader if dr.Read Sessionquotusernamequot drquotUserNamequot.ToString string usertype drquotUserTypequot.ToString if usertype quotstudentquot Response.Redirectquotstudents.aspxquot else if usertype quotteacherquot Response.Redirectquotteachers.aspxquot else if usertype quotsystemquot Response.Redirectquotadmin_user.aspxquot else lblerr.Text quot没有权限进入系统quot else lblerr.Text quot请输入正确的用户名和密码quot 4.2 添加用户页面 添加用户是管理员用户的功能, 可以实现查看用户信息和添加用户的功能。
添加用户页面主要使用了 TextBox 控件、DropDownList 控件、RequiredFieldValidator 控件、Button 控件、Label 控件和 GridView 控件。
添加用户页面首先将用户信息列表绑定到 GridView 控件上, 当管理员输入用户信息时需要单击“添加用户”按钮实现添加用户的功能。
添加用户页面的效果图如图 4 所示。
图 4 添加用户页面效果图 添加用户页面的后台关键
代码如下所示。
protected void btnlogin_Clickobject sender EventArgs e if tbxusername.Text quotquot tbxuserpwd.Text quotquot //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings objconn.Open //创建命令对象 SqlCommand objcmd new SqlCommandquotUserLoginquot objconn //设定命令类型为存储过程 objcmd.CommandType CommandType.StoredProcedure //添加参数 //用户名 SqlParameter paramUserName new SqlParameterquotUserNamequot SqlDbType.NVarChar 16 paramUserName.Value tbxusername.Text objcmd.Parameters.AddparamUserName SqlParameter paramUserPwd new SqlParameterquotUserPwdquot SqlDbType.NVarChar 12 paramUserPwd.Value tbxuserpwd.Text objcmd.Parameters.AddparamUserPwd SqlDataReader dr objcmd.ExecuteReader if dr.Read Sessionquotusernamequot drquotUserNamequot.ToString string usertype drquotUserTypequot.ToString if usertype quotstudentquot Response.Redirectquotstudents.aspxquot else if usertype quotteacherquot Response.Redirectquotteachers.aspxquot else if usertype quotsystemquot Response.Redirectquotadmin_user.aspxquot else lblerr.Text quot没有权限进入系统quot else lblerr.Text quot请输入正确的用户名和密码quot 4.3 教师功能首页 教师功能首页提供教师添加考试试卷和试题以及成绩统计分析的入口,并显示考试成绩列表。
教师功能页面的首页效果图如图 5 所示。
图 5 教师功能首页 教师功能首页的后台主要
代码如下所示。
void Bind_PaperName //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings objconn.Open String objsql quotSelect PaperName from Papersquot SqlDataAdapter da new SqlDataAdapterobjsql objconn //创建并填充DataSet DataSet ds new DataSet da.Fillds quotPapersquot dplpapername.DataSource ds dplpapername.DataMember quotPapersquot dplpapername.DataTextField quotPaperNamequot dplpapername.DataBind objconn.Close void Bind_Grid //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings SqlCommand objcmd newSqlCommandquotTScorequot objconn //设定命令类型 objcmd.CommandType CommandType.StoredProcedure //打开数据库连接 objconn.Open SqlDataReader result objcmd.ExecuteReaderCommandBehavior.CloseConnection dgdscore.DataSource result dgdscore.DataBind protected void btnanalysis_Clickobject sender System.EventArgs e Response.Redirectquotscore_analysis.aspxquot protected void btnsearch_Clickobject sender System.EventArgs e dgdscore.Visible false dgdpaper.Visible true //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings String papername dplpapername.SelectedValue.ToString SqlCommand objcmd new SqlCommandquotTScore1quot objconn //设定命令类型 objcmd.CommandType CommandType.StoredProcedure //打开数据库连接 objconn.Open SqlParameter paramPaperName new SqlParameterquotPaperNamequot SqlDbType.NVarChar 50 paramPaperName.Value papername objcmd.Parameters.AddparamPaperName SqlDataReader result objcmd.ExecuteReaderCommandBehavior.CloseConnection dgdpaper.DataSource result dgdpaper.DataBind 4.4 添加试卷页面 添加试卷页面实现向数据库中添加一个新的以试卷名称命名的表, 并提供向该试卷添加试题的入口。
添加试卷页面主要是以了 TextBox 控件、RequireFieldValidator 控件、Label 控件和 Button 控件,页面效果图如图 6 所示。
图 6 添加试题页面效果图 添加试卷的后台关键
代码如下所示。
protected void btnsave_Clickobject sender System.EventArgs e try //读取数据库连接字符串 string settings Convert.ToStringConfigurationManager.ConnectionStringsquotSqlServicesquot //创建数据库连接 SqlConnection objconn new SqlConnectionsettings //打开数据库连接 objconn.Open //创建命令对象 SqlCommand objcmd new SqlCommandquotAddPaperquot objconn .
上一篇:
VB计算机图片管理系统源代码
下一篇:
2010届高考数学客观题强化练习