admin 管理员组

文章数量: 887032


2023年12月19日发(作者:java获取字符串的长度)

本科生毕业设计

基于JSP的网上考试系统

JSP-based Online Examination System

学生姓名

所在专业

所在班级

申请学位

指导教师

副指导教师

答辩时间

计算机科学与技术

工学学士

职称

职称

目 录

目 录

设计总说明 ............................................................................................................................ I

II

1

绪论 .............................................................................................................................. 1

1.1

设计的背景 ............................................................................................................. 1

1.1.1

网上考试系统概述 ........................................................................................... 1

1.1.2

国内外网上考试系统的研究现状 ................................................................... 1

1.2

设计的概况 ............................................................................................................. 2

1.2.1

设计的目的和意义 ........................................................................................... 2

1.2.2

设计的指导思想 ............................................................................................... 2

1.2.3

论文组织结构 ................................................................................................... 2

2

系统开发的相关理论与技术 ...................................................................................... 3

2.1

2.2

系统开发模式 ......................................................................................................... 3

系统开发工具选择 ................................................................................................. 4

2.1.1

B/S结构设计模式............................................................................................ 3

2.2.1

操作系统和服务器选用 ................................................................................... 4

2.2.2

开发平台 ........................................................................................................... 4

2.2.3

数据库的选用 ................................................................................................... 4

2.2.4

其它辅助工具的选用 ....................................................................................... 4

2.3

3

相关理论与开发技术 ............................................................................................. 5

2.3.1

JSP技术 ............................................................................................................ 5

系统分析 ...................................................................................................................... 6

3.1

可行性分析 ............................................................................................................. 6

3.1.1

技术可行性 ....................................................................................................... 6

3.1.2

经济可行性 ....................................................................................................... 7

3.1.3

操作可行性 ....................................................................................................... 7

3.2

需求分析 ................................................................................................................. 7

3.2.1

角色识别 ........................................................................................................... 7

3.2.2

考生功能 ........................................................................................................... 7

3.2.3

管理功能 ........................................................................................................... 8

3.2.4

功能模块划分 ................................................................................................... 8

3.3

3.4

系统流程图 ............................................................................................................. 8

数据字典 ................................................................................................................. 9

目 录

3.5

4

4.1

4.2

实体关系模型(实体E-R图) ........................................................................... 11

系统功能总框架 ................................................................................................... 14

数据库设计 ........................................................................................................... 14

系统总体设计 ............................................................................................................ 13

4.2.1

逻辑结构设计 ................................................................................................. 14

4.2.2

物理结构设计 ................................................................................................. 16

5

系统详细设计及实现代码 ........................................................................................ 17

5.1

前台 ....................................................................................................................... 17

5.1.1

考生信息模块 ................................................................................................. 17

5.1.2

在线考试模块模块 ......................................................................................... 21

5.2

6

7

后台 ....................................................................................................................... 23

5.2.1

考试题目管理模块 ......................................................................................... 23

系统测试 .................................................................................................................... 27

总结 ............................................................................................................................ 28

鸣 谢 ................................................................................................................................. 29

参考文献 ............................................................................................................................. 30

附 录 ................................................................................................................................. 31

设计总说明

设计总说明

随着科技的发展,网络技术已经深入到人们的日常生活中。它同时带来了教育方式的一次变革,而网络考试则是一个很重要的方面。基于Web技术的网络考试系统具有廉价、开放、易实现等特点,考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。缩短了常规考试要求老师设计试卷、打印试卷、安排考试、监考、收集试卷、评改试卷、统计分数、入档,这个漫长而复杂的过程,提高工作效率,节省时间金钱,使考试更趋于客观、公正。

网络应用中最常见的模式是B/S模式,即需要获取信息的用户使用浏览器向服务器发出请求,服务器对此作出响应,将有关信息发送给用户的浏览器。在B/S模式中,服务器上必须有所谓的Web应用程序,服务器通过运行这些Web程序来响应用户的请求。JSP正是一种优秀的Web服务器端开发技术,得益于Java语言,JSP具有跨平台、易维护和安全性,正适合用于在线考试系统的开发。

本系统以软件工程方法学为指导并利用JSP技术设计实现基于JSP的网上考试系统,具有在线考试、即时阅卷、成绩查询及考题和考生信息管理等功能,开发工具采用MyEclipse,后台数据库采用SQL Server 2005。首先对系统的可行性及需求进行分析,接着进行数据库的设计、软件结构的设计,最后对前台和后台等进行详细设计并在Myelipse平台下采用JSP技术编程实现。系统运行结果良好,达到预期目标。

本系统的创新之处在于:第一.使用了Struts框架,Struts通过JavaServlet/JSP技术,实现了基于Java EE Web应用的MVC设计模式应用框架,是MVC经典设计模式中的一个经典产品,可以使得系统的设计思路更加清晰;第二.应用了EL表达式和Struts框架提供的标签库,大大减少了JSP页面中的脚本程序,使得页面代码更加简洁明了;第三.应用了Ajax技术实现考试系统的考试时间自动计时和根据选择的课程动态生成相关套题的下拉列表。

