当前位置:文档之家› 在线考试系统毕业设计论文(精品推荐)

在线考试系统毕业设计论文(精品推荐)

中原工学院软件学院三级实践课题设计任务书指导教师签字:年月日在线考试系统摘要随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。

人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。

在线考试系统是为了方面学生考试、老师阅卷、提高考试的公正性、公平。

本文主要包括系统的需求分析、概要设计、总体设计(部分)、详细设计关键词:需求分析;概要设计;总体目录摘要 (2)第一章系统需求分析 (4)1.1 功能需求 (4)1.2 性能需求 (4)1.3 可靠性和可用性 (4)1.4 系统ER图 (5)1.5 工具选择 (5)1.6实现环境 (6)第二章总体设计 (7)2.1 系统模块 (7)2.1.1 系统模块图 (7)2.1.2用例图 (8)2.1.3管理员功能模块 (9)2.1.4教师功能模块 (10)2.1.5学生功能模块 (10)2.2 数据库设计 (10)第三章详细设计 (11)3.1 数据表 (11)3.2 具体模块设计 (15)3.2.1 学生信息管理模块 (16)3.2.2 教师信息管理模块 (20)3.2.3 试卷信息管理 (22)3.2.4 科目信息管理 (24)3.2.5 班级信息管理模块 (26)第四章系统测试 (28)4.1 所预见的问题 (28)4.2 系统测试 (28)第五章结束语 (29)第一章系统需求分析1.1 功能需求本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。

系统应具基本功能如下:➢科目管理➢章节管理➢题库管理(选择题,填空题,判断题,简答题,问答题)➢系部管理➢班级管理➢学生管理➢教师管理➢管理员信息管理➢手动组卷➢随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷)➢考试页面➢阅卷管理➢成绩查询1.2 性能需求由于此系统为在线考试系统,响应速度一定要快,要在5秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。

1.3 可靠性和可用性由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。

系统可用性也一定要高,尽量避免不可用几率的发生。

1.4 系统ER图图1.1系统ER图1.5 工具选择数据库是数据管理的最新技术,是计算机科学的重要分支。

十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。

由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。

由于用到的数据表格多,另外考虑到实际情况,如学生基本信息的变动,我们选用SQL Server作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQL Server是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQL Server数据库。

用C#语言进行编码。

C# 编程语言是微软在.NET计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持跨平台,与XML相融合等。

因此选择C#编程语言。

1.6实现环境本系统是以Windows XP系统为操作平台,在.NET环境下编程实现。

第二章总体设计2.1 系统模块本系统分为用户管理模块、科目管理模块、章节管理模块、班级管理模块、系部管理模块、题库管理模块、试卷生成管理模块、考试页面管理模块、阅卷管理模块、考试结果管理模块、考试查询模块十一个模块2.1.1 系统模块图图2.1系统模块图2.1.2用例图学生用例图:图2.2学生用例图教师用例图:图2.3教师用例图管理员用例图:图2.4管理员用例图2.1.3管理员功能模块此模块包括用户管理、科目管理、成绩查询、章节管理、试卷管理五个部分。

➢用户管理:此模块包括学生管理、教师管理、管理员管理1.学生管理:对学生信息进行添加、修改和删除。

2.教师管理:对教师信息进行添加、修改和删除。

3.管理员管理:只修改管理员密码。

➢科目管理:对科目信息进行添加、修改和删除。

➢成绩查询:对学生考试的结果进行查询。

➢章节管理:对各科的章节进行添加、修改和删除。

➢试卷管理:对试卷进行删除。

➢班级管理:对班级进行添加修改和删除。

➢系部管理:对院系进行添加、修改和删除2.1.4教师功能模块此模块包括题库管理、试卷生成、阅卷管理、信息修改四个部分➢题库管理:此模块包括试题管理和试题查询。

1.试题管理:对试题进行添加、修改、删除。

2.试题查询:对试题进查询。

➢试卷生成:此模块包括手动组卷和随机组卷。

1.手动组卷:手动选择题型、题数进行组卷。

2.随机组卷:按固定的题型和分值进行组卷。

➢阅卷管理:对试卷进行批阅,客观题进行自动阅卷,主观题由教师进行阅卷➢信息修改:只限教师对自己的密码进行修改。

