1、毕 业 论 文题 目: Java Web 应用开发 在线模拟考试系统的设计与实现 学 院: 计算机与信息工程学院 专 业: 软件工程 学生姓名: 许丽帆 班级/学号 软工 091123205 指导老师/督导老师: 赵海华 摘要I摘 要随着网络技术的发展,远程教育和网上考试成为网络应用的一个重要方面。近几年,在线考试特别是基于Web 的在线考试系统受到越来越多的人青睐。本次毕业设计的题目是在线模拟考试系统的设计与实现,系统采用浏览器/服务器模式开发,包括登录注册、在线考试、试卷设置、试题管理、分数的统计以及成绩查询等功能。系统运行在Windows 7操作系统上,以Tomcat作为Web服务器,使
2、用JSP技术和MySQL 数据库实现。论文首先对在线考试系统做了需求分析,然后给出系统的设计与实现过程,最后,针对系统的各个功能进行了测试。关键词:在线考试;浏览器/服务器;JSP;MySQL;JDBC;AbstractIIAbstractWith the development of networking technology, online examination and distance education is an aspect in the application of internet. In recent years the on-line examination especi
3、al of Web-based examination is more and more popular. The graduation projects subject is to design and realization of the online examination system. The system uses the browser/server to develop. It includes login, new user registration, on-line examination, examination paper set, examination paper
4、management, score statistics ,query results and other functional. The system takes the Windows 7 as the OS,Tomcat as the web Server, uses JSP technology and MySQL as the Database Server development tools to realize the system. In this paper, the requirement analysis about the online examination syst
5、em is introduced, and then give the system design and implementation .Finally, all of the functions of the system is tested.Keywords: On-line Examination;Browse/Server;JSP;MySQL;JDBC;目录III目录摘 要(中文) .I(英文) .II第一章 系统概述 .11.1 系统开发背景 .11.2 系统开发意义 .11.3 系统开发工具 .1第二章 系统分析 .52.1 现状分析 .52.2 可行性分析 .52.3 设计目标
6、 .62.4 功能要求 .62.5 系统开发环境配置 .7第三章 系统设计 .93.1 数据库设计 .93.2 系统结构设计 .113.3 用户界面设计 .12第四章 系统实现 .154.1 数据库连接的实现方法 .154.2 登陆注册模块 .164.3 考生模块 .184.4 教师模块 .234.5 管理员模块 .31第五章 系统测试 .335.1 什么是软件测试 .335.2 软件测试的目标与方法 .335.3 测试内容 .335.4 系统的不足和展望 .34结束语 .35参考文献 .36目录IVJava Web 应用开发在线模拟考试系统的设计与实现1第一章 系统概述1.1 系统开发背景随
7、着我国计算机技术和通讯技术的发展,互联网的普及程度已经很广泛了,但是,现在的教育教学检验方式,还是停留在过去的纸质考试层面在,而传统的教育教学检验方式中,要进行一次考试,至少需要经过教师出题、学生考试、教师阅卷等几步,这是一个繁杂的过程,需要大量人力、物力与时间的投入,同时也让教师的工作量越来越大;现在远程教育类学校的增多,虽然利用了网络拉近了教师与学生的距离,但学生的分布过广,导致了不易统一集中安排考试,考生成本的增加等诸多难题的出现,给校方和学生带来了很多的不便,因此,传统的考试方式已经不能适应现在新兴的教育教学方式的考试需要了。可以解决这些诸多难题的一种方式,就是利用Internet无国
8、界的特点,在互联网上在线考试。在线考试系统可以减轻教师的工作负担、提高工作效率,也减少了因考试而消耗不必要的人力和物力。在线考试的题目由计算机从题库中随机抽取,提高了考试的质量,考试的评判由计算机自动完成,这样使考试更趋于公证、客观。随着社会的发展和我国互联网的普及,我们的生活中的已经有很多方面都运用到了网络,比如网上购物,网上交友等,甚至现在很多人看新闻都是通过网络阅读的,在阅读新闻这个事件上,已经不仅仅局限于纸质化的报纸上了;而要把考试趋于无纸化的模式,需要在线模拟考试系统来完成,这个也是现在高等教育发展的一个需求。在国内,试题库系统理论与技术的研究在最近几年取得了很大的进步。我国许多企业
9、和高校都投入量大量的人力物力到各门课程的试题库中,并取得了一定的成就。现在的生活中已经有越来越多的等级考试运用了在线考试系统,比如会计的电算化考试、计算机等级考试、银行资格证考试等,这些已经充分说明,在线考试系统是今后我们的考试生涯中的一个发展趋势。1.2 系统开发意义考试是教育中一个非常重要的环节,但在以前的很长时间里,全球所有的国家都是以笔试的方式来检查焦距教学成果的,随着网络的发展,互联网已经普及的非常广泛,随着这些周围环境的改变,人们开始去寻找新的方式来去达到更客观,更方便快捷的去达到考试的目的。近些年来,在国外,已经投入使用的考试系统有著名的TOEFL,GRE网上考试系统,还有微软、
10、思科等大公司的国际认证考试等,这些考试系统在全球范围内有众多的使用者。网络化考试系统对节约考试成本,实现远距离的同步考试,提高考试效率,确保考试结果的公平、公正、科学、及时等具有重要的意义,不仅可以动态地管理考试信息,而且还提高了教学的灵活性,相信随着技术的不断发展和网络覆盖面的不断扩大,在不断完善该考试系统的同时也会在更大的范围上应用。1.3 系统开发工具本系统是基于 Tomcat 为服务器,JSP+MySQL 数据库技术实现的一个简单的在线考试系统,以Java Web 应用开发在线模拟考试系统的设计与实现2下对 JSP 技术、MySQL 数据库和 TomCat 作简要的介绍。 1.3.1
11、动态网页开发技术JSP(Java Server Page)JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件中插入 Java 程序段和JSP 标记,从而形成 JSP 文件。 用 JSP 开发的 Web 应用是跨平台的,即能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets
12、访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。Java se
13、rvlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 1JSP 技术的强势 (1)一次编写,到处运行。在这一点上 Java 比 PHP 更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP/PHP 的局限性是现而易见的。 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 servlet/JS
14、P,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 2 JSP 技术的弱势 (1) 与 ASP 一样,Java 的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java 的运行速度是用 class 常驻内存来完成的,所以它在一些情况下所使用的内存比起用
15、户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class 文件,以及对应的版本文件。1.3.2 数据库MySQL MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQLAB 公司,在 2008 年 1 月 16 号被 Sun 公司收购。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Java Web 应用开发在线模拟考试系统的设计与实现3MySQL 作为网站数据库。如雅虎、阿尔卡特朗讯、Google 公司、
16、诺基亚公司、百度等公司就采用了 MySQL 数据库。MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL 数据库是一种完全免费的产品,用户可以直接从网上下载.MySQL 数据库主要有以下特点:1、可移植性使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2、可扩展性和灵活性MySQL 可以支持 UNIX、Linux 和 SUN OS 以及 Windows 等多种操作系统平台。在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MySQL 作为开源性质的 数据库服务器,可以为那些想要增加独特
17、需求的用户提供完全定制的功能。3、强大的数据保护功能MySQL 有一个非常灵活且安全的权限和密码系统。为确保只有获授权用户才能进入该数据库服务器,所有的密码传输均采用加密形式,同时也提供了 SSH 和 SSI。支持,以实现安全和可靠的连接。MySQL 强大的数据加密和解密功能,可以保证敏感数据不受未经授权的访问。4、支持大型的数据库虽然对于用 PHP 编写的网页来说,只要能够存放数百条以上的记录数据就是够了,但 MySQL 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL 可以针对不同的应用进行相应的修改。5、超强的稳定性MySQL 拥有一个非常快速而且稳定的基于线程
18、的内存分配系统,可以持续使用而不必担心其稳定性。线程是轻量级的进程,它可以灵活地为用户提供服务,而不占用过多的系统资源。用多线程和 C 语言实现的 MySQL 能很容易地充分利用 CPU。6、强大的查询功能MySQL 支持查询的 select 和 where 语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷、方便。1.3.3 Tomcat介绍Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些学校及个人共同开发而成。由于有了Sun 的参与和支持
19、,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被Jav
20、a Web 应用开发在线模拟考试系统的设计与实现4普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomca
21、t就诞生了。 Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次, Tomcat也是完全免费的软件,任何人都可以从互联网上自由地下载。Java Web 应用开发在线模拟考试系统的设计与实现5第二章 系统分析2.1 现状分析传统的考试方式是教师提前命题、印刷试卷、组织学生考试、学生在统一时间和地点考试、收卷后教师阅卷、成绩统计。如图2.1图 2.1
22、 传统考试模式这种模式存在有较多的问题:命题:由于是同意的时间进行考试,所以考生的试卷都是一样的,这样对教师命题带来的很大的麻烦,即:试题太难或者太容易,都达不到考试的目的。如果是大型的考试,比如英语四级考试,还要担心试题是否被泄漏的等问题(现在已经有类似问题的出现,才会有现在说的花卷) 。印刷试卷:组织考试,印刷试卷费工费时,成本高,而且对于纸张资源也是一种浪费,而且印刷的时候,也会担心试题被泄漏的问题。组织学生考试:监考人资源的浪费,和教师资源的匮乏,如何调配也是一个难题,如果是全国统一考试,还要涉及不同区域同时考试的问题。学生统一考试:由于是同一时间,同一地点,同一张试题,考生作弊问题便
23、会出现,而且是非常难解决的问题,再加上每个监考员监考的严格程度不同,这些人为因素难控制,使考试难公平,公正。教师阅卷:教师阅卷比较容易出错,会造成人为的不公正性。成绩统计:当成绩录入时,数字的混乱会导致录入者输入错误或者看错。2.2 可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.2.1 经济可行性在线考试必然会在今后的教学管理上成为主要的考试形式。开发一套能满足一般考试的需要,教师提前命题 印刷试卷 组织学生考试学生统一考试教师阅卷成绩统计