文档库 最新最全的文档下载
当前位置:文档库 › 基于javaweb英语在线测试系统(含源文件)

基于javaweb英语在线测试系统(含源文件)

摘要

英语在线测试系统的开发一直是国内外研究的一个热点,并且许多高校已经采用这种模式来进行考试。一般有两种架构:C/S架构和B/S架构的考试系统,它们都有各自的优缺点。2011下半年,英语四六级考试进行了第一次网考,优势显而易见。随着计算机技术、网络技术迅速发展以及高校校园网功能的日益完善,很多高校建立了网络课堂的平台。目前,英语在线考试系统己经成为应用考试方式的有力补充和发展。

C/S架构的考试系统考务工作比较繁琐,所以本次开发所采用的是B/S架构的考试系统。以及基于java的JSP技术和Oracle数据库,使用起来简单方便,便于各类用户使用此系统。

本系统分为三种用户权限:管理员、教师、学生。管理人员主要是对用户进行操作,教师主要是对考试和试题的发布进行管理,还有评分以及分数的查询。学生主要进行考试,以及考试完毕后分数的查询。本系统详细的分析了软件开发的过程,需求分析,详细设计过程,数据库的设计、各个模块的设计和实现,模块测试以及最后系统界面的设计和代码。

关键词:英语在线测试系统B/S架构数据库需求分析

ABSTRACT

English online examination system development at home and abroad has been a hot issue,and many universities have adopted this mode for the exam, generally there are two kinds of architecture: C/S structure and B/S structure of the system.All have their own advantages and disadvantages.

The second half of 2011, the first time CET 4 and CET 6 exam adopted this mode, advantage is obvious. With the computer technology, network technology rapid developed and the function of campus network have been improved, lots of colleges set up network classroom, at present,English online examination system has become the the powerful supplements and development for the modern ways of examination.

C/S structure is more tedious for the work-study examination systemso this development adopts the B/S structure examination system.Based on the JSP technology and mysql database, which make this examination system use up easily,and is convenient for the user to use.

This system is divided into three kinds of user permissions: administrators, teachers, and students.Management personnel is mainly to manage the user , teachers manage examination and test question, give a mark, and scores query.Students attend the exam, and after examination they can query test scores.

This system detailed analyse the software development process, requirement analysis,the detailed process design, database design, each module design and implementation, testing and finally system interface module design and code.

Key words:English online examination system B/S structure database demand analysis

目录

1 前言 (1)

1.1 选题的背景和意义 (1)

1.2 国内外研究现状 (1)

1.3 课题的研究目标 (2)

2 系统开发所选用的技术 (3)

2.1 JSP技术 (3)

2.2 Oracle数据库技术 (3)

2.3 MyEclipse技术 (4)

2.4 Tomcat技术 (4)

3 需求分析 (6)

3.1 可行性分析 (6)

3.2 功能分析 (6)

3.3 系统数据需求 (7)

4 概要设计 (15)

4.1 功能模块设计 (15)

4.2 系统功能结构 (17)

4.3 数据库设计 (18)

5 系统详细设计与实现 (23)

5.1 登陆模块设计 (23)

5.2 教师管理模块设计 (23)

5.3 考试管理模块设计 (24)

5.4 题库管理模块设计 (24)

5.5 评分管理模块设计 (27)

5.6 学生修改信息模块设计 (28)

6 系统测试 (31)

6.1 测试定义以及目的 (31)

6.2 软件测试的衡量标准 (31)

6.3 软件测试的生命周期 (31)

6.4 软件的重要环节—实施 (31)

6.5 系统测试 (32)

6.6测试用例 (32)

结论 (35)

致谢 (36)

参考文献 (37)

1 前言

1.1 选题的背景和意义

随着网络技术的不断发展,网上教学已经逐渐成为我国英语教学的主要内容。网站可以为学习者提供自主学习和考试的平台。学生可以在线模拟自测,了解自己的学习程度。

现在大多数学校还是在以传统的模式:首先安排考场,配置监考人员。但是等到了期末考试,对于安排考场是一件很繁琐的事情,从大一至大四,诸多学科,不小心会出现冲突,这样的情况虽然在我们学校没有出现过,但还是要注意的,意外的发错卷,会造成试卷题的大量泄漏,老师需要重新出一样规模但是不同的试题,浪费了大量的时间和人力。

