1、1中文题目:数据库原理课程在线考试系统的设计与实现外文题目:THEDESIGNANDIMPLEMENTATIONOFTHEONLINEEXAMINATIONSYSTEMFORTHECOURSEOFDATABASEPRINCIPLE毕业设计(论文)共72页(其中:外文文献及译文15页)完成日期年月答辩日期年月2摘要如今,计算机网络技术日益成熟和校园网的普及,为在线考试提供了良好基础。利用计算机以及网络技术实现考试的信息化,具有传统考试不可比的优点。因此开发适应信息时代的在线考试系统是有必要的。面对目前形势,设计出基于B/S结构在线考试系统。此在线考试系统分别采用Windows7、MySQL作为服
2、务器端操作系统、后台数据库开发工具;系统体系结构采用B/S结构;MYECLIPSE为B/S模块应用程序开发工具。实现教师出卷、学生考试、教师组卷、教师阅卷、分配教师阅卷等功能。在设计中,使用目前流行的Ajax技术,提高客户机和服务器间数据交换效率以及灵活性。在本系统的开发中,还使用了例如XML、JavaScript等技术。本系统基于Internet/Intranet,将考试工作自动化和信息化结合为一体,来达到系统设计的基本目标和满足校内外,对考试信息共享、利用的要求。关键词:在线考试;MySQL;jsp3ABSTRACTNowadays,thepopularizationofcomputern
3、etworktechnologyisincreasinglymatureandcampusnetwork,provideagoodfoundationforonlineexam.Usingthecomputerandnetworktechnologytorealizethetestinformation,possessestheadvantagesoftraditionalexamthannot.Sotodeveloptheonlineexaminationsystemoftheinformationageisnecessary.Inthefaceofthecurrentsituation,d
4、esigntheonlineexaminationsystembasedonB/Sstructure.TheonlineexaminationsystemwithWindows7,MySQLastheserveroperatingsystem,backgrounddatabasedevelopmenttools;ThesystemarchitectureadoptsB/Sstructure;MYECLIPSEapplicationdevelopmenttoolsforB/Smodule.Toachievevolume,exam,teachergroupvolume,teachersmarkin
5、g,distribution,marking,etc.Inthedesign,theuseofcurrentlypopularAjaxtechnology,improvetheefficiencyofdataexchangebetweentheclientandtheserver,andflexibility.Inthedevelopmentofthissystem,andUSESthetechnologyofsuchasXML,JavaScript,etc.ThissystembasedonInternet/Intranet,combineexaminationforautomationan
6、dinformationtechnologyasawhole,toachievethebasicpurposeofsystemdesignandmeetface-to-face,ontherequirementofinformationsharingandutilizationofexam.Keywords:Theonlinetest;MYSQL;jsp4目录前言71项目概述81.1研究背景81.2研究现状81.3系统结构及研究内容和功能描述81.4业务流程描述101.5本系统存在的问题和薄弱环节分析132可行性分析142.1技术可行性142.2操作可行性142.3经济可行性143需求分析15
9、.1软件能力467.3.2缺陷和限制467.3.3建议467.3.4测试结论46致谢48参考文献49附录A英文译文50JSP技术简介及特点50附录B英文原文55附录C程序清单617辽宁工程技术大学毕业设计(论文)前言随着人们对信息管理和运用的需求的日益迫切及和信息技术的飞速发展,信息系统的整合和运用在生活的各个方面都得到广泛深入的使用。在线考试系统是非常典型的集管理信息系统和网络编程技。但是,随着学校管理工作内容、对象等不断的变化,复杂麻烦的手工操作以及一般的计算机软件已不能满足考试的需要了。使用先进的管理信息系统对学生息资源和试题资源进行科学的和系统打的管理己成为高校考试系统发展趋势了。如今
10、,几乎所有学校的各个部门都已建立了针对日常工作的信息管理系统。如财务管理信息系统、教务系统、科研管理信息系统、图书检索信息系统等。而这些系统在很大的程度上都提高了这儿些部门的工作效率、管理水平。但对于在线考试系统来说,还是比较缺乏完善的、系统化的信息管理的。正是因为认识到了在线考试系统在学校信息化中的重要地位,所以,才需要用先进的系统开发工具以及技术来实现管理工作信息化的、科学化的管理,真正的做到“充分利用现有的资源和信息”,开发出来对现有信息充分整合和操作,并减少不必要的和繁杂的手工操作,提高办公的效率,有助于加快教育体制改革进程。所以,建设一个功能完善的、操作简单的在线考试系统迫在眉睫。7
11、8陶志方-数据库原理课程在线考试系统的设计与实现1项目概述1.1研究背景而今的这个信息化的时代,Internet、计算机网络都扮演着特别重要的角色,世界各领域的信息管理的模式都正在被信息化改变着。而作为选拔人才的工具-考试,它的模式也面临着变革的挑战。现代化在线考试系统被迫切需要,一场难以也表的变革马上就要来临。只有使用信息化管理手段、计算机才可能实现考试的方便化、标准化和制度化。学校只有采用了在线考试系统,才可以跟上教育发展的需求。此在线考试系统是一个面向考试的通用的系统,它特别好的把物业考试的各个环节整合到一起,是一个将考试与当今计算机技术联合的体现。目前在我国大多学校没使用在线系统,基本
16、的修改,主要是修改密码,也可以增加教师用户数或者删除现有教师。班级管理主要是对教师所带班级的管理,在本系统中主要是为了后面的安排考试和统计学生成绩,主要包括对班级的增加和删除。学生信息管理主要是添加学生或者删除学生。添加学生时,只需为其分配账号和密码,而删除啊学生时,就需要删除其所有的信息,比如成绩记录、考试记录。试题管理模块:分为题库维护和题型管理。题库维护主要是对新考题及其答案的录入和教师已经不用的试题及其答案的删除。提醒管理主要是新题型的添加或旧题型的删除。考试管理模块:分为安排考试、试卷管理、学生考试、批阅试卷和成绩统计。教师安排学生考试前,先要确定参加考试的班级,然后选择好试卷,试卷
17、是从题库中生成,教师只需告诉系统试卷中的题型及相应的数量,则系统会按照教师的要求生成一份试卷,与此同时系统必须记录教师安排考试所用的试卷,以备日后有需要。学生考试主要是教师安排考试后,学生要按教师的要求参加考试,按系统要求完成考试。在学生结束考试后,教师要批阅学生试卷,主要是对试卷上主观题的批阅,客观题由系统自动批阅。统计成绩主要是在学生提交完试卷后,教师开始批阅试卷时,系统自动完成对试卷客观题的评分,在教师批阅完主观题给出分数后,系统将自动统计该试卷总分。查询统计模块:分为学生成绩统计、学生查询成绩和教师查询成绩。教师每次安排学生考试后要给出学生成绩,则也需要统计学生成绩。可以统计本次成绩给
18、出学生排名,也可以统计教师指定的近几次学生考试的成绩,将成绩汇总,更清晰的看到学生成绩的进退。教师在统计完学生的成绩后,保留记录,可以在任何需要的时候查询所有学生或者指定学生的所有成绩。学生查询成绩主要在考试后,教师给完成绩后查询本次成绩或者在老师汇总成绩后,查询汇总成绩,知道自己在过去几次考试中的表现。1.4业务流程描述业务流程图是用来描述系统业务流程最好的工具,它可以让系统分析人员与管理人员的交流更便利、直观。业务流程图-描述系统业务流程处理,自开始到结束的一整个过程非结构化图形的工具。10符号含义实体/外部项11辽宁工程技术大学毕业设计(论文)表1-1业务流程图符号说明Tab.1-1Se
19、rviceflowchartsymbolexplanation符号说明用来表示实体,圈内写明实体名称。数据处理/加工业务流库存数据文档用来表示输入抑或输出的数据等,框内写明其名称。用来表示业务处理,框子内写明处理的名称。用来表示信息或处理的流向。用来存储试题和试卷用来存放各种信息1112陶志方-数据库原理课程在线考试系统的设计与实现系统业务流程图如图1-2所示:教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教图1-2试题管理子系统业务流程图Fig.1-2Sys
20、temoperationalflowchart1213辽宁工程技术大学毕业设计(论文)1.5本系统存在的问题和薄弱环节分析经过过对本系统考察,我得出这个系统存在的问题、薄弱环节有如下几个方面:(1)收集得到的信息被分散到各个部门,没有得到合理、充分利用。(2)在线考试系统页面不太美观。视图效果会影响操作者心态,导致工作效率的下降。(3)系统的安全保密性不太强。1314陶志方-数据库原理课程在线考试系统的设计与实现2可行性分析2.1技术可行性本系统基于Web技术,采用B/S结构,用Java语言编写,面向对象,采用的主要技术是JavaServelet、JavaBean、JavaScript、JSP
21、,主要用到的工具是Myeclipse10和MySQL。Jdbc提供链接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问。JavaScript对前台的一些操作进行验证,增加用户与浏览器的交互,增加用户在使用网页应用的时候的体验。JSP用户通过浏览器向服务器发送页面请求,服务器加载并执行相应的JSP页面,接收用户的请求,并将处理结果发送给浏览器。这些技术在大学期间学习过,基本掌握,再加上导师的指导,可按期完成毕设。可见本在线考试系统技术上可行。2.2操作可行性在线考试系统是为学校考试开发的。因为本在线考试系统设计界面简易,明了。只要做出了详细使用说明,师生仅仅需要拥有一点基本的计算机的操
24、。数据流程图是用以描述目标系统逻辑结构的。DFD由实体,处理,数据存储,数据流四个部分组成。为让数据流图描述的逻辑结构更让人明了,易读,故将数据流图作如下说明:1516陶志方-数据库原理课程在线考试系统的设计与实现表3-1数据流程图符号说明Tab.3-1Flowdiagramofthedatamarkexplanation名称符号说明外部实体系统之外的,但是却又和系统有联系地人或者事物。数据处理对数据地逻辑进行处理,也就是数据的变换的过程。通过文件夹,数据文件等的存储数据存储数据流数据。表示流动地数据,也就是处理功能的输入及输出。1617辽宁工程技术大学毕业设计(论文)该系统的数据流图如下:教
25、教教教教教教教教教教教P0教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教教图3-1在线考试系统顶层数据流图Fig.3-1Topleveldataflowchartoftheonlineexaminationsystem教师正确登陆信息成绩信息P2考试与成绩管理正确登陆信息个人成绩学生试卷信息试题信息P1成绩信息D3试卷信息试卷信息D4成绩库试卷库试题信息正确登陆信息试题管理D1题库基本信息基本信息P3基本信息管理D2基本信息表正确登陆信息个人基本信息图3-2在线考试系统一层数据流图Fig.3-1Onlineexaminationsystemalayerofdataflowcha
28、息,查看试卷信息,试卷信息处理逻辑:对试题进行删除、修改等操作简要说明:对生成的试卷及试卷的删除、修改等进行操作1920陶志方-数据库原理课程在线考试系统的设计与实现名称:随机抽题输入:试题信息输出:新增试卷信息处理逻辑:将生成的试卷存储在试卷库中简要说明:自动生成试卷:教师先确定所需的考题类型的数目,如:单项选择20,再点击生成就会自动的生成一份所需试卷。名称:手动抽题输入:试题信息输出:新增试卷信息处理逻辑:将生成的试卷存储在试卷库中简要说明:手动生成试卷:试卷生成教师选择一个考试科目,在试卷中手动的添加试题,及可以批量的添加也可以一道一道添加。名称:题库管理输入:正确登陆信息,修改试题信
29、息,查看试卷信息输出:新增试题信息,删除试题信息,修改试题信息,试题信息处理逻辑:试题信息存储在试题库中简要说明:以手动的方式将试题添加到题库,并对现有试题进行删除、修改、查询等操作(4)外部实体的数据字典名称:教师简述:教师可以对试题及试卷进行增加、修改等操作输出数据流:登陆信息输入数据流:试题信息,试卷信息2021辽宁工程技术大学毕业设计(论文)3.4系统数据模型用于建立系统数据模型的主要的工具就是是实体关联图,又叫ER图。它提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。作图步骤如下:确定所有的实体集合。选择实体集应该包含的属性。确定实体集间的联系。确定实体集的关键字,
33、安试学批成学学教师级生型库排卷生阅绩生生师信管信管维考管考试统成查查管理息理护试理试卷计绩询询理管统成成息理计绩绩图4-1在线考试系统功能结构图Fig.4-1Onlineexaminationsystemfunctionstructure4.2接口设计4.2.1外部接口1用户界面时界面应操作简单,才能让用户容易使用。因此做好css样式表单。(1)对于用户来说,是易于理解和容易使用的。(2)用户界面要适合于软件的功能。(3)要有防错的处理。(4)一定要满足用户业务流程。2425辽宁工程技术大学毕业设计(论文)(5)合理的布局、适合的颜色图案,版面也要清晰简洁。在线考试系统的用户界面应该作到简单、
34、可靠、易学习使用。2软件接口WEB服务器TOMCAT6.0可用中间件JAVABEAN对后台数据库MySQL进行所有访问。数据库运用了MySQL。数据库不但要提供数据存储和查询,更需发挥它的自动作业功能。MySQL是一多线程,多用户的强壮的数据库服务器。将Tomcat和MySQL组合,是很流行的服务器。TOMCAT服务器是SUN公司JSDK基础上发展出的一优秀的SERVLET/JSP容器。它是APACHE-JSKARTA软件组织的一子项目。它不仅支持运行SERVLET及JSP,还具备作为商业JAVAWEB应用容器的一些特征。作为一个用来开放源码软件,TOMCAT拥有开放源码人们的广泛支持。它可和
35、目前绝大部分的主流HTTP服务器结合在一起工作,而且可靠、运行稳定、效率高。3硬件接口在输入方面,鼠标和键盘的输入,对输入可进行处理。在输出方面,对打印机进行连接和使用,在网络硬件部分和网络传输部分,为实现高速传输,用了快速以太网。4.2.2内部接口在内部接口方面,各个模块间用超链接、表单提交的方式来进行信息的传递。各个模块可通过引用类包来调用相应类中的办法和接口函数来完成数据库连接、查询、添加、删除和修改操作。4.3代码设计4.3.1代码设计原则代码设计是处理对象的代号或表示符号,其主要目的是方便计算机排序、检索、查找等处理。代码设计的关键是方便用户,满足业务的要求。(1)唯一确定性原则:仅
36、代表唯一的实体,分类时通常选取事物的最稳定的本质属性作为分类的基础和依据。(2)最小长度与可扩充性原则。(3)标准化原则:代码的编制尽量标准化,尽量参照国家和行业标准。2526陶志方-数据库原理课程在线考试系统的设计与实现(4)便于计算机处理与便于记忆的原则。(5)合理性:指代码结构要合理,尽量反映编码对象的特征,使代码具有分类标识作用。(6)稳定性:应预留足够的位置,以适应环境的变化,避免经常修改代码。(7)可识别性:短适宜、不用易混淆的字符,空格不能用于代码。4.4数据库设计数据库设计运用了MySQL,充分的发挥了数据库的综合管理功能,设计时充分考虑了数据库的设计规范(采用了3NF设计);
38、据间的依赖性,亦即函数关系依赖,它是实体之间的一种约束。关系数据库设计的核心问题是关系模式设计,即按照一定原则从数量较多而又相互关联1的数据中构造一组既能较好的反映客观现实世界又具有良好操作性能的关系模式。根据关系模式满足约束条件的不同,人们把它们各种不同的范式。例如从低级到高级有第一范式、第二范式、第三范式等等。因此,我们说某个关系模式属于某个范式,是指该关系模式满足某种确定的约束条件,具有一定的性质。而所谓关系模式的规范化就是指把一个低一级的关系模式分解为一组高一级关系模式的过程。下面简单的对范式的标准做一下介绍:第一范式(1NF):关系模式的所有域为简单域,其元素不可再分。2627辽宁工
40、)4.4.3数据字典数据字典是物理数据库的具体体现,主要规定各关系的名称、各列的数据类型、长度、小数位、完整性约束等。根据上面设计好的实体以及实体间的关系形成数据库中的基本表,由以下18个表组成,如表4-1至4-6所示为其中的一部分:表4-1班级信息表Tab.4-1GrandInformationForm列标示idgrandNograndNameteacher列含义班级主建班级编号班级名称老师数据类型intvarcharvarcharvarchar长度11161616是否允许为空不允许为空不允许为空不允许为空不允许为空2728陶志方-数据库原理课程在线考试系统的设计与实现表4-2答案信息表Ta
41、b.4-2Optionsinformationform列标示idoptionsNooptionsNameqId列含义答案编号选项选项值问题id数据类型intcharvarcharint长度11110011是否允许为空不允许为空不允许为空不允许为空不允许为空表4-3问题信息表Tab.4-3QuestionsInformationForm列标示idqNameqAnswer列含义问题编号问题名称正确答案数据类型intvarcharchar长度21001是否允许为空不允许为空不允许为空不允许为空表4-4试卷信息表Tab.4-4Test-paperInformationForm列标示idtNamesta
44、为空不允许为空不允许为空不允许为空不允许为空不允许为空4.4输入输出设计4.4.1输入设计输入设计要根据系统输出的要求确定输入的内容和格式。由于输入数据的准确性与及时性会影响管理信息系统的运行效果。输入数据的正确性对于整个系统质量的好坏起决定作用。输入设计不当又可能使输入数据发生错误,即使计算和处理十分正确,也不可能得到正确的输出。因此,输入设计既要给用户提供方便的界面,又要有严格的检查和纠错功能,以尽可能减少输入错误。输入设计主要包括输入数据的分析与获得、输入数据的格式设计、输入设备的选择、输入数据的校验等工作。2930陶志方-数据库原理课程在线考试系统的设计与实现表4-3输入设计编号:00
48、器。总之,硬件对系统的速度的影响会大于软件的影响。4.6出错处理设计4.6.1出错输出信息(1)对于软件错误,输入数据后点击提交按键后,后出现错误提示窗口,然后给出3132陶志方-数据库原理课程在线考试系统的设计与实现错误提示,返回当前输入的窗口。(2)对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。4.6.2出错处理对策(1)所有客户机及服务器需安上不间断的电源系统防止因停电或者电压不稳而造成的数据库数据丢失。如真断电时,客户机不会收到较大影响。(2)在网络传输的方面,可以考虑建立一条成本比较低的后备网络。用来保证主网络断路时的数据的通信。(3)在硬件方面需,
52、.1概述开发工具及编程脚本6.1.1WEB服务器简介JakartaTomcat服务器是在SUN公司JSWDK基础上发展起来的一个优秀的Servlet/JSP容器。JakartaTomcat服务器是Apache-Jakarta软件组织的一个子项目。它支持运行Servlet和JSP,还具备了当商业JavaWeb应用容器的特征。Tomcat作为一个开放源码的软件,已经得到了众多开放源码志愿者的支。Tomcat还可以和大部分目前的主流HTTP服务器在一起工作,而且还运行稳定,可靠,效率高。Tomcat除了能够运行Servlet以及JSP,也提供了Web服务器的一些特有的功能,例如Tomcat管理和控制
53、平台,安全域管理,Tomcat阀等。Tomcat早己成为目前的开发企业JavaWeb应用的最佳的选择之一。6.1.2MySQL-一个开放源码的,小型关联式数据库管理系统.瑞典MySQLAB公司开发。MySQL被广泛的应用在Internet上面的中小型网站。由于MySQL体积小,速度快,总体拥有成本低,特别是开放源码这一个特点,许多的中小型网站为降低网站总体成本而选择了它作为网站数据库。有以下特点:1用C和C+编写,并用了多种编译器来进行测试,保证了源代码可移植性。2支持HP-UX、LinuxAIX、FreeBSD、NovellNetware、MacOS、OS/2Wrap、OpenBSD、Sol
54、aris等多种操作系统。3也为多种编程语言提供了API,这些编程语言有Python、C、C+、Java、Eiffel、PHP、Perl、Ruby等。4支持多线程充分利用了CPU资源。5优化了的SQL查询算法,可有效地提高查询速度。6既能作为单独的应用程序来应用在客户端服务器的网络环境中,也能作为一个库嵌入到其他软件中。7提供多种语言支持,如中文的GB2312、BIG5,Shift_JIS等都可用作数据表名、数据列名。8提供了TCP/IP、ODBC、JDBC等多种数据库连接途径。3536陶志方-数据库原理课程在线考试系统的设计与实现9提供了用于管理检查,优化数据库操作的管理工具。10支持大型的数
55、据库,可处理有上千万条记地大型数据库。11支持好多种存储引擎。12.MySQL是开源的,不需支付额外费用。13.MySQL使用的是标准的SQL数据语言形式。6.1.3JSP简介JSP的英文全名称是JavaServerPage。中文全名称是Java服务器端语言。JSP核心就是Java技术。在服务器端JSP文件中会被编译成为类文件(.class),并以Servlet的形式接受用户访问以及处理数据,因此JSP实质是Servlet。JSP优势如下:(1)JSP方便和HTML结合在一起应用,JSP语言可在处理Java语言过程中灵活的用各种HTML标识。(2)JSP运行的速度快,JSP在服务器端会会被编译
56、成类文件,因此,只需初始化一次,然后保存到服务器的内存,供给多个客户端同时的访问,所以运行的速度快。(3)JSP技术获得很多软件公司的支持,JSP技术己成为服务器语言的标准。并由IBM、Sun、Bea等著名大软件公司提供技术的支持。(4)JSP技术得到了众多开放性代码组织的支持,例如Apache组织。Apache组织为JSP技术提供大量代码、模块以及设计模式。(5)JSP技术可跨平台运行,JSP应用语言为Java,它可实现一次编写在多个平台上运行,即JSP既可在Windows平台上来运行,也可在Linux平台以及Unix平台上来运行。6.2脚本习惯说明(1)包名每一个单词都必须要大写。(2)类
58、ryear=now.getYear();varmonth=now.getMonth()+1;vardate=now.getDate();varday=now.getDay();if(day=0)day=日;elseif(day=1)day=一;elseif(day=2)day=二;elseif(day=3)day=三;elseif(day=4)day=四;elseif(day=5)day=五;elseday=六;varhours=now.getHours();varminutes=now.getMinutes();3738陶志方-数据库原理课程在线考试系统的设计与实现varseconds=no
59、w.getSeconds()vartimeValue=year+年+month+月+date+日星期+day+;timeValue+=(hours24)hours-24:hours)timeValue+=(minutes10):0:)+minutestimeValue+=(seconds10):0:)+secondsdocument.clock.time.value=timeValue;timerID=setTimeout(showtime(),1000);timerRunning=true;(2)下面是一个用JavaScript编写的脚本程序,被浏览器访问后,其结果是如果添加用户时,确
60、认密码和再次输入额密码填写的是否一致,如果不一致给出提示并重新填写密码。functioncheckForm()if(document.forms0.username.value=)alert(用户名不能为空);returnfalse;if(.value=)alert(姓名不能为空);returnfalse;if(document.forms0.pwd.value=)alert(密码不能为空);returnfalse;if(document.forms0.pwd.value!=document.forms0.repwd.value)alert(两次密码输入