毕业设计(论文)-基于JAVA的辅助考试系统.doc

上传人:来看看 文档编号:3283098 上传时间:2019-08-07 格式:DOC 页数:38 大小:255.52KB
返回 下载 相关 举报
毕业设计(论文)-基于JAVA的辅助考试系统.doc_第1页
第1页 / 共38页
毕业设计(论文)-基于JAVA的辅助考试系统.doc_第2页
第2页 / 共38页
毕业设计(论文)-基于JAVA的辅助考试系统.doc_第3页
第3页 / 共38页
毕业设计(论文)-基于JAVA的辅助考试系统.doc_第4页
第4页 / 共38页
毕业设计(论文)-基于JAVA的辅助考试系统.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)-基于JAVA的辅助考试系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于JAVA的辅助考试系统.doc(38页珍藏版)》请在三一文库上搜索。

1、绥化学院2004级本科生毕业论文 摘 要辅助考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。此次主要开发系统的后台管理系统JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案中主要介绍开发在线考试系统的目的、开发方案的选择及开发

2、框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接及数据的备份与还原。关键词: Jsp;Java;Mysql5.0数据库;B/S模式AbstractAssistance examination system aim at realization examination of have no the paper turn management, examining some category can carry on

3、through Internet net or bureau area net, convenience school square test duty of management, also convenience the examinee is particularly suitable for examinee to distribute wide, not easy concentration of long range education.This time main development system of backstage management system-JAVA on-

4、line examination management sub- system, it include to try management, examinee management, on-line creation try book, control student examination of constitution, try a winding examination and approval etc. function.This thesis was main introduction on-line to JAVA examination management sub- syste

5、m of analysis, design and development of all process.Usage ER diagram, procedure flow chart etc. rightness on-line management sub- system of design the process carry on expatiation.The full text is total to is divided into a development a project, need analysis, system design, the key technique solv

6、e, conclusion five part.Development project in main introduction develop on-line examination system get purpose, development project of choice and development frame of technique really settle;Need analysis introduction the total need of the on-line examination system and the function request of each

7、 mold of system piece;System design introduction system design of instruction thought, database of design, system mold piece of design;Key technique introduction at concrete realization need some technique for solve, such as development frame of integration technique, development frame and database

8、of conjunction and data of backup and revivification.Key word: Jsp;Java; Mysql5.0 database; B/S mode目 录摘要IAbstractII前言1第1章 设计原则21.1项目目的21.2方案选择21.3开发模式21.4 开发框架技术3第2章 功能模块划分72.1子系统分为以下功能模块7第3章 技术实现113.1系统工程的流程思想113.2面向对象机制的设计思想113.3系统结构图123.4数据库设计13第4章 具体实现154.1系统架构与数据库的连接154.2连接池(ConnectionPool)与资源

9、管理16结论19参考文献20附录21致谢3535前 言随着信息技术的广泛使用,各类计算机考试也应运而生,这类考试多为上机考试,因此,考试的环境,即考试系统的设计和实现非常重要。在网络技术逐渐渗入社会生活各个层面的今天,采用网络考试是一个很重要的方向。目前,网络考试系统的实现,可以采用传统的客户机/服务器模式,也可以采用目前流行的浏览器/服务器模式,即基于Web的方式。本系统采用的后一种模式,因此,本文简单的介绍了该模式的实现方法。现今,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。如微软的MCSE、Cisco的CCNA等。我们国家的自考或是成考,以及各省市的各种考试,现在都在

10、朝着信息化的道路前进在走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是符合信息发展的。所以我们考虑这是一个机会。我们要给不同的考试一个好的解决方案。 这个方案在技术上来讲我们是采用B/S模式。 在Windows平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。第1章 设计原则1.1项目目的在线考试系统的总体目标: 在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。 考试数据的存放和处理必须对考试保密,需要一定的安全性保障。对考试的系统目标:

11、这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。 题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。 考试的部分结果在考生考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由。对教师的系统目标 提供一个功能全面的考核管理客户端,可以进行考试设计和安排。 通过管理客户端,教师可以进行考试的身份管理。 考生的考试结果可以被保存下来,供教师进行分析统计和察看。1.2方案选择开发在线考试系统,提出以下解决方案:选择MYSQL作为后台的数据库,选择JA

12、VA、JSP、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。1.3开发模式在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。基于数据库和网络应用的考试系统有多种实现技术,可以采用传统的客户机/服务器(Client/server)模式,也可以采用目前流行的浏览器/服务器(Browser/Web)模式,即基于WEB的方式。所谓Client/server模式,是指把数据库内容(比如试题库)放在远程的服务器上,在客户机上安装相应软件。Client/

