毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc

上传人:仙人指路1688 文档编号:3985798 上传时间:2023-03-30 格式:DOC 页数:31 大小:303KB
返回 下载 相关 举报
毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc_第1页
第1页 / 共31页
毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc_第2页
第2页 / 共31页
毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc_第3页
第3页 / 共31页
毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc_第4页
第4页 / 共31页
毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文):基于ASP.NET的试卷管理系统设计10368.doc(31页珍藏版)》请在三一办公上搜索。

1、本 科 生 毕 业 论 文 题目: 基于ASP.NET的试卷管理系统 姓 名:何亚娟学 号:200724101216专 业:计算机科学与技术年 级:2007级学 院:信息科学技术完成日期:2011年5月指导教师:吴淑雷(教授)目 录1绪论11.1选题的背景21.2研究现状21.3发展方向32需求分析32.1环境需求32.2功能需求43系统总体设计43.1系统结构图43.2系统流程图43.3功能描述53.3.1系统管理模块53.3.2试卷科目管理模块73.3.3试卷管理模块73.3.4试题管理模块84数据库设计84.1数据库概念结构模型设计94.2数据库逻辑结构模型设计124.3数据库表设计12

2、5系统开发过程155.1类的设计155.1.1数据操作类155.1.2常用函数类175.2页面框架的设计195.3系统管理主要模块功能的实现195.4试卷科目管理模块主要功能的实现215.5试卷管理模块主要功能的实现225.5.1自动出卷功能实现235.5.2手工出卷功能的实现245.5.3试卷查看功能实现255.6试题管理模块主要功能的实现266测试277系统总结分析27参考文献28基于ASP.NET的试卷管理系统作者:何亚娟 指导教师:吴淑雷教授(海南师范大学信息科学技术学院,海口,571158)摘 要:本系统选取Microsoft SQL Server 2005作为后台数据库,采用ASP

3、.NET技术,设计并实现了一个试卷管理系统的基本功能,如试题管理、自动出卷和手动出卷等。其构建的目的是减少教师的工作,降低了资源的浪费并且提高了保密性。关键词:试卷管理系统;自动出卷;ASP.NET;Examination Paper Management System Based On ASP.NETAuthor:HeYaJuan Tutor:WuShuLei professor(Department of Computer Science and Technology, School of Information Science and Technology, Hainan Normal

4、University, HaiKou, 571158)Abstract:The system choose Microsoft SQL Server 2005 as a Backend database. Using technology designed and implemented the basic functions of the examination paper management system, Such as questions management and completed the examination paper automatically or manually.

5、 The aim of construct the paper management system is to reduce the workload of teachers and cut down the waste of resource and improving confidentiality.Key phrase: Paper management system; Complete the volume automatically; ASP.NET;1绪论伴随着当今世界知识经济的迅猛发展,计算机已经普遍应用于社会的各个领域,并且扮演着越来越重要的角色。计算机的普及与应用在一定程度上

6、已经作为衡量一个国家或地区的发达或发展程度的标志。在这样的大环境下,我们当代的大学生就应该掌握并应用好计算机。作为计算机专业的学生,就更应该熟练掌握计算机专业技术知识,成为计算机领域的先锋。本系统选取Microsoft SQL Server 2005作为试题库,在ASP.NET环境下,用C#语言开发的试卷管理系统。系统以填空题、判断题、选择题、简答题的形式集成一个试题库。 管理员可以手工添加试题到题库并能够按预定要求自动生成试卷。让老师在传道授业的过程中可以更方便的得到帮助和支持并且减少教师的工作量。本系统可随时补充新搜集的试题及题型,逐步完善形成试题库系统并提供随机出卷的功能。1.1选题的背

7、景随着信息技术的发展和计算机的普及,计算机越来越深入到我们的生活领域中。由于信息量逐渐增加,学校教务管理工作日益繁重,每学期考试,从组织出卷到试卷的印制及试卷的管理等工作非常繁琐且工作量很大,这种组织管理方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成有效的试题库,据我所知人工进行试卷流程管理中。当需要出卷对学生进行测试的时候,需要抽调各专业的相关老师人工出题。老师出完题以后,会交给该课程的负责人审阅,不合格则需继续修改。而且审阅又包括初审和复审。其效率极低,而且易出错。无法充分发挥历年来的优秀试题及试卷的作用,给试题和试卷的管理带来很多问题和困难。另外随