局限于个人的开发经验,本系统尚有许多能够进一步改进和优化的地方,例如JSP页面的布局和美化,过于简单的页面会使人觉得单调,但是过多的图片和不好的颜色搭配又会对用户的体验造成影响,还有代码算法的优化,因为编程经验的缺少,可能会使同样一个功能但是却付出了更多的资源代价去实现。不足之处,望各位批评指正。

关键词:管理信息系统;考试系统;JSP;Struts

I

INTRODUCTION

INTRODUCTION

With the development of science and technology, the network technology has penetrated

into people's daily life. It also brought a revolution in the way of education, while the

network test is a very important aspect. The network examination system based on Web

technology has the advantages of low cost, open, easily implemented, the exam can in local,

also can be in different, greatly expanding the flexibility of the exam. Shorten the routine

exam papers, the teacher design requirements of printing papers, examination arrangements,

examiners, collected papers, grades examination papers, scores, into the file, the long

and complex process, improve work efficiency, save time and money, make the examination

more objective, justice.

The most common mode of network applications is the B/S model, namely the need to obtain

the information of user’s use the browser sends a request to the server, the server responds,

will send relevant information to the user's browser. In B/S mode, there must be so-called

Web applications on the server, the server by running the Web program in response to user

requests. JSP is an excellent Web server development technology, thanks to the Java language,

JSP is cross-platform, easy maintenance and safety, is suitable for the development of

online examination system.

This system based on the software engineering methodology for guidance and the use of

JSP technology design and implementation of online examination system based on JSP, with

online exam, instant marking, score inquiry and examination questions and the examinee

information management functions, development tools using MyEclipse, background database

using SQL Server 2005. The feasibility and system requirements analysis, design, database

design and software structure, finally the foreground and background are detailed designed

and implemented using JSP technology under MyEclipse platform programming. System is

running well, to achieve the desired objectives.

The innovation lies in the system: the first using the Struts framework, Struts through

JavaServlet / JSP technology, applications based on Java EE Web Application Framework MVC

design pattern is a classic MVC design pattern in a classic, you can make system design

ideas more clearly; second. applied EL expressions and Struts framework provides a tag

library, greatly reducing the JSP page of the script, making the page code more concise;

Third application of Ajax technology to achieve the examination system the examination time

automatic timing and dynamically generated based on the selected program sets of questions

related to the drop-down list.

II

INTRODUCTION

Confined to the personal development experience, this system still has a lot of to

further improve and optimize the place, such as a JSP page layout and landscaping, too simple

page will make people feel monotonous, but too many pictures and bad color will impact on

the user experience, and code optimization, because of the lack of programming experience,

may make the same function but pay more cost of resources to achieve. Deficiencies, hope

everybody criticism.

Keywords: Management information system; test system; JSP; StrutsIII

广东海洋大学2013届本科生毕业设计

基于JSP的网上考试系统

毕业设计说明书

1 绪论

1.1 设计的背景

1.1.1 网上考试系统概述

计算机技术、多媒体技术、通信技术的发展,特别是因特网(Internet)的迅猛发展,使远程教育的手段有了质的飞跃,成为高新技术条件下的远程教育,而网上考试也成了其一个重要的组成部分。传统的考试方式存在时间长、效率低的缺点,同时人工批卷等主观因素也影响到考试的公正性,与之相比,网络在线考试体现出越来越多的优势。尤其是在校园中,将考试系统与别的系统整合在一起,可以非常方便的整合整个学校的资源,更科学的管理校园,建立一个信息化校园。

无纸的网络在线考试系统,使得教务管理突破时空的限制,提高了工作效率,节省大量的人力资源及考试费用,大幅度提高举办考试效率,使得学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。。

总而言之,网上在线考试。已经成为教育技术的发展与研究方向。

1.1.2 国内外网上考试系统的研究现状

关于网上考试系统的开发规范与标准,世界上有些标准化组织或机构制定的网络教育标准里涉及了网上考试系统的相关内容。在美国,有航空工业计算机辅助蓄念委员会(AICC)比较早提出的计算机管理教学标准;美国国防部提出的可以共享课程对象参照模型(SCORM);还有全球学习联合公司(IMS)提出的学习系统规范。[16]

(1)国外网上考试系统

美国Prometric公司是国际上最大的计算机化教育和考试认证服务的公司。全球都有分公司和考试中心,向学校、企业、个人及社会提供立足于信息技术基础的教育和评估服务。Prometric全球的业务主要包括学校辅助教育、学校教育管理、远程大学、英语语言教学和计算机化考试五个方面。不断进取以期为认证领域的领先者。Prometric从事计算机化考试业务,可用25种不同语言提供一千多种考试,涉及IT领域证书认证,留学考试和职业考试。这些考试通过Prometric授权考试中心(APTC)和Prometric技术中心(STC)完成。