13、server结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。并且,该结构的每台客户机都需要安装相应的客户端程序。由于考试系统拥有的用户量比较多,因此,如果采用该结构,系统的安装与维护工作比较繁重。同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的安全性也受到一定影响。基于WEB的方式其实是一种特殊的Client/server方式。在这种方式中,客户端是各种各样的浏览器,浏览器作为通用的用户程序界面,主要提供人机接口服务,而服务器则响应用户请求并提供用户需要的信息。Browser/Web模式采用三层体系结构,即包括数据库服务器、Web服务

14、器、客户浏览器三部分。由于采用了互联网的相关技术,Browser/Web结构的系统开放性好,易维护和扩展。客户浏览器只跟Web服务器交换数据,数据安全性比较高,同时,由于客户端不需要安装专用程序,可大大降低运行维护费用。当然,Browser/Web结构在网络安全方面也有其弱点。在Client/server结构中,应用程序是在客户机上运行的独立程序,如果这台计算机安全的话,那么应用程序就是安全的。而在Browser/Web结构中,众多的客户浏览器访问同一个Web服务器,Web服务器会成为攻击活动的对象。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端采用WEBSERVE

15、R+数据库系统+ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程。所有的系统升级和更新均只要在服务器端完成,这样可较灵活地适应考试内容的不断更新,从而减少系统升级、更新的工作量,同时可进行远程系统维护和管理。1.4 开发框架技术本系统使用了MVC框架技术 MVC与模板概念的理解MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 模型视图控制器(MVC

16、)是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 MVC如何工作 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 a) 视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,H

17、TML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 b) 模型 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型

18、返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。c) 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示

19、层呈现给用户。 为什么要使用MVC大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问应用程序。对此,其中一个解决之道是使用MVC,无论用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于

20、已经将数据和业务规则从表示层分开,所以可以最大化的重用自己的代码了。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia Flash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。如果想把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管数据来自数据库或是

21、LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松偶合的构件。所以,控制器提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。 MVC的缺点MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。将不得不花费相当可观的时间去考虑如何将M

22、VC运用到应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦构件经过了测试,就可以毫无顾忌的重用它们了。根据开发者经验,由于开发者将一个应用程序分成了三个部件,所以使用MVC同时也意味着将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。MVC是一条创建软件的好途径MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可

23、能比较好理解。但是如果要隔离模型、视图和控制器的构件,可能需要重新思考应用程序,尤其是应用程序的构架方面。如果肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使软件在健壮性,代码重用和结构方面上一个新的台阶。第2章 功能模块划分2.1子系统分为以下功能模块在线考试管理子系统信息管理评卷管理试卷管理题库管理 成绩管理考试管理用户管理权限管理图21题库管理:用于对单个试题的增、删、改、查等基本维护,还可对题库进行数据备份和数据还原。我们针对不同题型、不同应用范围及不同科目对试题进行维护。试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组卷。还可对考生的基本信息进行维

24、护。考试管理:对考试分配试卷,并对考试的基本信息进行维护。相当于人工安排考试的过程。评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管理。成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统管理员、老师、教务处人员、其他人等。权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。系统应该具备的基本功能。各模块需完成以下功能:题库管理试卷管理试卷其他维护试卷信息维护其它维护试题维护基本维护综合组卷人工组卷随机组卷题型维护科目维护范围维护图22题型维护:对试题的题型进行增、删、改、查操作。在操作

25、之后会自动刷新主页,以使信息更新。范围维护:对试题的应用范围进行增、删、改、查操作。在操作之后会自动刷新主页,以使信息更新。科目维护:对试题的科目进行增、删、改、查操作。在操作之后会自动刷新主页,以使信息更新。试题维护:对试题的基本信息进行增、删、改、查操作。在操作之后会自动刷新主页,以使信息更新。其他维护:对试题信息的批量查询,并可进行数据导出、数据备份、数据恢复。随机组卷:用户只需对试卷题型进行设置就可组卷的方式。人工组卷:可使用户选择试卷的题型中的试题的组卷方式。综合组卷:是随机组卷与人工组卷的混合组卷方式,即用户对某一类型的试题可进行选择,也可对试题不进行选择。试卷其他维护:对试卷信息

26、的批量查询,对试题的数据备份与还原。考试管理考试信息维护分配评卷人评卷管理成绩管理评卷人评卷考生信息维护考生成绩维护成绩其他维护图23考试信息维护:对考试的时间、地点、监考人、考试用的试卷、试卷总分数及答卷总时间等考试的基本要素进行设置。考生信息维护:对考试的学生的基本信息进行增、删、改、查操作,在操作之后会自动刷新主页,以使信息更新。分配评卷人:对考试所用试卷的客观题分配评卷人,并对评卷的基本信息进行维护。评卷人评卷:对分配试卷的评卷人可以在此进行评卷。考生成绩维护:对考试的考生成绩信息进行统计与汇总,对有权限的人可进行成绩的增、删、改、查操作。成绩其他维护:对考生成绩信息的批量查询,并可进

