《基于BS模式的Java在线考试系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于BS模式的Java在线考试系统的设计与实现.pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河南机电高等专科学校毕业论文 I 目录 1 绪论.I 1.1 课题研究背景.3 1.2 国内外发展现状.4 2 需求分析.6 2.1 问题分析.6 2.2 任务概述.6 2.3 功能需求概述.6 2.4 项目目的.7 2.5 方案选择.7 2.6 运行环境.9 3 系统的总体设计.10 3.1 指导思想.10 3.1.1 B/S 结构开发思想.10 3.1.2 面向对象机制的设计思想.10 3.1.3 代码分层思想.11 3.2 功能需求分析.11 3.3 系统总体设计.11 3.3.1 系统管理模块.13 3.3.2 试题模块设计.14 3.3.2 教师管理模块.14 3.3.3 在线考试模
2、块.15 3.4 数据库的设计.17 3.4.1 数据库介绍.17 3.4.2 数据词典分析.17 4 系统的功能实现.19 4.1 系统流程的实现.19 4.2 系统模块功能的实现方法.19 4.2.1 数据库连接页面.19 4.2.2 系统登录页面.20 河南机电高等专科学校毕业论文 II 4.2.3 题库管理页面.22 4.2.4 待考页面.23 4.2.5 考试页面.24 4.2.6 在线评分页面.26 4.2.7 后台管理页面.27 4.2.8 学生账号管理页面.28 结束语.29 致谢.30 参考文献.31河南机电高等专科学校毕业论文 1 摘要 在线考试系统旨在实现考试的无纸化管理
3、,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。本论文主要开发系统的后台管理系统Java 在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对 Java 在线考试管理子系统的分析、设计和开发的全部过程。运用 ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。全文共分为绪论、需求分析、系统的总体设计、系统的功能实现四部分。以就业为导向,以能力培养为主线,运用现代网络技术构建新型高级技能型人才培养平台,实现课程在线考试的公平性和安全性。基于 Web 技
4、术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式,基于 Web 的考试系统设计是现阶段网络课程研究开发的一个热点。本论文以“基于 Web 技术的 Java 程序设计课程考试系统”网站建设为背景,展开在线网络考试系统的讨论,实现对各种传统考试的改革。关键词:JSP,Java,Mysql 数据库,B/S 模式 河南机电高等专科学校毕业论文 2 Abstract On-line examination system the aim is carry out exam
5、ination of have no the paper turn a management,can carry on through Internet net or bureau area net to some examinations of categories,convenient school square test the management of duty,also convenient the examinee is particularly suitable for examinee to distribute widely and not easily concentra
6、ted of long range education.I mainly develop the system-Java of the backstage managements on-line examination management sub-system of system and it includes to try the management,on-line creation of a management,examinee to try book,control the constitution that the student examine and try an exami
7、nation and approval etc.function.This thesis mainly introduced to manage the analysis,design of the sub-system and all processes of the development to Javas on-line examination.Make use of ER diagram,procedure flow chart etc.to on-line manage the design process of sub-system to carry on expatiation.
8、The full text is totally divided into the design,key technique of the analysis,system of the development project,need to solve,conclusion four part.Employment-oriented training to the main line capacity,use modern network technology Construction of a New High-skilled personnel-training platform achi
9、eve a fair examination,the answer to safety.Therefore,will select the network test method will be later take a test the development tendency?May draw support based on the Web technology network test system in proliferates global the Internet to carry on,therefore takes a test already may in local ca
10、rry on,also may in different carry on,has developed the test flexibility greatly.For example the present many international famous computers companies conduct each kind of authentication test major part selects this method.Based on the Web test system design is a present stage research development h
11、ot spot The present paper take based on the Web technology network test system the website construction as a background,launches the on-line network technology test system the discussion,realizes to each traditional test reform.Keywords:JSP,Java,databases of the Mysql,mode of B/S 河南机电高等专科学校毕业论文 3 1
12、绪论 近几年来,随着 Internet 的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务。联合国教科文组织 1998 年在其一项调查报告中指出:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家。而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。中国的网络教育也随 Internet 的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。1.1 课题研究背景 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但
13、是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。(1)其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。(2)显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易
14、出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。(3)例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些
15、特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考河南机电高等专科学校毕业论文 4 试模式的限制,将给学生和老师带来极大的便利。随着 Internet 的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展。如今世界上对于基于 Internet 的远程考试系统所进行的研究开发工作不是很长,但是基于 Web 技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。(4)目前,一些远程教育机构已经开发出了
16、在线考试系统,基本实现了基于Internet 的 B/S 结构在线考试。通过 Server 端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。1.2 国内外发展现状 国际上,基于计算机的考试蓬勃发展,对于题库建设的理论研究不断深入,实用考试系统也层出不穷。美国心理协会在 1986 年出版了关于如何开发、使用计算机化考试以及解释考分的指南,成为了考试和软件开发者的事实标准。投入实际使用的例子有,1982 年才有远
17、距离教育方式的美国学院(American College)考试使用计算机进行测试;1993 年美国教育考试中心(Eraduade Record Examination 简称 ETS)考试;从 1994 年开始,美国护理证书考试完全在计算机上进行。目前,国外许多大型测验出版机构、地区教育主管部门和专业资格认证机构都以某种测量理论为指导建立题库、设计考试系统,并进行各项相关研究。除了这类行业专用的大型考试系统之外,供普通教师使用的通用考试系统软件也有相应的研究和产品。如英国Question Mark Computing,Ltd公司出品的Question Mark,就是一种基于项目反应理论的,可供广
18、大教师使用的通用的考试系统。在我国,计算机考试系统和题库的理论研究和实践应用起步比较晚。但发展也比较迅速,研究和开发活动比较活跃。北京师范大学、华北师范大学等高等院校都有教师在进行教育测量理论应用于题库建设方面的研究。清华大学、上海交通大学、北京师范大学等高校,也有教师在组织力量致力于实用考试系统的研究和开发工作。(1)我国的专用考试系统主要针对计算机考试,其他行业和科目的考试系统太河南机电高等专科学校毕业论文 5 少。(2)计算机在线考试系统由于操作类题目自动出题有较大的难度,基本没有实现题库化的管理。(3)系统对传统的客观题虽然一般建有题库但不大,多采用随机抽题组卷的方式,缺乏教育测量理论
19、作为依据。(4)考试完成后,分数和试题统计分析比较简单,没有充分挖掘数据所包含的信息。(5)通过考试系统或题库系统对最终用户即教师的需求分析做的不够透彻,忽略老师们渴望能自由地操纵试题库的需求,没有完全实现用户自主初始化试题库、自主维护试题库、自主调用试题库的功能。加上软件实用水平和商品化工作方面的不足。通用系统并没有被广大教师认可和使用。河南机电高等专科学校毕业论文 6 2 需求分析 2.1 问题分析 传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建
20、设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。2.2 任务概
21、述 在线考试管理子系统主要实现题库管理、考生管理、成绩查询、试卷管理等功能,充分利用计算机科学与技术,改变传统的考试操作方式,实现无纸化考试的模式。2.3 功能需求概述 系统需要解决的主要问题:主要开发的是后台管理子系统,在此系统中主要对前台考试系统的显示信息进行管理和设置。子系统分为以下功能模块如图 2-1 所示:题库管理:用于对单个试题的增、删、查等基本维护,还可对题库进行数据备份和数据还原。针对不同题型、不同应用范围及不同科目对试题进行维护。用户管理:主要是对用户资料的修改等。成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。河南机电高等专科学校毕业论文 7 图
22、 2-1 在线考试管理子系统 2.4 项目目的 在线考试系统的总体目标:在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。考试数据的存放和处理必须对考试保密,需要一定的安全性保障。对考试的系统目标:这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。对教师的系统目标:提供一个功能全面的考核管理客户端,可以进行考试设计和安排。通过管
23、理客户端,教师可以进行考试的身份管理。考生的考试结果可以被保存下来,供教师进行分析统计和察看。2.5 方案选择 开发在线考试系统,提出以下解决方案:选择 Mysql 作为后台的数据库,选择 Java,JSP,JavaScript,Html 作为应用程序在线考试管理子系统 用户管理 题库管理成绩管理 河南机电高等专科学校毕业论文 8 开发工具,运用 Tomcat 服务器技术,整个系统完全基于 B/S(Browser/Server)模式进行设计。Web 应用程序开发环境JSP 技术 JSP 的全称是 Java Server Pages,它是 SUN 推出的一种动态网页技术标准。它在传统的静态页面文
24、件(*.html,*.htm)中加入 Java 程序片段和 JSP 标记,就构成了JSP 页面。JSP 具有以下的优点:将业务层与表示层分离:使用 JSP 技术,网络开发人员可充分使用 HTML 来设计页面显示部分(如字体颜色等),并使用 JSP 指令或者 Java 程序片段来生成网页上的动态内容。能够跨平台:JSP 支持绝大部分平台,包括现在非常流行的 Linux 系统,应用非常广泛的 Apache 服务器也提供了支持 JSP 的服务。组件的开发和使用很方便:如 ASP 的组件是由 C+,VB 等语言开发的,并需要注册才能使用;而 JSP 的组件是用 Java 开发的,可以直接使用。一次编写
25、,处处运行:作为 Java 开发平台的一部分,JSP 具有 Java 的所有优点,包括 Write once,Run everywhere。Tomcat 应用服务器 目前支持 JSP 的应用服务器是较多的,Tomcat 是其中较为流行的一个 Web 服务器,Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 Webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 JSP 时,通常第一次会很慢,因为 Tomcat要将 Jsp 转化为 Servlet 文件,然后编
26、译.编译以后,访问将会很快。Mysql Mysql 是一个小型关系型数据库管理系统,开发者为瑞典 Mysql AB 公司。在 2008年 1 月 16 号被 Sun 公司收购。目前 Mysql 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 Mysql 作为网站数据库。B/S 开发模式 伴随着 Internet 的迅速发展,计算机技术正在由基于 C/S(Client/Server)模式的应用系统转变为基于 B/S 模式的应用系统。河南机电高等专科学校毕业论文 9 B/S 模式带来了
27、巨大的好处:开发成本及维护成本降低.由于 B/S 架构管理软件只安装在服务器端(Server)上,即应用程序在部署,升级,维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW 浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。2.6 运行环境(1)硬件需求:PIII/256M/10G 及以上配置,要求为考试系统分配足够的数据库磁盘空间。(2)推荐配置:PIV 2G/512M/40G。(3)操作系统需求:Windows2000 及以上操作系统。(4
28、)数据库软件需求:Mysql 中文版数据库。(5)件软件需求:Tomcat 系列服务器。河南机电高等专科学校毕业论文 10 3 系统的总体设计 3.1 指导思想 3.1.1 B/S 结构开发思想 B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这
29、三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的
30、成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN,WAN,Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 JAVA 这样的跨平台语
31、言出现之后,B/S 架构管理软件更是方便、快捷、高效。3.1.2 面向对象机制的设计思想 所有计算机均由两种元素组成:代码和数据。精确的说,有些程序是围绕着“什么正在发生”而编写,有些则是围绕“谁正在受影响”而编写的。河南机电高等专科学校毕业论文 11 第一种编程方式叫做“面向过程的模型”,按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码。如 C 等过程化语言。第二种编程方式叫做“面向对象的模型”,按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问。通过把控制权转移到数据上,面向对象的模型在组织方式上
32、有:抽象、封装、继承和多态的好处。在系统开发过程中,采用软件工程的开发管理,在开发的过程中也遵循软件工程的思想,软件工程的主要环节有:人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等。3.1.3 代码分层思想 由于采用 B/S 设计模式分层思想,同时根据软件工程的管理思想及系统分析的设计与分析的思想进行系统的开发,利用 Java 语言开发 Web 应用程序,提供String+Hibernate+Spring 框架对系统的程序代码结构进行分层。3.2 功能需求分析 该系统主要模块:教师管理模块,在线考试模块,下面就这些模块在该系统中应有的功能进行以下分析,只有这样,才能让用
33、户对该系统有一个更好的了解。3.3 系统总体设计 根据需求分析,设计课程考试系统的主要功能模块有:后台管理模块、学生在线考试模块、教师管理模块等。系统总体设计功能模块图如图 3-1 所示:河南机电高等专科学校毕业论文 12 图 3-1 系统功能模块图 系统结构图,如图 3-2 所示:打开登陆界面图,用户登陆,系统根据不同的用户类型来选择相应的跳转页面。考生界面包括开始考试、资料修改和成绩的查询;管理界面可以对用户的添加以及修改、试卷的管理、试题的添加与删除、学生成绩的管理等。课程考试系统 后台管理 学生在线考试 教师管理 题库管理 学生账号管理 教师账号管理 系统管理 在线考试 成绩查询 学生
34、管理 试卷管理 成绩管理 河南机电高等专科学校毕业论文 13 图 3-2 系统结构图 3.3.1 系统管理模块 管理员可以向题库中添加各种类型且符合要求的试题也可以对它们进行修改和删除。同时,管理员也能用户、考试记录等数据进行管理,在此系统中可以由若干个管理员,即系统管理员,他们具有一般用户所没有的权限,即具有管理用户、试题以及试卷等内容的权力,它不需注册,在数据库有一个表来存放相关信息,可由以存在的管理员添加或删除管理员。一般用户:主要是指学校的学生和企事业单位的培训对象等。(1)试题库管理:对题型试题库的管理,使试题的增删、编辑更为简便。试题录入 每道试题有类型、试题内容与选项和答案等栏目
35、。管理员输入完以后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统添加就不会成功。试题修改 管理员还可以对试题进行修改。也可以先对试题进行先删除后添加,从而达到在线考试考 生 前 台 后 台管 理考试管理 试卷管理 成绩管理 用户管理 开始考试 资料修改 成绩查询 河南机电高等专科学校毕业论文 14 预期的效果。试题删除 管理员可以删除不再需要的试题。(2)账号管理 账号的添加 基本信息有 ID 号、姓名、性别、密码等,对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。账号编辑 管理员可以修改已存在的账号信息,如果输入数据不合法,系统将会给出提示并重新
36、录入。3.3.2 试题模块设计 鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统作的题型只有客观题类型:单选题。一般情况下,单选题往往在四个供选的答案 A、B、C、D 中选择唯一正确的答案。因而,本系统中所涉及的题型跟过去的大体相同,题型的样题设计如表 3-3 所示:表 3-3 系统功能模块表 题号 1 题干 Java 语言的特点 选项 A:继承 选项 B:封装 选项 C:多态 选项 D:以上都是 作答:A B C D 3.3.2 教师管理模块 教师管理作为在线考试系统中的一个重要环节,主要实现对学生用户的管理,学生成绩的查询和删除。最重要的是设置考试试卷的综合参数:试题的类型,试题的
37、数量和试题的分值,最后是考试时间的设置。(1)学生管理 在此模块中教师可以查询学生的综合信息。可以直接查询所有学生的基本信息河南机电高等专科学校毕业论文 15 并且对学生资料的修改等。(2)试卷管理 在此模块中主要是设置学生考试所用试卷的参数信息,首先新增一张试卷并设置如下信息:考试试题的类型、每题的分值、考试时间。试卷信息设定以后,如果不满意,还可以再重新修改试卷信息。(3)成绩管理 此模块所涉及的信息主要是查询学生的成绩,可以直接在管理用户信息中直接查看。作为教师来讲,往往需要对全班学生的每次考试情况做个整体的调查,在此通过本期统计来实现。每次考试过后,教师可以直接从这里查看整体学生的考试
38、情况。3.3.3 在线考试模块 进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,就可以调出试卷进行在线考试。考生的其答题信息通过单、复选按钮选择答案来反映。考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以实现。系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。根据需求分析,在线考试模块流程图如图 3-4 所示:河南机电高等专科学校毕业论文 16 否 是 图 3-4 在线考试模块流程图 当用户开始进入在线考试系统的时候,首先输入用户名和密码,进行验证,如果用户名和密码正确,这时系统
39、回自动提供给用户一套试题,从此时起,系统将对用户进行计时,当时间结束的时候,系统将提示你考试时间已经到了,提醒你交试卷,当你提交后,系统回马上显示出你的成绩。否则,你将返回考试登录界面,再次试着输入正确的用户名和密码。如果你还没法进入,请先与教师联系,然后再次登录考试系统。计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。开 始 输入用户名和密码 是否正确 随机出题形成试卷 选择考试科目 答题及交卷 判 卷 显示考分 结束 河南机电高等专科学校毕业论文 17 成绩查阅:考生考完以后,教师应该能对所有纪录进行查询。除了实现上述功能以外,在线考试系统还应该具有友好、
40、简洁的界面,安全性要高,稳定性要强,能够满足 100 人以上同时及进行在线考试。3.4 数据库的设计 3.4.1 数据库介绍 本系统采用的是 Mysql 数据库,根据需求分析所作分析,这里创建了五张表,分别是单选题库表、学生成绩表、学生信息表、教师信息表和试卷信息表。在下面就这五张表做一下分析,并分别列出了其表结构。3.4.2 数据词典分析 无论做一个什么系统,数据库是必不可少的,它是实现系统的纽带,为此,这里要把该系统中需要的数据库中的表做出详细的分析与设计。因为本系统的设计有单选题类型,所以分别建立了对应的数据库表 questin,此外又建立了用户对应的表,详细设计分别如表 3-1、表 3
41、-2 所示:单选题库表结构,如表 3-1 所示:表 3-1 question 表 字段名称 类型 长度 说明 id char 20 试题号,主键 m char 100 题干 a char 100 选项 A b char 100 选项 B c char 100 选项 C d char 100 选项 D answer char 10 答案 用户库表结构,如表 3-2 所示:河南机电高等专科学校毕业论文 18 表 3-2 users 表 字段名称 类型 长度 说明 id char 10 学号,主键 name char 20 姓名 password char 20 密码 email char 30 电
42、子邮箱 address char 50 住址 score int 6 考试得分 timein date 登录时间 timeout date 退出时间 通常,当登录一个需要注册的网站的时候,系统是如何知道用户是否已经注册过,即使注册过了,登录的时候是怎么知道用户输入的用户名和密码不正确,这时,就需要一个用户表,有用户名和密码,为用户在考试系统中验证身份做好准备。河南机电高等专科学校毕业论文 19 4 系统的功能实现 在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。4.1 系统流程的实现 根据系统总体设计,首先系统要有一个登录界面,用户可以
43、从该界面登录参加考试。管理员和教师也应该有一个进入管理登录界面的通道。在考生正确输入用户名和密码以后,接着应该进入待考页面。在该界面中,考生可以查询以前的考试成绩,考试状态时直接点击“进入考场”。这个人机交互的过程是必不可少的。考生点击进入考场以后,进入开始考试界面,由计算机提取试题,显示出来组成试卷,并开始进行计时。考生再次进行考试,答完试题后交卷,进入下一个界面。考生提交答卷后,由计算机进行处理-判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。在这个界面上应该可以返回继续进行考试或回到登录界面。以上是系统进行考试功能的部分,要对系统进行管理,如试题管理、成绩管理、用户管理等就需要
44、设计一些管理界面。下面就来逐步进行设计。要进行管理首先要有管理员登陆验证,这个界面与用户登录界面表面一样,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。管理员登录以后,应该有一个管理项目选择界面,其中包括管理用户选项、管理题库选项。管理用户的界面可以实现用户的增加的功能,管理员在此可以对用户进行管理。题库管理界:点击选项可以分别进入相应功能的管理,在每个页面里都可以实现对试题的添加和删除。最后是系统的安全退出,可以安全的退出后台管理页面,返回到考试系统的主页面。4.2 系统模块功能的实现方法 4.2.1 数据库连接页面 该文件实现的是连接并打开数据库的功能。本系统采用的
45、是 Mysql 数据库,这里采用的连接方式是 JDBC 的连接方式。主要河南机电高等专科学校毕业论文 20 代码实现如下:打开数据库:变量“url”主要是记录存放数据库的相对路径。Connetin 的含义是定义了一个变量用来存放数据库连接所创建的连接对象。4.2.2 系统登录页面 在本系统中登录页面的文件是 login.jsp 文件。这里就注重介绍一下后台管理的登录页面。该文件的功能使这样实现的:表单提交服务器端的 Servlet 程序对提交信息进行处理,验证用户信息正确无误后将转向管理页面。重点程序如下:在这里首先接收从表单传来用户输入的用户名和密码信息,再定义一条 SQL 语句,该语句的功
46、能是查询在库里是否有满足条件的记录。然后定义一个 rs 变量,该变量主要用来记录执行 SQL 后的结果。如果没有满足条件的记录则 rs.next()为空,那么会系统会自动重定向到登录界面,返回登录页面让用户重新输入。如果验证合法,会自动进入到相应的界面。登陆页面如图 4-1 所示:图 4-1 考试首页登录图 河南机电高等专科学校毕业论文 22 4.2.3 题库管理页面 实现了对单选题题库的增加,管理员登录成功后,可以通过本页面来增加试题。在本页面中的相应文本框中输入合法的内容后,点击“增加试题”按钮,则会向服务器端发送请求,成功后,服务器端会把页面重定向到本页面,从而可以实现继续增加试题的目的
47、。点击“返回”按钮,则会返回到管理界面的主页 增加试题界面如图 4-2 所示:图 4-2 增加试题界面 主要功能实现程序:操作成功后,主要是通过服务器端的 Servlet 程序来实现页面的跳转功能。4.2.4 待考页面 该文件是用户登录在线考试系统后的待考页面,还可以实现成绩查询,选择“开始考试”后进入考试界面。该页面和用户登录之前的类似,通过特定的标签库做处理,在页面中相应的位置引入标签库,如果登录成功,再重定向到本页面,则显示相应的内容,从而达到登录的功能。实现该功能的主要程序代码如下:在学生登录时不同的学生登录时 session 变量将会记录他的用户名。并将接收到的变量值显示到页面中。还
48、利用 JavaScript 脚本,在页面中显示日期和时间,这样可以给用户提供观看时间的方便,以便能够更好的把握时间来进行考试。4.2.5 考试页面 该文件实现学生用户对自己的信息进行管理(修改考生信息、查询考试得分)的功能,界面如图 5-4 所示。该文件实现学生进行在线考试(自动评分)的功能,在学生提交卷子或者考试时间到系统将自动的给客观题进行评分。界面如图 4-3 所示:河南机电高等专科学校毕业论文 25 图 4-3 学生考试界面图 该文件就是考试界面,对每个考生的考试时间进行监控,到结束时间后自动给出提示并交卷。教师可以根据不同的科目考试来设定相应的时间。自动交卷页面如图4-4 所示:图
49、4-4 定时交卷页面 河南机电高等专科学校毕业论文 26 4.2.6 在线评分页面 考生提交答卷以后,该文件就把考生的答案同题库中的正确答案进行比较,最后得出考生的得分。首先先打开数据库,再读取从“form”表单提交过来的答案信息,然后根据随机抽选题时所抽选的每道题的题号,然后在数据库中对学生所提交的答案进行比较,若与数据库中对应的题目答案相同则加分,否则本题将不加分,最后统计出总分。在这里主要来看一下是如何实现服务器端自动评分,如何将成绩和学号等信息记录起来的。部分实现代码如下所示:Connection con=DriverManager.getConnection(url,username
50、,password);Statement sta=con.createStatement();String sql=select*from question;set=sta.executeQuery(sql);int score=0;while(set.next()for(Integer i=1;i=10;i+)String answer=request.getParameter(i.toString();String str=set.getString(anwer);if(str.equals(answer)if(request.getParameter(+(i*100).equals(se