8、着计算机网络的持续发展,无论是工作、学习还是生活的节奏将会不断加快,这就要求我们有快捷的信息来源。如果采用计算机对学生的课程各类信息进行管理,必将大大的提高工作效率、减少教师的工作量,对学生试卷的管理起到积极的作用,所以无论从目前的现状还是面向未来,一个完备的学生试卷管理系统的开发是非常必要的。设计编写试题库管理系统, 是基于二种目的: 一是充分利用现有的计算机系统减轻工作人员的劳动强度。二是摒弃传统的手工整理、以纸质试卷的形式存放到档案室, 浪费纸张等原材料, 不利于保护环境。使用计算机对学生试卷信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性

9、好、寿命长、成本低等。这些优点能够极大地提高学生试卷管理的效率。1.2研究现状计算机用于考试管理的时间可以追溯到20世纪60年代,早在那个时候英国首先尝试了将计算机用于考试管理,并称这种计算机管理方式为计算机辅助测试简称CAT。IBM公司在1968年和美国洛杉矶学区就共同开发了一个最初用于管理美国历史题库的系统CTSS(Classroom Teacher Supporting System)。后来,加利福尼亚州开发了一个专为加利福尼亚州19个州立大学1.6万名教师和29万学生服务的名为SOCRATEBCATC的系统。国外的一些系统比较侧重于题库管理,自动组卷。在线考试以及考后测评。自1983年

10、成立全国高等教育考试指导委员会以来,各种考试机构纷纷建立。国内试卷管理方面比较成熟的系统有:中国教育星网络智能题库系统,是基于WEB方式的智能题库系统,能够在学校现有主页或其他web方式的应用结合在一起,能够满足单机、网络教室、校园网、网校和城域教育网等各种应用环境的需要。该系统的主要缺点是没有对考试后的试卷分析,没有对试卷的相关属性进行管理。另外还有鹏博士在线考试系统及题库管理系统以及ExamManager考试管理系统等1 桑清宇. 基于CS结构的自学考试试卷管理系统的设计与实现D.2009年5月。网络上也有很多基于VB或者C+的试卷管理系统。1.3发展方向目前,试卷管理系统还存在很多弊端。

11、尤其是自动出卷部分问题更为明显,如很多时候需要根据学生的学习情况来决定出卷的难易程度。常常出现自动出卷的题目偏难或者偏易等问题,而达不到预期检测学生学习情况的目的。故而为了出一份难易适中的试卷,教师仍然需要投入大量的经历去查看已出好的试卷是否合格。所以,未来的试卷管理系统必然是朝着这个方向发展。而随着信息技术的发展,试卷管理系统也必将逐步完善,更加智能化、合理化。方便各用户的使用。届时,人们将可以完全摒弃手工操作,无需教师再付出大量的劳动,而全部在计算机技术的基础上实现自动的试卷管理。2需求分析2.1环境需求为了保证试卷管理系统能够高效可靠的运行开发环境的软硬件要求。软件要求 操作系统:WIN

12、DOWS XP 数据库:Microsoft SQL Server 2005 开发工具:Visual Studio2008硬件要求 硬盘:250GB内存:1GB显示器:VGA2.2功能需求试卷管理管理系统是一个为试卷建立的系统,主要功能包括试卷科目管理、试卷管理、试题管理和权限管理四个模块。教师角色功能要求为:权限管理、添加考试科目、添加试题到题库,查看当前系统的试题、编辑当前的试题、删除当前的试题、查看编辑或者删除存在于题库中的试卷、设置自动出卷或者手工出卷等。学生角色功能要求为:查看当前存在于题库中的试卷。3系统总体设计3.1系统结构图试卷管理系统的结构图,如图1所示。主体框架系统管理试卷科