(2)国内网上考试系统

ATA公司是中国智能化考试服务的创始者,中国最大的考试和教育服务供应商。ATA公司创立于- 1 -

广东海洋大学2013届本科生毕业设计

1999年,成立之初凭借先进的考试理念自主研发了世界领先的动态操作试题考试技术(DST),向客户提供优化考试解决方案,极大地提高了考试的信度和效度,解决了困扰全球考试业界的众多难题,公司亦获得快速发展。2001年ATA公司凭借长期累积的独特技术和资源优势,依托现代教育理念,积极投身于中国职业教育改革,整合了微软、Adobe等国内外著名IT厂商的优质教育资源,为中国院校提供新型人才培养方案和教育方案,以及全面配套服务与支持。[13]

1.2 设计的概况

1.2.1 设计的目的和意义

本设计的目的是设计一个基于JSP的网上考试系统,使老师可以从繁复的考试工作中解脱出来,减少老师的工作量,节省学校考试成本。

建立网上考试系统可以降低管理成本和人力物力的投入,同时为考生提供更全面、更灵活的服务。

设计的内容

(1)考生的注册、个人资料修改和找回密码功能。

(2)考生的在线考试和成绩查询功能。

(3)管理员信息管理和考生信息管理功能。

(4)课程信息管理、套题信息管理、考试题目管理功能。

1.2.2 设计的指导思想

(1)本设计思想是:

根据网上考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息等进行管理。

(2)设计的总体规则:

①简单性:操作简单方便,界面简洁美观。

②稳定性:系统运行稳定、安全可靠。

③实用性:提供考试倒计时,方便考生了解考试剩余时间。

④公平性:随机抽取试题。

1.2.3 论文组织结构

第1章:简单介绍本次系统设计的背景、概况、指导思想等。

第2章:简单介绍系统开发的相关理论和技术,包括服务器的选用,开发平台的选用等。

第3章:对系统的可行性分析,需求分析作详细的探讨。

- 2 -

广东海洋大学2013届本科生毕业设计

第4章:详细介绍了系统的框架、数据库设计等。

第5章:结合系统,详细介绍了本系统的代码设计。

第6章:测试系统。

第7章:对本次系统设计的总结。

2 系统开发的相关理论与技术

2.1 系统开发模式

2.1.1 B/S结构设计模式

本设计采用B/S结构的开发模式。所谓B/S结构,即Browser/Server(浏览器/服务器)方式的网络结构,在客户端不需要开发任何用户界面,而统一采用如IE一类的浏览器,通过Web浏览器向Web服务器提出请求,由Web服务器对数据库进行操作,并将结果逐级传回客户端。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript„)技术,是一种全新的软件系统结构技术。

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户的信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需要配置少量的客户端软件[7]。服务器将担负更多的工作,对数据库的访问返回以及动态网页生成等工作全部由Web服务器完成。B/S三层体系结构采用三层结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。B/S网络结构如图2.1所示。

图2.1 B/S网络结构B/S结构设计模式的优势与劣势

(1)B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统[2]。