27、行数据导出、数据备份、数据恢复。用户管理权限管理信息管理权限信息维护用户基本信息信息基本维护用户分配权限图24用户基本信息维护:对使用本系统的用户进行维护,而用户的权限由权限管理进行维护,并分配给用户,使用户只能访问自己拥有的权限内。权限信息维护:对基本的权限进行维护,用户可自定义维护权限。用户分配权限:对未分配权限的用户进行权限的分配,即对 分配权限的增、删、改、查操作。信息基本维护:我们的信息除了有关考试的信息外,还有公告、新闻、留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、删、改、查操作,而留言是由前台的用户(学生)或游客录入的,我们要防止垃圾数据显示,即对留言有权更改等操

28、作。第3章 技术实现3.1系统工程的流程思想我们在系统开发过程中,采用软件工程的开发管理,在开发的过程中也遵循软件工程的思想,软件工程的主要环节有:人员管理(自己模拟)、项目管理(小组模拟)、可行性与需求分析、系统设计、程序设计、测试、维护等,如下所示。人员管理项目管理维护测试程序设计系统设计可行性与需求分析图313.2面向对象机制的设计思想所有计算机均由两种元素组成:代码和数据。精确的说,有些程序是围绕着什么正在发生而编写,有些则是围绕谁正在受影响而编写的。第一种编程方式叫做面向过程的模型,按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码。如 C 等过程化语言

29、。第二种编程方式叫做面向对象的模型,按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象、封装、继承和多态的好处。3.3系统结构图本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下在线考试系统考生前 台后台管 理题库管理 评卷管理考试管理试卷管理成绩管理用户管理权限管理学生登陆图32图333.4数据库设计 数据库实现图34 主要数据库表的结构定义(数据词典): 数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写

30、,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。 NN 表示not null 不填表可为空。 数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的 输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。 长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。 输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。第