13、目管理试卷管理试题管理图1 试卷管理系统结构图系统主要设四个主要的模块分别为系统管理模块、试卷科目管理模块、试卷管理模块、试题管理模块。3.2系统流程图进入系统后首先是用户登录页面用户登录以后判断是管理员用户还是普通用户,若是普通用户则只有浏览已经存在题库中的试卷,而如果是管理员用户则有操作系统的权限,包括权限操作、编辑试题和出卷等。其中的权限操作包括管理员权限和普通权限,而试题操作包括添加试题、修改试题、编辑试题、删除试题等。出卷又包括自动出卷和手工出卷。系统的流程图如图2所示。用户判断浏览试卷普通权限操作试卷系统权限操作添加用户编辑用户试题操作添加试题修改试题编辑试题删除试题出卷自动出卷人

14、工出卷管理员用户登录退出系统图2 系统流程图3.3功能描述3.3.1系统管理模块系统管理模块功能结构如图3所示。系统管理登录系统退出系统权限管理添加用户修改权限图3 系统管理功能结构图系统管理包括登录系统、退出系统和权限管理三个模块;登录系统:允许用户输入用户账户及密码,提交后,系统查询数据库验证身份分配权限。管理员可以对整个数据表进行管理。登录流程如图4所示。提示信息显示登录框输入用户名输入密码用户判断管理员普通用户登录系统密码出错图4 系统登录流程图权限管理:包括添加用户并赋予管理员或普通权限、修改用户、删除用户等。3.3.2试卷科目管理模块试卷科目管理功能结构如图5所示。试卷科目管理添加

15、科目编辑科目删除科目图5 试卷科目管理功能图试卷科目种类管理包括试卷科目管理页面和试卷科目添加页面,我们可以在试卷科目管理页面查看已经存在的考试科目。当需要编辑某个科目的时候我们只需要单击进入详细页面进行编辑最后点击按钮保存即可完成编辑现有的考试科目。并且当我们需要添加考试科目的时候,我们需要点击下面的添加考试科目链接,进行考试科目的添加。3.3.3试卷管理模块试卷管理模块功能结构如图6所示。试卷管理模块试卷管理自动出卷手工出卷编辑试卷删除试卷图6 试卷管理模块功能结构图试卷管理模块的功能就是对现有的试卷进行查看和编辑。以及通过现有的试题库制作一份试卷出来。它包括试卷查看、试卷制作两个模块。试

16、卷查看:已保存的试卷能够在试卷详细页面进行查看浏览,在试卷的详细页面单击导出word按钮选择存储位置和设置试卷名称即可导出word文档保存。试卷制作:包括自动出卷和人工出卷,其中自动出卷需要设置题型的题量和分数并且选择所属科目即可随机的组成一份该科目的试卷。人工出卷则是手动在试题库中选择试题并且设置试卷名称组成一份试卷。3.3.4试题管理模块试题管理模块功能结构如图7所示。试题管理模块添加试题修改试题查询试题删除试题试题题型单选题多选题填空题判断题问答题图7 试题管理模块功能结构图鉴于计算机专业课程的特点,系统中试卷管理的题型分设单项选择题、多项选择题、判断题、填空题和简答题。其中对题目的操作

17、又包括添加试题、删除试题、编辑试题、查询试题四个模块。用户通过试题查看页面查看已经存在于题库中的试题,若发现错误可以在试题的管理页面直接单击进入详细页面编辑进行修改,修改以后点击保存即完成修改试题。当用户想将新的试题添加到题库中的时候,只需要单击添加试题按钮即可跳转到试题添加页面。在试题的添加页面完成添加的录入后单击保存按钮,就完成了试题的添加。当发现不再需要某个试题的时候,我们只需要在试题的管理页面点击删除即可删除题库中试题。而关于查询试题则是根据不同的科目和题型检索已经存在于题库中的试题,如选择ASP.NET这门课程的单选题那么在试题管理页面的列表中自动显示和ASP.NET有关的单选题。4