(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,- 3 -

广东海洋大学2013届本科生毕业设计

这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

2.2 系统开发工具选择

2.2.1 操作系统和服务器选用

操作系统采用Windows XP Professional版作为网站的服务器。因为Windows XP不像Windows

2000和98一样有Server的版本,但是其有出色的兼容性和强大的系统管理能力。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

2.2.2 开发平台

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

本系统的开发平台就是采用MyEclipse 8.6.1。

2.2.3 数据库的选用

本设计采用Microsoft SQL Server 2005开发版。数据库的种类繁多,如何选择数据库让人头痛。现在比较流行的数据库像Access、SQL Server、Oracle、MySQL等等都是常用的。Access用于比较简单的数据库设计,一般用于论坛和留言板;Oracle是以高级结构化查询语言为基础的大型数据库,一般用于大型的数据库设计;MySQL和SQL Server则是适用于中小型企业的数据库。由于SQL

Server支持存储过程、触发器、自定义函数等操作,它的安全性、并发性控制能力、数据挖掘、联机操作等方面都是其它中小型数据库系统无法超越的,所以本系统选择了SQL Server 2005。

2.2.4 其它辅助工具的选用

(1)

Microsoft Word 2003。用于对毕业论文的编写和资料的收集保存。

(2)

Macromedia Dreamweaver 8。用于对网页整体框架进行美工的工具,它的强大的Html控件为网页的设计提供方便。

(3)

Microsoft Visio 2003。用于论文用例图和程序流程图的设计。

- 4 -

广东海洋大学2013届本科生毕业设计

2.3 相关理论与开发技术

2.3.1 JSP技术

2.3.1.1 JSP简介

JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。

JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.3.1.2 JSP开发环境

1. MyEclipse 8.6.1。

2. SQL Server 2005数据库环境。

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。经过多年发展,SQL

Server 2005是Microsoft公司于2005年推出的版本。安装使用方便。就网上考试系统的开发,采用较为成熟稳定的SQL Server 2005是不错的选择。

服务器

2.3.1.3 JSP技术的优点

(1) 将业务层与表示层分离:使用JSP技术,网络开发人员可以使用HTML来设计页面显示部分(如字体颜色等),使用JSP指令或者JAVA程序片段来生成网页上的动态内容。

(2) 能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务。

- 5 -

广东海洋大学2013届本科生毕业设计

(3) 组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用。

(4)

一次编写,处处运行:作为Java开发平台的一部分,JSP具有Java的所有优点,包括Write once、Run everwhere。

2.3.1.4 JSP的工作原理

在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。

3 系统分析

3.1 可行性分析

可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解决方法的利弊,来判断系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。

3.1.1 技术可行性

技术的可行性是整个系统开发环节当中非常重要的一个环节,那么怎么才能合理的面对系统的可行性,我们在考虑如何完成这个系统时,我们能够接受的范围是在我们技术范围之内的事情,所以相对来说分析技术可行性是非常有这个必要的,有的时候某个功能实现就那么简单,但是真正实施起来的话,投入的人力物力就非常大了。

技术可行性,就是要进行技术风险评价。从开发者的技术实力、以往的工作基础和问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。如果开发技术风险很大,或者模型演示表明当前采用的技术和方法不能实现系统预期的功能和性能,或者系统的实现不支持各子系统的集成,则项目管理人员可以做出停止系统开发的决定。

所以系统的可行性在整个系统的开发流程当中是非常重要的,衡量投入和利润的就是技术的可行性,所以我们在开发一个系统的时候应该首先考虑这个系统的技术可行性再开发,不要到开发了一- 6 -

广东海洋大学2013届本科生毕业设计

半然后才知道很多技术达不到要求而半途而废。

开发一个网络在线考试系统,涉及的最核心的技术问题就是如何实现在不刷新页面的情况下实时显示考试时间及剩余时间,并做到达到考试结束时间时自动提交试卷的功能。如果在Ajax技术出现以前,要实现这些功能会比较麻烦,但现在通过Ajax技术可以轻松实现这些功能,这为这次开发提供了技术保障。

3.1.2 经济可行性

企业总是以赢利为目的的,利润最大化是企业追求的目标,经济上的可行性是企业行为的基础。

经济可行性分析,是从经济的角度分析网站系统的规划方案有无实现的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。

经济可行性,进行成本/效益分析。就是从经济角度判断系统开发是否“合算”。所谓成本,包括购置并安装软、硬件及有关设备的费用;系统开发费用;系统安装、运行及维护的费用;人员培训费用。而效益是指系统为用户增加的收入或为用户节省的开支,这是有形的效益;给潜在用户心理上造成的影响,这是无形的效益。它可以转化为有形的效益。

定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本;另一方面,在线考试系统能够快速地进行考试和评分,体现出考试的客观性和公正性。

3.1.3 操作可行性

本系统利用SQL Server 2005数据库所具有的能力,以最简洁最容易的方法,使其成为一个简而易懂的考试系统。经过测试使用,收到了很好的效应。

3.2 需求分析

3.2.1 角色识别

角色识别的任务是找出所有可能与系统发生交互行为的外部实体,对象和系统。他们的行为不受系统的控制,但是可以提供输入给系统(即使用系统的功能,或者能够响应系统的服务请求,为系统提供服务的接口)。

在前面的描述中已经知道,在访问系统时,考生或者管理员必须先登录,然后根据自己的身份去进行自己所需要的操作。

经过分析可以明确,本系统包含两个角色:考生,系统管理员。

3.2.2 考生功能

根据对当前网络上网上考试系统的详细分析,考生界面就是考生在使用考试系统时,系统提供给用户使用的浏览器显示界面,能够实现用户与系统的友好交互,并且能够对用户的使用给以人性化的引导与提示,功能具体如下:

- 7 -

广东海洋大学2013届本科生毕业设计

1. 考生的行为:在线考试,成绩查询,退出系统。

2. 个人信息的操作:考生注册,考生登录,修改个人资料。

3.2.3 管理功能

管理界面是系统提供给管理员进行系统的维护及管理的浏览器界面,能够实现系统管理员与系统的有效交互,使得系统管理员能够对管理员信息,考生信息,考生成绩,课程信息,套题信息,考试题目信息,进行有效的的维护与管理操作,功能具体如下:

1. 系统管理员的行为:考生成绩查询。

2. 管理员管理的操作:考生信息管理,管理员信息管理,课程信息管理,套题信息管理,考试题目管理。

3.2.4 功能模块划分

表3.1 功能模块列表

序号

1

功能模块类型

前台

功能模块

考生信息

备注

考生注册、考生登录、修改个人资料、找回密码

2

3

4

前台

前台

后台

在线考试

成绩查询

信息管理

考试

成绩查询

管理员信息、考生信息、课程信息、套题信息

5 后台 考试题目管理 考试题目管理

模块功能列表是根据模块完成任务的不同进行划分的,一共包括5大模块,其中与前台相关的共有3个,与后台相关的共有2个。这些功能模块是建立在对系统的需求分析和设计的基础上的,是从大的方面对系统进行的很粗糙的划分,进入系统详细设计阶段将会对系统进行更加精细的划分设计。

3.3 系统流程图

考生前台部分:

- 8 -

广东海洋大学2013届本科生毕业设计

图3.1 前台流程图

管理员后台部分:

图3.2 后台流程图

3.4 数据字典

数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流图工具的补充。数据流图和数据字典共同构成系统的逻辑模型。

- 9 -

广东海洋大学2013届本科生毕业设计

(1) 考生信息

表3.2考生信息

名称

简述

组成

来源

去向

数据量

注解

考生信息

保存考生信息

ID、姓名、密码、性别、注册时间、提示问题、问题答案、专业、身份证号

注册、修改个人资料

登陆、找回密码

(2) 课程信息

表3.3课程信息

名称

简述

组成

来源

去向

数据量

注解

课程信息

保存课程信息

ID、课程名称、加入时间

添加课程

删除课程、添加套题、添加题目

(3) 管理员信息

表3.4 管理员信息

名称

简述

组成

来源

去向

数据量

注解

管理员信息

存储管理员信息

ID、管理员账号、密码

添加管理员、修改管理员密码

登录、修改管理员密码

(4) 套题信息

表3.5 套题信息

名称

简述

组成

来源

去向

数据量

注解

套题信息

保存套题信息

ID、套题名称、所属课程、添加时间

添加套题信息

修改套题名称、修改所属课程

(5) 考试题目信息

- 10 -

广东海洋大学2013届本科生毕业设计

表3.6考试题目信息

名称

简述

组成

来源

去向

数据量

注解

考试题目信息

保存考试题目信息

ID、问题、类型、添加时间、所属课程ID、所属套题ID、选项A、选项B、选项C、选项D、正确答案、备注

添加考试题目

修改考试题目、出题

(6) 考生成绩信息

表3.7考生成绩信息

名称

简述

组成

来源

去向

数据量

注解

考生成绩信息

保存考生成绩

ID、准考证号、所属课程、单选题分数、多选题分数、合计分数、添加时间

学生考试

查询成绩

3.5 实体关系模型(实体E-R图)

图3.3考生实体E-R图

- 11 -

广东海洋大学2013届本科生毕业设计

图3.4课程实体E-R图

图3.5 管理员实体E-R图

图3.6 套题实体E-R图

- 12 -

广东海洋大学2013届本科生毕业设计

图3.7题目实体E-R图

图3.8成绩实体E-R图

4 系统总体设计

系统总体设计是平台开发的一个重要的环节,在系统调查的基础上,对新系统的功能进行细致的分析,开发出完整的系统设计。总体设计过程首先寻找实现目标系统的各种不同的方案,而这些- 13 -

广东海洋大学2013届本科生毕业设计

方案就是依靠前面系统需求分析所完成的数据流图等设计来设计的。本系统从方案中选取较合理的方案划分系统功能模块,并进行必要的数据库设计。

4.1 系统功能总框架

通过可行性研究和数据流程分析,可得到系统的功能结构的划分,如图4.3.1所示。

图4.1 系统功能结构图

4.2 数据库设计

4.2.1 逻辑结构设计

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本实体E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

由于各种DBMS产品一般都有许多限制,提供不同的环境与工具,因此,逻辑设计分为如下几步:

(1) 将概念模型向一般关系、网状和层次模型转化;

(2) 将得到的一般关系、网状和层次模型向特定的DBMS产品所支持的数据模型转化;

(3) 依据应用的需求和具体的DBMS的特征进行调整和完善[15]。

- 14 -

广东海洋大学2013届本科生毕业设计

(1) 考生信息表tb_Student,保存考生信息。

表4.1考生信息表 表名:tb_Student

序号 列名

1

2

3

4

5

6

7

8

9

(2) 课程信息表tb_Lession,记录课程信息。

表4.2课程信息表 表名:tb_Lession

序号 列名

1

2

3

(3) 管理员信息表tb_manager,记录管理员信息。

表4.3 手机表 表名:tb_Product

序号 列名

1

2

3

ID

Name

Pwd

(4) 套题信息表tb_Taoti,记录套题信息。

表4.4 套题信息表 表名:tb_Taoti

序号 列名

1

2

3

4

ID

Name

lessonID

jointime

数据类型

int

Varchar(50)

int

datetime

主键

- 15 -

允许空 默认值

说明

编号ID

套题名称

所属课程

数据类型

int

Varchar(30)

Varchar(30)

主键

允许空 默认值

说明

编号ID

姓名

密码

ID

Name

jointime

数据类型

int

Varchar(60)

datatime

主键

允许空 默认值

说明

编号ID

课程名称

ID

Name

Pwd

Sex

Jointime

question

Answer

Prefession

Cardno

数据类型

Varchar(16)

Varchar(20)

Varchar(20)

Varchar(2)

Datetime

Varchar(50)

Varchar(50)

Varchar(30)

Varchar(18)

主键

允许空 默认值

说明

编号ID

姓名

密码

性别

提示问题

问题答案

专业

身份证号码

Getdate()

注册时间

Getdate()

添加时间

Getdate()

添加时间

广东海洋大学2013届本科生毕业设计

(5) 考试题目信息表tb_Questions,保存考试题目信息。

表4.5 考试题目信息表 表名:tb_Questions

序号 列名

1

2

3

4

5

6

7

8

9

10

11

12

(6) 学生成绩信息表tb_stuResult,保存学生成绩。

表4.6 学生成绩信息表 表名:tb_stuResult

序号 列名

1

2

3

4

5

6

7

ID

stuID

whichLesson

resSingle

resMore

resTotal

Jointime

数据类型

Int

Varchar(16)

Varchar(60)

Int

Int

datetime

主键

允许空 默认值

resSingle+resMore

说明

编号ID

准考证号

所属课程

单选题分数

多选题分数

合计分数

ID

Subject

Type

Jointime

lessonID

taotiID

optionA

optionB

optionC

optionD

Answer

note

数据类型

int

Varchar(50)

Char(6)

Datetime

Int

Int

Varchar(50)

Varchar(50)

Varchar(50)

Varchar(50)

Varchar(10)

Varchar(50)

主键

允许空 默认值

说明

编号ID

问题

类型

所属课程ID

所属套题ID

选项A

选项B

选项C

选项D

正确答案

备注

Getdate()

添加时间

Getdate()

添加时间

4.2.2 物理结构设计

为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理结构设计。

不同的DBMS所提供的物理环境、存取方法和存储结构有很大差别,提供给设计人员使用的设计选择范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。

综合数据库物理设计的目标是:

- 16 -

广东海洋大学2013届本科生毕业设计

(1) 提高数据库应用系统的性能,特别是满足主要应用的性能要求。

(2) 有效地利用存储空间。

为此,首先须要对主要的运行事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。了解查询和更新事务是确定关系的存取方法的主要依据。

物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。

了解用户的需求后,建立一个名为db_的SQL Server数据库文件,依据第三范式的要求建立数据库表结构,以充分利用存储空间,并且做以下优化来提高数据库性能:

㈠为每个数据库表建立一个整型类型的自动增长的主键[17]。

很多数据库设计者喜欢使用自动增长的主键,因为它使用简单,本系统也不例外的选择自动增长的主键。自动增长主键允许我们在向数据库添加数据时,不考虑主键的取值,记录插入后,数据库系统会自动为其分配一个值,确保绝对不会出现重复。由于使用SQL Server数据库的话,还可以在记录插入后使用@@IDENTITY全局变量获取系统分配的主键键值,可以说自动增长型字段会省掉系统数据库开发过程中很多繁琐的工作。

㈡确定数据库表的存取方法。

存取方法是快速存取数据库中数据的关键技术,物理设计的任务之一就是要确定选择哪些存取方法。常用的存取方法有索引方法。对于以下情况应该考虑建立索引:

①对于以读为主或只读的表,如果存储空间允许,可以多建索引。

②对于等值查询,如果满足条件的元组是少量的,则可以考虑在有关属性上建立索引。

③对于范围查询,最好在有关的属性上建立簇集索引,如果已在其它属性上建立簇集索引,可以考虑建立非簇集索引。

5 系统详细设计及实现代码

5.1 前台

5.1.1 考生信息模块

考生信息模块流程如图5.1所示。

- 17 -

广东海洋大学2013届本科生毕业设计

图5.1考生信息模块流程图

(1) 考生注册

考生注册页面如图5.2所示

- 18 -

广东海洋大学2013届本科生毕业设计

图5.2 考生注册页面

图5.3 注册成功页面

图5.4 注册失败页面

输入内容:如图5.2所示,输入内容为考生姓名、密码、性别、提示问题、问题答案、专业、身份证号。

输出内容:输入的格式错误信息、用户已存在或注册成功信息。

验证规则:通过自定义的javascript函数验证输入信息是否合法,如果格式正确则验证用户名是否已存在,不存在则注册成功。

点击保存,其中关键的伪代码如下所示:

Start

为student类新建一个对象

- 19 -

广东海洋大学2013届本科生毕业设计

使用studentAdd函数把用户信息保存到数据库

if 数据库不存在该账号

then 注册成功

else 注册失败

end if

End

(2) 考生登录

考生登录页面如图5.5所示

图5.5 用户登录页面

当输入帐号、密码正确时成功登录:

图5.6 登陆以后的页面

//当用户点击“登录”按钮时,具体关键伪代码如下:

Start

使用checkStudent函数

If准考证号已经存在

Then 对比密码

If正确

登录成功

- 20 -

广东海洋大学2013届本科生毕业设计

Else 您输入的考生准考证号码或密码错误!

End if

Else 您输入的考生准考证号码或密码错误!

End if

end

当用户登陆成功后,点击退出系统,跳到关键伪代码如下:

start

调用session的invalidate函数结束会话

跳回前台首页

end

5.1.2 在线考试模块模块

考试模块流程如图5.7所示。

图5.7 考试模块流程图

(1) 选择考试课程

如图5.8所示

- 21 -

广东海洋大学2013届本科生毕业设计

图5.8 选择考试课程页面

关键伪代码如下:

Start

查询登录考生尚未考试的科目

if 没有尚未考试的科目

then 无需要考试的课程,如果有问题,请与管理员联系!;

else

转到选择课程的考试页面

end

(2)随机抽选试题并显示

选择课程后考试界面如图5.9。

图5.9 考试页面

关键伪代码如下:

- 22 -

广东海洋大学2013届本科生毕业设计

Start

从会话中得到准考证号

if 考生没有登陆

then 返回登录页面

else

获取试题并显示试题

End if

End

(3)自动阅卷并显示考试成绩

图5.10 显示考试成绩对话框

//点击交卷按钮或计时结束时,系统将自动阅卷并将成绩以对话框的形式反馈给考生,具体关键伪代码如下:

start

对比单选题答案并计分

对比多选题答案并计分

合计并显示成绩

End

5.2 后台

5.2.1 考试题目管理模块

- 23 -

广东海洋大学2013届本科生毕业设计

图5.11 考试题目管理模块流程图

(1)查看考试题目列表

运行结果如图5.12:

图5.12 查看考试题目列表页面

其关键伪代码如下:

start

调用QuestionsDAO类中的query()方法查询全部考试题目

将查询结果保存到httpServletRequest对象的参数questionQuery中

调用javabean中的方法获取并显示结果

End

(2)添加考试题目

运行结果如图5.13:

- 24 -

广东海洋大学2013届本科生毕业设计

图5.13 添加考试题目页面

其关键伪代码如下:

start

通过自定义的javascript函数检验输入信息是否合法

将接收到的表单信息转换成Actionform类型

调用QuestionsDAO类中的insert()方法保存题目信息

end

(3)修改考试题目

运行结果如图5.14:

- 25 -

广东海洋大学2013届本科生毕业设计

图5.14 修改考试题目页面

其关键伪代码如下:

start

通过自定义的javascript函数检验输入信息是否合法

将接收到的表单信息转换成Actionform类型

调用QuestionsDAO类中的update()方法保存题目信息

end

(4)删除考试题目

运行结果如图5.15:

图5.15 删除考试题目页面

- 26 -

广东海洋大学2013届本科生毕业设计

其关键伪代码如下:

start

获取要删除的题目ID

调用QuestionDAO类的方法delete()删除题目信息

end

6 系统测试

系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。 系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以基本原则。

在进行软件测试的时候需要遵守一下几点原则:

(1)设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。。

(2)测试用例不仅包括合理、有效的数据,还要包括无效的或不合理的输入数据。

(3)应尽早并不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得开发的各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。

(4)对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。

(5)保留测试用例,作为软件文档的组成部分。

下面给出部分的测试用例和结果:

(1)考生、管理员登录测试

功能:检验用户、管理员登录的信息是否正确。

操作:输入正确的用户名GDOU2和正确密码111111,然后点击“登陆”。

再输入错误的用户名GDOU2和正确的密码111111,然后点击“登陆” 。

再输入正确的用户名GDOU2和错的密码111111,然后点击“登陆” 。

同理测试管理员

预期结果:用户名和密码任何一个错了都不能登录,并且错误警告能正常显示。

实际结果:与预期结果相符。

(2)考生信息模块测试

功能:考生注册、考生登录、个人资料修改、找回密码

操作:尝试各种非法的输入信息和合法的输入信息

预期结果:都能正常提示,并拒绝错误操作,接受正常操作

实际结果:各种提示正常显示,并没有出现意外的情况

(3)在线考试模块

功能:选择课程并进行在线考试。

- 27 -

广东海洋大学2013届本科生毕业设计

操作:进行考试

预期结果:考试题目正常显示,计时、倒计时功能正常运行

实际结果:顺利考试,与预期结果相符。

(4)后台题目管理操作

功能:查、增、删、改考试题目。

操作:进行各项操作,并观察有没有不正常的错误发生

实际结果:各种操作顺利进行与预期结果相符。

7 总结

毕业论文是实现大学培养目标的重要教学环节,是本科教学计划的组成部分,是本科生的一门必修课。通过此次论文写作,使我获得颇多的感受和收获。广博的理论知识是毕业论文写作的关键。毕业论文是对大学学习的最后检验,是对四年知识的总结和提升。因此,有充分的理论知识是毕业论文能否顺利完成的关键。熟练的写作能力和信息的搜集能力是毕业论文写作的重要条件。毕业论文体现的不仅仅是对知识的掌握,也是对语言的组织能力和表达能力的检验。

这次初次使用Struts,让我切实的感受到MVC模式所带来的方便。以前初学JSP时,程序片都是写在JSP页面中,看起来不免眼花缭乱。以后有机会还要接触一下MVC模式的其他产品,例如Spring、Hibernate等等,只有切实体会了,才能了解它们之间的不同。EL表达式也是初次使用,虽然老师在课堂上也有所提及,但是却没实际的运用过,所以不太熟练。还有Ajax也是初次接触,设计之初,从图书馆藏书中找了一个动态显示倒计时的方法,是用DIV块或者表单元素来实现的,后来从同学新买的书中了解到Ajax也可以实现动态倒计时,就开始研究学习,虽然还不能完全了解,但是也可以完成这个功能了。

这次设计由于时间比较仓促和受本身水平制约,有些功能和模块做得不是很完善,所以在线考试系统还有很多不足,有待进一步解决和完善。例如网页布局和美化方面明显不足,使得整个网页看起来比较单调;Ajax技术也没有应用到全部的页面上;Struts的标签库也没有灵活应用到全部的页面中;题目管理并不是太方便,还有待优化。在以后的工作学习中,我会不断的学习新知识,并尝试去优化这个考试系统,使其更加完美。- 28 -

参考文献

鸣 谢

从论文选题到搜集资料,从写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。那种感觉就宛如在一场盛大的颁奖晚会上,我在晚会现场看着其他人一个接着一个上台领奖,自己却始终未能被念到名字,经过了很长很长的时间后,终于有位嘉宾高喊我的大名,这时我忘记了先前漫长的无聊的等待时间,欣喜万分地走向舞台,然后迫不及待地开始抒发自己的心情,发表自己的感想。这篇毕业论文的就是我的舞台,以下的言语便是有点成就感后在舞台上发表的发自肺腑的诚挚谢意与感想:

我要感谢,非常感谢我的毕业设计指导老师彭伟民。他为人随和热情,治学严谨细心。在闲聊中她总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面她也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢彭老师。

我要感谢,非常感谢信息学院各位领导和老师的帮助,没有他们的辛勤劳动,就没有我的不断成长。我不仅学到了丰富的专业和课余知识,更感受到了你们辛苦备课后的热情和期望。这份温暖将一直伴随着我,鼓舞着我!同时,还要感谢我的计科的所有同学,是你们和我一同探讨问题,陪着我克服各种团难。

我要感谢,非常感谢广东海洋大学,为我们提供了一个如此好的学习与生活的环境。

在即将走出校园,直面大千世界的路口,虽然有些彷徨,有些茫然,但我必会勇敢迈步前行。

- 29 -

参考文献

参考文献

[1] 陆垂伟,周松林,李芳.基于J2EE的网络考试系统的设计与实现[J].计算机应用与软件,2006(10).

[2] 韩银锋.基于Web的高职学校系部管理信息系统的设计与实现[D].西安理工大学学士学位论文,2007.

[3] 林峰,彭加亮,徐岩.基于JSP和Servlet技术的远程考试系统设计[J].科技咨询导报,2007(22).

[4] 梁瑾.基于JSP的在线考试系统的设计与实现[期刊论文].中国教育信息化·高教职教,2008(8).

[5] 陆剑锋,王晓慧.基于JSP在线考试系统设计与实现[期刊论文].泰州职业技术学院学,2010-10(1).

[6] 郑辉.基于JSP的在线实时考试系统[学位论文].2008.

[7] 张锦权.同时异地协同设计网络平台的实现[D].合肥工业大学学士学位论文,2007.

[8] 张银鹤.点石成金:JSP+Ajax网站开发典型实例.电子工业出版社,2009-01-01.

[9] Li thmic Online Examination System Design[J].FuJian computer,2009-1:66-67.

[10] Zhu and Realization of Online Exam System Based on l

of BeiJing Polytechnic College[J],2009.

[11] Exams are Safer than Pen and l Learning,2012.

[12] Perta J,Lewis,Jim Y,Dana J,ogy ExamWeb: Development and Implementation

of a National Web-Based Examination System for Medical Students in ic

Radiology,2013.

[13] 邵曙君.基于Internet的在线考试系统的研究与实现[J].南京:东南大学,2001-6-7.

[14] Lu Chang,Xu Guang ation Research of Web Examination System Based on Procedia,2012.

[15] Julia Case Bradley、Anita augh著.天宏工作室 译.C#.NET程序设计[M].清华大学出版社,2005-1.

[16] Kurt Maly,huussein Abdel ctive distance learing Internet Computing,2007,(1):60-71.

[17] 王华杰,李律松,孙一波.精通C# 数据库开发[M].北京:清华大学出版社,2004-4.

- 30 -

附 录

附 录

- 31 -


本文标签: 系统 考试 设计