资源描述
淮阴工学院 数据库课程设计报告课题名称: 在线考试系统 专业: 计算机科学与技术 班级: 计算机1072 姓名: 学号: 1071301218 指导老师: 2009年12月29日设计任务书课题名称在线考试系统设计目的 1、加深对数据库系统、程序设计语言的理论知识的理解和应用水平。 2、通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。实验环境1、操作系统为Windows XP。2、数据库管理系统为SQL Server2005标准版或企业版。3、高级程序设计语言为PB、VB6、ASP、ASP.NET或其他开发环境。任务要求1、通过社会调查,选择一个实际应用数据库系统的课题。2、进行系统需求分析和系统设计,写出系统分析和设计报告。3、设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。4、完成数据库定义工作,实现系统数据的数据处理和数据录入。5、实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性和并发控制技术等功能,并针对具体课题问题提出解决方法。6、对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。工作进度计划序号起止日期工 作 内 容12009.12.212009.12.21查询资料、选择课题22009.12.212009.12.22需求分析、总体设计32009.12.232009.12.25系统整体设计、编写程序代码、调试程序42009.12.252009.12.26撰写课程设计报告指导教师(签章): 年 月 日 摘要:传统的考试方法由于涉及到组织命题,试卷印刷,考场安排,监考,人工判卷等诸多环节,所以周期长,效率低下,而且学生舞弊,人工判卷等主观原因,也会影响到考试的公正性。随着网络多媒体技术的不断兴起,出现了网络考试系统。本文着重设计基于SQL Server和ASPNET的在线考试系统,阐述该系统的基本原理、设计思想以及实现方法。网络考试系统实现了在线考试平台,功能包括教师出题、自动阅卷、学生查成绩、考试现场和添加用户等。该平台有3种身份的用户:系统管理员、教师和学生,根据用户身份的不同,登录系统后会进入不同的页面。关键词:在线考试,ASPNET,SQL Server目 录1 课题综述12 需求分析12.1 系统目标12.2 功能需求23 数据库设计23.1 概念设计23.2 逻辑设计33.3 存储过程54 系统设计104.1 总体设计104.2 系统流程图104.3 功能设计115 页面的具体实现115.1 登录页面115.2 添加用户页面125.3 教师功能首页125.4 添加试卷页面135.5 添加试题页面135.6 学生首页面135.7 在线考试页面13总 结15致 谢16参考文献17数据库原理及应用课程设计1 课题综述考试是教育中一个重要的环节,它不仅考查学生的知识掌握情况,同时为教师提供教学分析的依据。传统考试由于涉及到组织命题、考场安排、组织阅卷等诸多环节,考试时间周期长、效率较低;同时人工评卷等主观因素也影响到考试的公正性。随着网络技术在教育领域应用的普及,应用信息技术构架的网络在线学习测试系统展现出了越来越多的优越性。网络在线学习测试系统旨在探索一种以互联网为基础的学习和考试模式。该模式相对传统的考试方式,具有自动控制考试时间、系统自动评分、有效防止舞弊行为等优点,实现了考试与教育管理功能的有效结合,使考试更趋于客观、合理、和公正。这样通过一种新的学习测试模式,为考试创造一种新的考试环境,提高考试工作效率和标准化水平,考试管理突破时空限制,考生可以随时随地通过网络完成考试。网络在线考试系统从根本上解决了传统老师在评卷过程中工作量大、效率低等缺陷,成为教育技术发展与研究的方向。本文设计的在线考试系统正是顺应这种发展潮流。该设计采用SQL Server 2005和ASP.NET有效结合,具有在线考试、即时阅卷、成绩查询以及考题和考生信息管理等功能。2 需求分析2.1 系统目标在网络环境下,学生希望根据自己的情况进行学习,同时也希望能够得到科学的评价;老师希望有效改进现有的考试模式,提高考试的效率;教育机构也希望给网上的学生提供更全面、灵活的服务,全面准确地对学生进行跟踪和评价。通过这种新的模式,学校管理者、教师和学生可以随时随地通过网络进行考试。网络在线测试系统的开发及应用,避免了以往老师花大量的时间进行评阅学生的作业和考卷等缺点,并且后台是管理员独立的管理,确保了程序的安全性。只要考生通过自己的学号和密码进人前台,按步骤依次进行操作,答题完毕后系统会自动判断,并核对出最后考卷的分数,解决了学生等待成绩反馈时间长的缺点。2.2 功能需求根据网络考试系统的基本需求,本系统需要完成以下任务:(1)能够判断用户的身份,并根据身份的不同进入不同的页面。(2)能够实现在线添加试卷和试题的功能。(3)能够实现查询考试分数的功能。(4)能够实现在线答题功能。(5)能够实现添加用户的功能。3 数据库设计数据库设计包括概念设计、逻辑设计、物理设计三方面的内容。在线考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上包括用户信息、试卷信息、学生成绩信息和试题库信息,各部分的数据内容又有内在联系针对该系统的数据特点,可以总结出如下的需求:(1)系统用户分为管理员、教师和学生3种用户。(2)用户信息记录用户的名称、密码和身份。(3)成绩信息记录了学生的成绩信息。(4)试卷信息记录了所有已经存在的试卷信息。(5)动态创建试题库信息,记录试卷的内容。经过上述系统功能分析和需求总结,设计如下的数据项和数据结构:(1)用户信息包括用户编号、名称、密码和身份等数据项。(2)成绩信息包括成绩编号、学生姓名和试卷名称等数据项。(3)试卷信息包括试卷编号、试卷名称、总成绩和考试时间等数据项。(5)试题库信息包括试题编号、试题分数和试题类型等数据项。3.1 概念设计设计好数据项和数据结构后,就可以设计满足需求的各种实体及相互关系,再用实体一关系图,即E-R图将这些内容表达出来,为后面的逻辑结构设计打下基础。本系统规划出的实体包括用户信息实体、学生成绩信息实体、试卷信息实体和试题库信息实体,它们之间的关系如图3.1-3.4所示。用 户用户编号用户名用户密码用户身份图3.1 用户信息实体E-R图测试时间学生成绩试卷名称成绩编号学生姓名学生分数试卷总分图3.2 学生成绩信息实体E-R图试 卷考试时间试卷编号试卷名称出卷教师试卷总分图3.3 试卷信息实体E-R图试题库试题分数试题编号试题类型参考答案试题内容图3.4 试题库信息实体E-R图3.2 逻辑设计网络考试系统数据库TMS包括4张表,分别是用户信息表、学生成绩信息表,试卷信息表和试题库信息表。试题库信息表在系统中动态创建。(1)用户信息表用户信息表(Users)记录了用户的详细信息,结构如表3-1所示。表3-1 用户信息表列 名数据类型长 度允许空说 明UserIDint4否用户编号UserNamenvarchar16否用户名UserPwdnvarchar12否用户密码UserTypenvarchar50否用户身份(2)学生成绩信息表成绩信息表(Scores)与学生的成绩通知单类似,记录了学生的成绩信息,结构如表3-2所示。表3-2 学生成绩信息表列 名数据类型长 度允许空说 明ScoreIDint4否成绩编号StuNamenvarchar16否学生姓名PaperNamenvarchar50否试卷名称TotalScoreint4否试卷总分StuScoreint4否学生分数TestTimedatetime8否测试时间(3) 试卷信息表试卷信息表(Papers)包含试卷的主要信息,结构如表3-3所示。表3-3 试卷信息表列 名数据类型长 度允许空说 明PaperIDint4否试卷编号PaperNamenvarchar50否试卷名称PaperScoreint4否试卷总分Teachernvarchar16否出卷教师TotalTimenvarchar50否考试时间(4) 试题库信息表试题库信息表动态创建,记录了试卷中试题的信息,结构如表3-4所示。表3-4 试题库信息表列 名数据类型长 度允许空说 明QuestionIDint4否试题编号QuestionTypenvarchar50否试题类型Questionnvarchar4000否试题内容Answernvarchar4000否参考答案Scoreint4否试题分数3.3 存储过程使用存储过程可以优化系统,并提高效率。因此,构建完数据库的表结构后,就可以创建表中信息选择、添加、更新以及删除的相关存储过程,系统使用了以下9个存储过程。(1)AddUser存储过程AddUser存储过程用于插入用户信息,系统在向数据库中插入用户信息时将调用该存储过程,用户类型主要有管理员、教师和学生3种。以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.AddUser(UserName nvarchar(16),UserPwd nvarchar(12),UserType nvarchar(50)AS Insert into Users(UserName, UserPwd,UserType)Values(UserName, UserPwd,UserType)(2)AddPaper存储过程AddPaper存储过程用于将试卷添加到数据库。当教师用户登录后添加试卷将使用该存储过程,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.AddPaper(PaperName nvarchar(50),PaperScore int,Teacher nvarchar(16),TotalTime nvarchar(50)AS Insert into Papers(PaperName, PaperScore,Teacher,TotalTime)values(PaperName, PaperScore,Teacher,TotalTime)(3) GetUser存储过程GetUser存储过程用于获得所有用户信息列表,包括用户编号、用户名、用户密码和用户身份,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.GetUserAS Select * From Users(4) InsertScore存储过程InsertScore存储过程用于实现自动阅卷功能。当考生提交考试试卷以后使用该功能向数据库中添加考生信息、试卷信息和考试成绩,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.InsertScore(StuName nvarchar(16),PaperName nvarchar(50),TotalScore int,StuScore int,TestTime datetime)AS insert into Scores( StuName,PaperName,TotalScore,StuScore,TestTime)Values( StuName,PaperName,TotalScore,StuScore, TestTime)(5)SelPaperName存储过程SelPaperName存储过程可使用户获取考试试卷的名称,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.SelPaperName(PaperName nvarchar(50)AS Select PaperID From PapersWhere PaperName=PaperName(6) StuScore存储过程StuScore存储过程可使用户获取指定学生的成绩信息,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.StuScore(UserName nvarchar(16)ASSelect ScoreID, PaperName, TotalScore, StuScore, TestTimeFrom ScoresWhere StuName=UserName(7) TScore存储过程TScore存储过程用于获取所有学生的成绩信息,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.TScoreAS Select StuName, PaperName, TotalScore, StuScore,TestTimeFrom Scores(8) TScore1存储过程TScore存储过程用于获取指定试卷的所有考生成绩信息,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.TScore1( PaperName nvarchar(50)AS Select StuName, PaperName, TotalScore, StuScore, TestTimeFrom ScoresWhere PaperName=PaperName(9) UserLogin存储过程UserLogin存储过程用于用户身份的认证,以下代码表示了这一存储过程。USE TMSGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE dbo.UserLogin(UserName nvarchar(16),UserPwd nvarchar(12)AS Select UserID, UserName,UserTypeFrom UsersWhere Username=Username and UserPwd=UserPwd4 系统设计4.1 总体设计在线考试系统分为用户管理模块、教师模块和学生考试模块。教师模块包含了成绩列表模块、添加试卷模块和添加试题模块。学生考试模块包含成绩列表模块和在线考试模块。该系统功能模块图如图4.1所示。在线考试系统用户管理模块教师模块学生考试模块添加用户成绩查询出 题查看成绩考 试图4.1 系统功能模块图4.2 系统流程图系统的流程图如图4.2所示。NYYN 选择退出? 判断用户身份 合法?开 始退 出用户登录 执行服务操作 进入相应的页面图4.2 系统流程图4.3 功能设计在线考试系统主要实现试卷的添加、试题的添加、用户的添加、自动阅卷和在线考试等功能。(1)系统登录根据用户身份不同进入不同的页面,这里管理员、教师和学生登录后分别进入不同的页面。(2)学生首页首页中包含了登录考生的所有分数以及所有已经准备考试的试卷,单击所要考试的试卷所对应的“进入考场”链接则可登录考试页面。(3)教师首页教师首页个首先为教师展示了所有的成绩信息,教师可以选择不同的科目查看学生的成绩,该页面还包含了出题模块的入口。(4)在线考试 在线考试功能就像学生平时考试的考场一样,学生单击“开始答题”按钮将显示试卷内容,单击“交卷”按钮将注销并退出,此时试卷评阅功能已经完成,并记录成绩。再次登录后可以看到本次考试的学生成绩。(5)添加考卷和考题 添加考卷和考题功能为教师身份用户所拥有,实现添加考试试卷和试题的功能。5 页面的具体实现根据系统的要求和功能,综合各种因素,开发环境采用SQL Server 2005+ASPNET。5.1 登录页面登录页面实现用户身份的认证。管理员用户登录后进入添加用户页面,教师用户登录后进入教师首页面,学生用户登录后进入学生首页面。登录页面如图5.1所示。 图5.1 登录页面 图5.2 添加用户页面5.2 添加用户页面添加用户是管理员用户的功能,可以实现查看用户信息和添加用户的功能。用户admin登录后进入如图5.2所示的添加用户界面,从图中可以看到,系统已经预置了几个用户。在添加用户页面输入用户信息,如图5.3所示。单击“添加用户”按钮,添加一个用户此时列表发生了变化,如图5.4所示。 图5.3 输入用户信息 图5.4 添加用户成功5.3 教师功能首页教师功能首页提供教师添加考试试卷和试题的入口,并显示考试成绩列表。以教师身份登录后进入如图5.5所示的教师功能首页面。从图中可以看到,教师功能首页面列出了所有考生的成绩,还可以通过选择考试科目查询该科目的所有考生成绩,如图5.6所示。 图5.5 教师功能首页 图5.6 科目成绩查询5.4 添加试卷页面添加试卷页面实现向数据库中添加一个新的以试卷名称命名的表,并提供向该试卷添加试题的入口。单击图5.5所示的“出题”按钮,将进入图5.7所示的添加试卷页面。 图5.7 添加试卷页面 图5.8 添加试题页面5.5 添加试题页面添加试题页面的主要功能是将教师输入的试题内容添加到由Session对象传递过来的试卷表中。添加试题页面如图5.8所示。添加好试题后,单击“保存”按钮即可保存该题,然后单击“下一题”按钮录入下一道试题,单击“完成”按钮返回到教师首页面。5.6 学生首页面学生首页为登录后的学生用户提供成绩查询以及查询所有考试试卷功能。以学生身份登录后可以进入学生首页面,如图5.9所示。 图5.9 学生首页面 图5.10 在线考试初始页面5.7 在线考试页面当学生用户单击了“进入考场”链接则进入了在线考试页面,该页面为学生用户提供了自主考试的功能。在图5.9中,单击“网络”试卷对应的“进入考场”链接就可以进入在线考试初始页面了,如图5.10所示。单击“开始答题”按钮,出现考题,如图5.11所示。 图5.11 试题页面 图5.12 查看本次考试成绩答题完成后,单击“交卷”按钮即可完成该次考试,并返回到学生首页面。此时可以看到本次考试的成绩,如图5.12所示。总 结课程设计是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。在线考试系统实现的基本功能有添加试卷、添加试题、查询学生成绩、添加各种身份的用户和在线考试等。本系统中安排了3种身份的用户:管理员、教师和学生。通过本次课程设计,我掌握了在线考试系统实现的基本原理和过程。回顾起此次课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在将近一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。致 谢在报告即将完成之际,我的心情无法平静,从开始进入课题到设计的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!首先感谢淮阴工学院、计算机工程系提供的实践机会。其次,我要感谢我的老师刘金岭,感谢他以往生动的的课堂教学和耐心的操作指导,以及在这段时间里不辞辛苦的为同学们指导课程设计。只要同学们有不会的,不懂得向他请教,他都会乐意耐心的讲解,直到那个同学搞懂为止。另外,在这么冷的天气里,如果机房没有空调,我们岂不会被冻死。幸好学校为我们在机房提供了空调,使我们可以安心得在机房里进行课程设计。所以在这里我要感谢实验室提供的实验环境。最后,请允许我再次向在这次课程设计中给予我帮助的同学、老师以及机房的工作人员表示最真挚的谢意!参考文献1刘金岭,冯万利,张有东.数据库原理及应用.北京:清华大学出版社,2009.72施伯乐,丁宝康,汪卫.数据库系统教程(第二版).北京:高等教育出版社,2003.83肖金秀,何鹏,周柏伟,黄元隆.ASP.NET程序设计.北京:冶金工业出版社,2004.44邹建峰,李律松,李晓栓.ASP.NET 开发技术详解.北京:人民邮电出版社,2005.15吴晨,王春霞.ASP.NET 2.0数据库项目案例导航.北京:清华大学出版社,2007.1017指导教师评语学号1071301218姓名林 波班级计算机1072 选题名称在线考试系统序号评价内容权重(%)得分1 考勤记录、学习态度、工作作风与表现。102是否完成设计任务;能否运行、可操作性如何等。303 报告的格式规范程度、是否图文并茂、语言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。304 自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。30合计指导教师(签章): 年 月 日
展开阅读全文