18、数据库设计数据库的设计是一个网站构建的重要环节,如果数据库设计的不好将直接影响到以后系统的维护和系统功能的扩充,甚至为以后系统的开发带来很大的不便。4.1数据库概念结构模型设计试卷管理系统是采用SQL 2005作为网站的后台数据库,根据试卷管理系统的功能需求在试卷管理系统中共建立了9张表2 崔巍.数据库系统及应用M.高等教育出版社.2003年2月,它们的实体图如图8图16所示。用户用户名密码权限姓名电话备注图8 用户实体-属性图单选题所属科目答案A题目答案B答案C答案D答案图9 单选题实体属性图多选题所属科目答案A题目答案B答案C答案D答案图10 多选题实体-属性图填空题所属科目前描述后描述答

19、案图11 填空题实体属性图判断题所属科目题目答案图12 判断题实体属性图问答题所属科目题目答案图13 问答题实体属性图试卷科目科目编号科目名 图14 试卷科目实体属性图试卷试卷编号试卷名试卷状态所属科目编号图15 试卷页面实体属性图试卷试题内容试卷编号类型分数题目编号图16 试卷试题内容试题属性图本系统实体关系E-R图如图17所示。课程科目教师管理试卷单选题多选题填空题简答题判断题试卷试题mmmmmnmmnnnnnn管理管理管理管理管理学生查看属于属于属于属于属于属于属于管理n1nnn1nnn1nm11111图17 系统实体关系E-R图4.2数据库逻辑结构模型设计根据数据库概念结构模型设计3

20、郑阿奇.SQL Server 实用教程M.电子工业出版社.2005年1月3,我们设计数据库逻辑结构模型如下所示。Tb_Users(用户名、密码、用户权限、真实姓名、电话号码、备注)。Tb_SingleProblem(编号、所属科目、题目、选项A、选项B、选项C、选项D、答案)。Tb_MultiProblem(编号、所属科目、题目、选项A、选项B、选项C、选项D、答案)。Tb_FillBanksProblem(编号、所属科目、题目、答案)。Tb_JudgeProblem(编号、所属科目、题目、答案)。Tb_QuestionProblem(编号、所属科目、题目、答案)。Tb_Course(编号、科

21、目名称)。Tb_Paper(编号、试卷编号、试卷所属科目名、试卷名称、试卷状态)。Tb_PaperDetail(编号、试卷编号、题目编号、试卷类型、分数。)。4.3数据库表设计根据试卷管理系统的数据库概念模型和逻辑模型的设计和分析将设计用户表、单选题表、多选题表、填空题表、判断题表、问答题表、课程表、试卷表和试卷试题内容表等9个表。用户表用于存放用户信息,具体设计如表1所示。表1 用户数据表字段名数据类型及长度是否为主键描述User_namevarchar(20)否用户名User_pwdvarchar(30)否用户密码User rightvarchar(10)否用户权限Namevarchar(

22、50)否真实姓名TelVarchar(20)否电话号码Remarkvarchar(100)否备注单选题表用户存放单选题信息,具体设计如表2所示。表2 单选题数据表字段名数据类型及长度是否为主键描述IDint是编号CourseIDint否所属科目编号TitleVarchar(500)否题目AnswerAvarchar(500)否答案AAnswerBvarchar(500)否答案BAnswerCVarchar(500)否答案CAnswerDvarchar(500)否答案DAnswervarchar(2)否答案多选题表存放多选题信息具体设计如表3所示。表3 多选题数据表字段名数据类型及长度是否为主键