安排完考场,老师则开始进行出题,不同学院,不同专业,不同班级。命题也是相当重要的,试题的难易程度的把握,又如何不在考试之前泄题,是让教员很头疼的问题。接着进行试卷的印刷,印刷之后,开始分卷,迎合不同年级,学院,专业,班级进行包装,密封。而且试卷印刷需要大量费用,对纸张资源也是一种浪费。接着约定一个统一时间安排学生到特定的教室,进行考试最后判卷,考试结束后,教员进行批卷,对于正确性,公正性有时不是教员自己就可以把握的很准的。

近年,四六级英语考试已经开始在网上进行,现在信息技术的在线考试系统,为学生学习提供个性化的考试服务,通过在线测试教师可对学生的学习情况进行考核,学生可通过网上考试自测了解自己对教学内容的掌握情况,它相对于传统考试而言具有很大的优势。所以开发一个英语在线测试管理系统是有着必要意义的。

1.2 国内外研究现状

在国内,著名的工商管理考试GMAT于1999年就开始实行计算机考试;2000年后GRE考试也开始采用计算机考试,向着网络化方向发展。这两年,现代远程教育试点高校网络教育部分公共基础课全国统一考试也实施了网考。《计算机应用基础》这门课程采用网络考试的形式已经顺利地进行了十多次;08年,《大学英语》全面实施网考。网络考试系统的分类有很多种,目前的考试系统基本上都是采用基于题库的系统。按照考试模式分为传统的自动组卷考试系统、手工组卷考试系统和自适应考试系统。自适应考试系统是今后网络考试系统的发展方向。

国外比较有影响的机器考试是A0CA公司的考试系统,主要目标是模拟真实的考试环境,特别适合计算机操作性题目的考试。网络考试系统60年代初在美国诞生。目前在美国各种认证资格考试和ETS(美国教育考试服务中心)组织的各类考试均采用的是基于web的网络考试系统。ATA在产品和服务中使用的核心技术包括:动态模拟考试技术、真实环境考试技术、全真环境下动态转换技术、智能化考试结果判定技术、智能化、

非线性多元组卷模板技术。ATA公司的产品和服务中使用的核心技术,有较多可取之处。但ATA考试软件更多的是用于开展计算机信息技术的考试,考试的管理也基本上由ATA 公司专人负责,这对于考试环境、内容随着时代的发展而发生很快变化的各类考试来说,具有相当的局限性

1.3 课题的研究目标

采取B/S模式,用户不需要任何媒介就可以不分时间实现无纸化考试,适应社会的发展、方便用户的需求,使考试不受地域的限制,减轻教师工作负担、提高工作效率、优化学生考试流程是研究的总目标。

主要特点和创新点:

1、易用性,使非计算机专业的教师和同学,只要掌握了基本的Windows操作方法,即可轻松使用本在线测试系统。

2、安全性,准确传输,防攻击窃取,真正做到公平、公开、公正。

3、高效性,界面友好,运行速度快,菜单操作符合人们的日常习惯。

4、普适性,比传统考试模式更加节省人力、财力和时间,使用户在网上学习过后及时的检测自己的学习效果,以发现自己的不足,提高学习效率。

5、本系统以全程监控、实时交互为保障,采取在线评分方式,以方便、高效、安全、快捷为主打,给人以信息时代的全新体验。

2 系统开发所选用的技术

2.1 JSP技术

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.2 Oracle数据库技术

Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用它。

Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。

Oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。

Oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进

行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。