2.1.5学生功能模块此模块包括考试页面和个人信息修改两个部分。

➢考试页面:学生进行做题的页面。

➢个人信息修改:只限修改密码。

2.2 数据库设计综合以上分析,要实现上面的所有功能模块,数据库共要设计十七个表,它们分别是:科目表、管理表、章节表、班级表、组卷表、系别表、试卷信息表、学生表、学生考试试卷表、考试结果表、学生答题试卷信息表、教师表、选择题表、填空题、判断题、简答题表、问答题表。

第三章详细设计3.1 数据表表3.2 管理员表(admin)表3.3 章节表(chapter)表3.5 组卷表(construct)表 3.7 试卷信息表(examinfo)表3.8 学生信息表(student)表3.11 学生试卷信息表(student_exam_topoic)表3.12 教师表(teacher)表 3.16 问答题表(topic_question)3.2 具体模块设计系统功能模块介绍时,我们把整个系统分为管理员模块、教师模块、学生模块,其中管理员模块包括:用户管理(学生信息管理、教师信息管理、管理员信息管理)、科目管理、章节管理、班级管理、系别管理、试卷管理、考试信息查询;教师模块包括:个人信息修改、题库管理、试卷生成、阅卷管理;学生模块包括:考试页面、个人信息修改。

我所做的模块是:学生信息管理模块、教师信息管理模块、试卷管理模块、科目信息管理、班级管理模块五个模块。

3.2.1 学生信息管理模块图3.1 学生信息管理界面图3.2 添加学生信息界面设计思路:管理对学生的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加学生记录窗口(如图3.2)添加学生记录。

实现代码(部分):通过设计类的(ProjectClass())中的方法调用数据库中的存储protected void Page_Load(object sender, EventArgs e) //窗体加载时绑定数据{if (Session["adminId"] == null){Response.Redirect("login.aspx");}else{if (!this.IsPostBack){GvDataBind();}}}private void GvDataBind() // 绑定方法{DataSet ds = new DataSet();ds = (new ProjectClass()).getStuInfo();DataTable dt = ds.Tables["StuInfo"];DataView dv = new DataView(dt);dv.RowFilter = "" +this.DDlIndex.SelectedItem.Value.ToString() + " like '%"+this.TxtIndex.Text.Trim() + "%'";this.GVStuInfo.DataSource = dv;this.LbCount.Text= dv.Count.ToString();if (dv.Count == 0){this.LbResult.Visible = true;this.GVStuInfo.Visible = false;}elsethis.LbResult.Visible = false;this.GVStuInfo.Visible =true;}this.GVStuInfo.DataBind();}protected void Btnselect_Click(object sender, EventArgs e) //查看按钮代码{ViewState.Clear();this.GVStuInfo.PageIndex= 0;this.GvDataBind();}protected void GVStuInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)// 更新数据代码{//string ID = this.GVStuInfo.DataKeys[e.RowIndex].Values[0].ToString();string strID =((HyperLink)this.GVStuInfo.Rows[e.RowIndex].FindControl("HLStuId")).Text;string strName =((TextBox)this.GVStuInfo.Rows[e.RowIndex].FindControl("TxtName")).Text;string strSex =((DropDownList)this.GVStuInfo.Rows[e.RowIndex].FindControl("DDLSex")).Selecte dItem.Value;string strPwd =((TextBox)this.GVStuInfo.Rows[e.RowIndex].FindControl("TxtPwd")).Text;string DLCla =((DropDownList)this.GVStuInfo.Rows[e.RowIndex].FindControl("DDlClassid")).Sele ctedItem.Value;//判断表单项是否有空并给出提示信息if (strName == "" || strSex == "" || strPwd == "" || DLCla == "")Response.Write("<script>alert('请输入完整信息!')</script>");return;}else{int i = (newProjectClass()).UpdateStudenInfo(strID,strName,strPwd,strSex,DLCla);if (i == 1){Response.Write("<script>alert('信息修改成功!')</script>");}else{Response.Write("<script>alert('信息修改失败!')</script>");}}//返回浏览状态this.GVStuInfo.EditIndex = -1;this.GvDataBind();}3.2.2 教师信息管理模块图3.3教师信息管理界面图3.4添加教师信息界面设计思路:管理对教师的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加教师记录窗口(如图3.4)添加教师记录。

相关主题