23、描述IDint是编号CourseIDint否所属科目编号Titlevarchar(500否题目AnswerAvarchar(500)否答案AAnswerBvarchar(500)否答案BAnswerCvarchar(500否答案CAnswerDvarchar(500)否答案DAnswervarchar(2)否答案填空题表存放填空题信息具体设计如表4所示。表4 填空题数据表字段名数据类型及长度是否为主键描述IDint是编号CourseIDint否所属科目编号FrontTitileVarchar(500)否题目前描述BackTitleVarchar(500)否题目后描述AnswerVarchar(

24、500)否答案判断题表存放判断题信息具体设计如表5所示。表5 判断题数据表字段名数据类型及长度是否为主键描述IDint是编号CourseIDint否所属科目编号TitileVarchar(500)否题目AnswerVarchar(500)否答案问答题表存放问答题信息,具体设计如表6所示。表6 问答题数据表字段名数据类型及长度是否为主键描述IDint是编号CourseIDint否所属科目编号TitileVarchar(500)否题目AnswerVarchar(500)否答案课程表存放课程信息,具体设计如表7所示。表7 课程数据表字段名数据类型及长度是否为主键描述IDint是编号NameVarch

25、ar(200)否科目名称试卷信息表存放关于试卷的信息,具体设计如表8所示。表8 试卷信息数据表字段名数据类型及长度是否为主键描述IDint是编号PaperIDint否试卷编号CourseIDint否所属科目编号PaperNameVarchar(200)否试卷名称PaperstateBit否试卷状态试卷试题内容数据表存放试卷中的试题信息,具体设计如表9所示。表9 试卷试题内容数据表字段名数据类型及长度是否为主键描述IDint是编号PaperIDint否试卷编号TypeVarchar(10)否试卷类型TitleIDint否题目编号Markint否分数5系统开发过程5.1类的设计基于代码重用原则,本

26、系统将常用的数据操作定义在数据库数据操作类中,将数据访问类定义在,将一些常用的函数定义在对应的类中,这样可以方便实现代码重用4 TP311.许天兵.C#类和C+类比较.开发研究与设计技术J.2007年4。下面分别介绍这两个类。5.1.1数据操作类数据操作类中关于安全访问数据库即从数据库中安全获取数据当数据库中的数据为NULL时,保证读取不发生异常的方法定义在GetSafeData.cs文件中。该文件中定义了从一个DataRow中,安全得到列colname中的值:值为字符串类型、整数类型、布尔类型、浮点数类型和时间类型等的方法。以安全得到列colname中的值:值为字符串类型方法定义为例。pub

27、lic static string ValidateDataRow_S(DataRow row,string colname)if(rowcolname!=DBNull.Value) return rowcolname.ToString();elsereturn System.String.Empty; 关于数据库接口类的方法定义在DataBase.cs文件中。该文件中定义了一下关于数据库连接的方法包括打开数据库连接、关闭数据库连接、释放资源等。打开数据库连接定义:private void Open()if (Connection = null)Connection = new SqlConn

28、ection(ConnectionString);Connection.Open();else if (Connection.State.Equals(ConnectionState.Closed) Connection.Open(); 关闭数据库连接定义:public void Close() if (Connection.State.Equals(ConnectionState.Open)Connection.Close(); 释放资源定义:public void Dispose()if (Connection != null)Connection.Dispose();Connection

29、 = null;5.1.2常用函数类数据操作类分别为题目操作类、试卷科目操作类和试卷操作类存放在App_Code文件夹下面。其中题目操作类包括单选题操作类SingleProblem.cs、多选题操作类MultiProblem.cs、填空题操作类FillBlanksProblem.cs、判断题操作类JudgeProblem.cs和问答题的操作类QuestionProblem.cs;试卷科目操作类Course.cs;试卷操作类Paper.cs。在这些操作类中定义了一下操作方法。以单选题为例:在SingleProblem.cs文件中定义了单选题的一些方法定义有插入方法InsertByProc(),更

30、新方法UpdateByProc(int TID),删除方法DeleteByProc(int TID),查询方法QuerySingleProblem(int TCourseID)等。当我们在操作单选题页面时,只需调用这些方法即可实现。而无需每次都要写很长的代码来实现插入删除等功能。插入方法InsertByProc()定义:public bool InsertByProc() SqlParameter Params = new SqlParameter7; DataBase DB = new DataBase(); Params0 = DB.MakeInParam(CourseID, SqlDbT

31、ype.Int,4, CourseID); Params1 = DB.MakeInParam(Title, SqlDbType.VarChar,1000, Title); Params2 = DB.MakeInParam(AnswerA, SqlDbType.VarChar, 500, AnswerA); Params3 = DB.MakeInParam(AnswerB, SqlDbType.VarChar, 500, AnswerB); Params4 = DB.MakeInParam(AnswerC, SqlDbType.VarChar, 500, AnswerC); Params5 =

32、DB.MakeInParam(AnswerD, SqlDbType.VarChar, 500, AnswerD); Params6 = DB.MakeInParam(Answer, SqlDbType.VarChar, 2, Answer); int Count = -1; Count = DB.RunProc(Proc_SingleProblemAdd, Params); if (Count 0) return true; else return false; 更新方法UpdateByProc(int TID)定义:public bool UpdateByProc(int TID) SqlP

33、arameter Params = new SqlParameter8; DataBase DB = new DataBase(); Params0 = DB.MakeInParam(ID, SqlDbType.Int, 4, TID); Params1 = DB.MakeInParam(CourseID, SqlDbType.Int, 4, CourseID); Params2 = DB.MakeInParam(Title, SqlDbType.VarChar, 1000, Title); Params3 = DB.MakeInParam(AnswerA, SqlDbType.VarChar

34、, 500, AnswerA); Params4 = DB.MakeInParam(AnswerB, SqlDbType.VarChar, 500, AnswerB); Params5 = DB.MakeInParam(AnswerC, SqlDbType.VarChar, 500, AnswerC); Params6 = DB.MakeInParam(AnswerD, SqlDbType.VarChar, 500, AnswerD); Params7 = DB.MakeInParam(Answer, SqlDbType.VarChar, 2, Answer); int Count = -1;

35、 Count = DB.RunProc(Proc_SingleProblemModify, Params); if (Count 0) return true; else return false; 删除方法DeleteByProc(int TID)定义: public bool DeleteByProc(int TID) SqlParameter Params = new SqlParameter1; DataBase DB = new DataBase(); Params0 = DB.MakeInParam(ID, SqlDbType.Int,4, TID); int Count = -1

36、; Count = DB.RunProc(Proc_SingleProblemDelete, Params); if (Count 0) return true; else return false; 查询方法QuerySingleProblem(int TCourseID)定义: public DataSet QuerySingleProblem(int TCourseID) SqlParameter Params = new SqlParameter1; DataBase DB = new DataBase(); Params0 = DB.MakeInParam(CourseID, Sql

37、DbType.Int, 4, TCourseID); return DB.GetDataSet(Proc_SingleProblemList,Params); 通过以上方法就可以在单选题的操作页面进行调用这些方法,就能实现单选题的添加、修改、删除和更新操作。对于其他页面根据其对应的数据库的不同,进行类似的定义即可。5.2页面框架的设计系统页面的框架采用上下结构5 曾顺.精通CSS+DIV网页样式与布局M.人民邮电出版社.2009年2月,上面显示试卷管理系统的标志,下面又采用左、中、右结构,左边是系统功能显示页面,右边显示对应的操作结果。页面框架如图18所示。图18 页面框架图5.3系统管理主要

38、模块功能的实现系统的管理的功能包括登录系统、退出系统和权限管理。关于权限管理功能的实现,能够添加用户、修改用户、删除用户等。其代码如下: void ddl_Binding() SqlServerDataBase db = new SqlServerDataBase(); SqlConnection conn = db.DBconn(); string sql = select * from Users; DataSet ds = db.Select(sql, conn); if (ds.Tables0.Rows.Count 0) dg_approval.DataSource = ds; dg_

39、approval.DataBind(); protected void btn_Submit_Click(object sender, EventArgs e)/添加按钮事件 SqlServerDataBase db = new SqlServerDataBase(); SqlConnection conn = db.DBconn(); if (TextBox4.Text.Trim().Length 11) Response.Write(alert(电话号码不能超过11位!); return; string sql = insert into Users values( + TextBox1.

40、Text.Trim() + , + TextBox2.Text.Trim() + , + TextBox6.SelectedValue.Trim() + , + TextBox3.Text.Trim() + , + TextBox4.Text.Trim() + , + TextBox5.Text.Trim() + ); db.Insert(sql, conn); ddl_Binding(); protected void dg_approval_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = mod)/修改链接事件 SqlServerDataBase db = new SqlServerDataBase();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号