2.3 MyEclipse技术

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench)称(MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。

MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

在结构上,MyEclipse的特征可以被分为7类:

1.JavaEE模型

2.WEB开发工具

3.EJB开发工具

4.应用程序服务器的连接器

5.JavaEE项目部署服务

6.数据库服务

7.MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。

2.4 Tomcat技术

Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是

6.0.20。

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服

务器。

Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML 页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

3 需求分析

3.1 可行性分析

1.技术可行性研究

根据该系统的目标来衡量所需使用的技术是否具备以及可行,一般可从软硬件的性能要求、技术等方面去综合考虑和分析。

在硬件方面,可供选择空间较大,只要是Windows XP Professional系列及以上的计算机,内存在512M以上,硬盘在40GB以上,都可以满足本系统的开发需要。硬件的配置越高,系统的开发与运行会更流畅。考虑到如今的家用或商用电脑硬件的整体配置水平,系统在硬件方面是可行的。

在软件方面,由于Myeclipse和Oracle数据库都两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑。运用Oracle数据库它保证了源代码的可移植性,有效地提高查询速度,是可以处理拥有上千万条记录的大型数据库,因此软件方面是可行的。

技术方面采用Java做为开发语言,本系统融合了JSP(Java Server Pages)技术、结合了Java语言的特点,简单、面向对象、有丰富的类库、安全和可移植性好。采用B/S 模式,(由浏览器和服务器组成)的考试系统,浏览器向服务器提出服务请求,服务器把所需的主页提供给客户端。客户端把主页显示在浏览器上。

经过以上分析,该系统在技术上是可行的。

2.经济可行性研究

开发本系统所需的软件环境均可通过网络下载,开发只需一台PC机就能够开发出这个系统,不需很高的开发成本,通过老师的辅导以及百度的帮忙独立完成了此项任务。系统经过详细的测试后就可以使用,而且系统简单易学,会获得各学校的青睐,为考试带来很大的便利条件,所以经济上是可行的。

3.操作可行性研究

本系统具有良好的人机界面,操作简单方便,交互性好,操作人员只要具备一定的计算机基础知识,经过简单操作培训,便能够熟练使用此系统。

综上所述,该系统,无论是从技术上或者经济上还是操作上都是可行的。

3.2 功能分析

1.系统功能概述

英语在线测试系统主要包括以下的功能:包含学生管理,老师管理(老师和学生由管理员管理),用户管理,考试管理,试题管理,评分管理,用户注册,密码更改和分数查询。

学生管理:学生自己进行注册,必选项要填写完全,数据项要符合数据项规则。如果不符合,系统给出提示信息,要求重新输入。如果系统中已存在重名学员(姓名和编号都相同),给出提示信息,提示无法创建。管理员可以根据学员编号查询学员信息,也可以删除学员信息。

教师管理:管理员可以根据教员编号查询教员信息,新建教员的数据项要符合数据项规则(参见数据字典)。如果不符合,系统给出提示信息,要求重新输入。如果系统中已存在重名教员(姓名和编号都相同),给出提示信息,提示无法创建。还可以删除或修改任意一个教员信息。

用户管理:用户注册后登陆系统后,可以查询个人信息。或者进行信息的更新和密码的修改。

考试管理:老师登录后可以创建考试,删除考试,以及查看考试的详情:是否存在试题,满分,以及及格分数等等。

2.系统角色

本系统按使用功能分为三个角色,即管理员、教师用户和学生用户。其中角色分配主要针对系统的使用权限,系统管理员主要具有教师管理(增删改查)和学生(删除,查询)管理的功能。教师用户使用权限主要包括:考试的管理(创建以及删除),题库的管理,上传试题,合理设置分数,试题的导入,增删改查,学生登录完成相应的试题后,教师进评分操作,以及学生分数的查询。学生的权限包括,进行自主注册(完成个人信息的填写),密码的设置及更改,个人信息的增删改查,以及完成考试后的分数的查询。

3.3 系统数据需求

1.系统E-R图

图3-1系统E-R 图

本系包统括管理员、教师、学生、考试信息、试题信息、试题、记录信息、考试结果信息、成绩这九个实体。

管理员包括:编号(主键),密码,姓名。

图3-2管理员信息

E-R 图

教师用户包括:密码,编号(主键),帐号(由管理员来添加)。

图3-3教师信息E-R 图

学生包括:编号(主键)姓名,学号,登录密码(这三项为必填项),专业,性别,班级。

图3-4学生信息E-R图

试题:编号(主键),包括类型,答案,内容,选项内容(A,B,C,D四个),分数(每道试题的分数)。

图3-5试题E-R图

试题信息:信息编号(主键),试题编号,考试编号,内容,正确选项,分数。

图3-6试题信息E-R图

考试:(由老师来管理考试,对考试增删改查)编号(主键),包括评分的类型,满分分数,考试名称,考试类型,及格分数线,优秀分数线,访问次数。

图3-7考试信息E-R图

学生成绩记录:(由老师来手动评分)包括编号(主键),总分数,等级,学生编号,考试编号,考试日期。

图3-8学生成绩记录E-R图

考试记录:考试完毕后都有的考试记录,包括编号(主键),考试时间,学生编号,考试编号。

图3-9考试记录信息E-R图

学生答题结果:编号(主键),所得分数,学生编号,选题编号。

图3-10学生答题结果E-R图

2.数据字典

a.管理员信息:

名字:管理员信息

描述:存储管理员所有信息

定义:管理员信息={管理员编号+管理员账号+登陆密码}

管理员编号=1{[0..9]}11

登陆账号=1{[a..z|A..Z|0..9]}255

登陆密码=1{[a..z|A..Z|0..9]}255

b.教师信息:

名字:教师信息

描述:存储教师所有信息

定义:教师信息={教师编号+教师账号+登陆密码}

教师编号=1{[0..9]}11

登陆账号=1{[a..z|A..Z|0..9]}50

登陆密码=1{[a..z|A..Z|0..9]}50

c.学生信息:

名字:学生信息

描述:存储学生所有信息

定义:学生信息={学生编号+姓名+学号+登陆密码+专业+性别+班级} 学生姓名=1{汉字}50

学生编号=1{[0..9]}11

学号=1{[a..z|A..Z|0..9]}50

登陆密码=1{[a..z|A..Z|0..9]}50

性别=1{汉字}50

专业=1{汉字}50

班级=1{汉字}50

d.试题信息

名字:试题信息

描述:存储试题信息

定义:试题信息={试题编号+试题类型+答案+试题内容+选项内容+分数}

试题编号=1{[0..9]}11

试题类型=1{汉字}255

答案=1{[|a..z|A..Z}80

试题内容=1{[|a..z|A..Z]}80

选项内容=1{[|a..z|A..Z]}80

分数=1{[0..9]}80

e.试题详情信息

名字:试题详情信息

描述:存储试题详情信息

定义:试题详情信息={信息编号+试题编号+考试编号+正确选项+试题内容+分数} 信息编号=1{[0..9]}11

试题编号=1{[0..9]}11

考试编号=1{[0..9]}11

试题内容=1{[|a..z|A..Z]}200

正确选项=1{[|a..z|A..Z]}200

分数=1{[0..9]}8

f.考试信息

名字:考试信息

描述:存储考试的信息

定义:考试信息={编号+评分类型+满分分数+考试名称+考试类型+及格分数+良好分数+优秀分数+是否存在试题+访问次数}

考试编号=1{[0..9]}11

评分类型=1{手动评分}50

考试名称=1{[汉字|a..z|A..Z|0..9]}50

考试类型=11{[汉字|a..z|A..Z|0..9]}50

满分分数=1{[0..9]}8

良好分数=1{[0..9]}8

及格分数=1{[0..9]}8

优秀分数=1{[0..9]}8

是否存在试题=1{汉字}255

访问次数=1{[0..9]}11

g.学生答题结果信息

名字:学生答题结果信息

描述:存储学生答题结果信息

定义:学生答题结果信息={编号+所得分数+是否评分+考试记录编号+选题编号+结果+试题编号+学生编号}

编号=1{[0..9]}11

所得分数=1{[0..9]}8

是否评分=1{[0|1]}1

考试记录编号=1{[0..9]}11

选题编号=1{[0..9]}11

试题编号=1{[0..9]}11

学生编号=1{[0..9]}11

结果=1{汉字}50

h.考试记录信息

名字:考试记录信息

描述:存储考试记录的信息

定义:考试记录信息={编号+考试时间+学生编号+考试编号+是否评分}

编号=1{[0..9]}11

考试编号=1{[0..9]}11

学生编号=1{[0..9]}11

是否评分=1{[0..9]}11

考试时间=1{[月+日+年+时+分+秒]}255

i.学生成绩记录信息

名字:学生成绩记录信息

描述:存储学生成绩记录信息

定义:学生成绩记录信息={结果编号+总分数+等级+学生编号+考试编号+考试日期} 结果编号=1{[0..9]}11

总分数=1{[0..9]}8

学生编号=1{[0..9]}11

考试编号=1{[0..9]}11

考试时间=1{[月+日+年+时+分+秒]}50

1{汉字}50

3.系统开发环境要求

a. 开发工具:MyEclipse 8.5

b.编译执行:JVM(Java虚拟机)

c.数据库:Oracle

d.服务器:Apache Tomcat6.0

e.运行环境:安装JDK支持Java运行。

f.技术:前台网页的设计采用JSP技术制作。负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由servlet处理。

4 概要设计

4.1 功能模块设计

学生模块功能

1.学生注册登录,首页提供用户登录以及用户注册功能。如图4-1所示:

图4-1学生注册

2.个人信息管理,学生在成功登录系统后,可以对个人信息(姓名,性别,专业,班级,密码)进行更改。如图4-2所示:

图4-2个人信息管理

3.分数的查询,学生用户登录系统后,可以进行分数的查询,仅仅可以查看自己的分数,查看不了其他学生的分数。

教师模块功能

a.考试管理,教师在成功登录系统后,可以创建考试,删除考试,以及对考试的详细信息进行查询。

b.试题管理,创建考试成功后,进行导入试题的操作,添加新的试题,删除试题,以及对试题进行查看。

3.评分管理,如图4-3所示:

相关文档
相关文档 最新文档