31、4章 具体实现4.1系统架构与数据库的连接数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接(Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。在b基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲

32、,期望第三方应用服务器(ApplicationServer)的提供。在标准JDBC对应用的接口中,并没有提供资源的管理方法。所以,缺省的资源管理由应用自己负责。虽然在JDBC规范中,多次提及资源的关闭/回收及其他的合理运用。但最稳妥的方式,还是为应用提供有效的管理手段。所以,JDBC为第三方应用服务器(Application Server)提供了一个由数据库厂家实现的管理标准接口:连接缓冲(connection pooling)。引入了连接池( Connection Pool )的概念 ,也就是以缓冲池的机制管理数据库的资源。 JDBC最常用的资源有三类: Connection: 数据库连接。

33、 Statement: 会话声明。 ResultSet: 结果集游标。 分别存在以下的关系 : 图41这是一种 爷-父-子 的关系,对Connection的管理,就是对数据库资源的管理。举个例子: 如果想确定某个数据库连接(Connection)是否超时,则需要确定其(所有的)子Statement是否超时,同样,需要确定所有相关的ResultSet是否超时;在关闭Connection前,需要关闭所有相关的Statement和ResultSet。 因此,连接池(Connection Pool)所起到的作用,不仅仅简单地管理Connection,还涉及到 Statement和ResultSet。

34、4.2连接池(ConnectionPool)与资源管理 ConnectionPool以缓冲池的机制,在一定数量上限范围内,控制管理Connection,Statement和ResultSet。任何数据库的资源是有限的,如果被耗尽,则无法获得更多的数据服务。 在大多数情况下,资源的耗尽不是由于应用的正常负载过高,而是程序原因。 在实际工作中,数据资源往往是瓶颈资源,不同的应用都会访问同一数据源。其中某个应用耗尽了数据库资源后,意味其他的应用也无法正常运行。因此,ConnectionPool的第一个任务是限制:每个应用或系统可以拥有的最大资源。也就是确定连接池的大小(PoolSize)。 Conn

35、ectionPool的第二个任务:在连接池的大小(PoolSize)范围内,最大限度地使用资源,缩短数据库访问的使用周期。许多数据库中,连接(Connection)并不是资源的最小单元,控制Statement资源比Connection更重要。以Oracle为例: 每申请一个连接(Connection)会在物理网络(如 TCP/IP网络)上建立一个用于通讯的连接,在此连接上还可以申请一定数量的Statement。同一连接可提供的活跃Statement数量可以达到几百。 在节约网络资源的同时,缩短了每次会话周期(物理连接的建立是个费时的操作)。但在一般的应用中,多数按照2.1范例操作,这样有10个

36、程序调用,则会产生10次物理连接,每个Statement单独占用一个物理连接,这是极大的资源浪费。 ConnectionPool可以解决这个问题,让几十、几百个Statement只占用同一个物理连接, 发挥数据库原有的优点。 通过ConnectionPool对资源的有效管理,应用可以获得的Statement总数到达 : (并发物理连接数) x (每个连接可提供的Statement数量) 例如某种数据库可同时建立的物理连接数为 200个,每个连接可同时提供250个Statement,那么ConnectionPool最终为应用提供的并发Statement总数为: 200 x 250 = 50,00

37、0个。这是个并发数字,很少有系统会突破这个量级。所以在本节的开始,指出资源的耗尽与应用程序直接管理有关。 对资源的优化管理,很大程度上依靠数据库自身的JDBC Driver是否具备。有些数据库的JDBC Driver并不支持Connection与Statement之间的逻辑连接功能,如SQLServer,我们只能等待它自身的更新版本了。对资源的申请、释放、回收、共享和同步,这些管理是复杂精密的。所以,ConnectionPool另一个功能就是,封装这些操作,为应用提供简单的,甚至是不改变应用风格的调用接口。以下是本程序中数据库连接池的代码:package com.bsw.database;im

38、port java.sql.Connection;import java.sql.SQLException;import com.devdaily.opensource.database.DDConnectionBroker;/* * 数据库连接池,负责数据库的连接 * * author 张广宇 * */public class DBManager String driver = org.gjt.mm.mysql.Driver;String url = jdbc:mysql:/localhost:3306/examonline;public Connection conn = null;Str

39、ing username = root;String password = 123;int minConnections = 5;int maxConnections = 10;long timeout = 100;long leaseTime = 60000;String logFile = c:/temp/DDConnectionBroker.log;DDConnectionBroker broker = null;/* * 连接数据库 * * return返回一个连接 */public Connection getConnection() try broker = new DDConne

40、ctionBroker(driver, url, username, password,minConnections, maxConnections, timeout, leaseTime, logFile);conn = broker.getConnection(); catch (SQLException e) e.printStackTrace(); finally broker.freeConnection(conn);return conn;结 论当今许多高校都非常关注无纸化网络考试的开发与应用,本文是通过考试方面进行的尝试,实践证明,该方法是可行的;本人结合企业的开发技术及在校所学

41、理论知识(软件工程,操作系统,数据结构等学科),开发一套在线考试系统,基本上实现了在线考试及考试管理等功能。由于时间仓促,一些技术和设备所限,该系统存在一些不足之处,有待进一步改进和完善,具体说来有:(1)对后台数据库中数据的日常维护,包括自动清理过时数据。(2)程序中错误处理和输入控制不够全面,可能导致输入无效引发错误。参考文献1Bruce Eckel, JAVA编程思想,第三版,66页85页2 周亚辉,JAVA数据库编程宝典,第一版,北京,电子工业出版社,2003,88275页3 萨师煊,数据库平台概论,第三版,北京,高等教育出版社,2003,84149页4 陈宏刚,软件开发过程与案例 ,

42、北京,清华大学出版社,2001,214-265页 5 施伯乐,数据库平台教程,北京,高等教育出版社,2000,78-92页6 张海藩,软件工程导论,北京,清华大学出版社,1998,126161页附录package com.bsw.run;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import com.bsw.database.DBManager;import com.b

43、sw.exam.Exam;/* * 更新数据库中的试题 * * author 张广宇 * */public class UpdateTextStoreDAO private Connection con = null;private Statement sta = null;private ResultSet res = null;private DBManager db = new DBManager();/* * 对试题进行更新 */public UpdateTextStoreDAO() con = db.getConnection();try sta = con.createStatem

44、ent(); catch (SQLException e) e.printStackTrace();/* * 查询正确答案 * * param answerID * param rightNum * return */public int queryRightAnswer(int answerID, int rightNum) String sql = select ID from rightanswer where answerID= + answerID+ and rightNum= + rightNum + ;int array = new int6;try res = sta.exec

45、uteQuery(sql);int m = 0;while (res.next() arraym = res.getInt(ID);m+; catch (SQLException e) e.printStackTrace();return array;/* * 查询试题 * * param Id * return */public ArrayList queryText(int Id) ArrayList list = new ArrayList();String sql = select text,score from examinfo where ID= + Id;try res = sta.executeQuery(sql);while (res.next() String text = res.getString(text);float score = res.getFloat(score);Exam exam = new Exam(text, score);l

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1