文档库 最新最全的文档下载
当前位置:文档库 › 在线考试系统毕业设计的研究与实现

在线考试系统毕业设计的研究与实现

在线考试系统毕业设计的研究与实现
在线考试系统毕业设计的研究与实现

湖南科技大学

毕业设计(论文)

题目基于J2EE平台在线考试系统设计与实现作者王超杰

学院计算机科学与工程学院

专业计算机科学与技术系

学号0605010124

指导教师王润云

二〇一〇年六月六日

湖南科技大学

毕业设计(论文)任务书

计算机科学与工程院计算机基础教学部(教研室)

系(教研室)主任:(签名)年月日

学生姓名: 王超杰学号: 0605010124 专业: 计算机科学与技术

1 设计(论文)题目及专题:基于J2EE平台的在线考试系统的设计与实现

2 学生设计(论文)时间:自 2009 年 12 月 14 日开始至 2010 年 6 月 8 日止

3 设计(论文)所用资源和参考资料:

[1] 张海潘.软件工程导论(第5版)[M].清华大学出版社,2008.

[2] 强风科技,赵辉.HTML+CSS网页设计指南[M].清华大学出版社,2010.

[3] 施伯乐,丁宝康,汪卫.数据库系统教程[M].高等教育出版社.2003.

[4] George Franciscus, Danilo Gurovich.Struts Recipes中文版[M].电子工业出版社.2007.

[5] 陈天河,等.Struts,Hibernate,Sprint集成开发宝典[M].电子工业出版社.2007.

[6] Cay S.Horstmann Gary Cornell,Java2核心技术.人民邮电出版社[M]2006.

[7] 魏杰,Struts框架详解[I], https://www.wendangku.net/doc/ac12076387.html,/blog/214772,2008.

[8] 百度百科,B/S结构[I], https://www.wendangku.net/doc/ac12076387.html,/view/268862.html,2008.

4 设计(论文)应完成的主要内容:

(1) 系统可行性分析

(2) 系统需求分析与概要设计

(3) 系统数据库设计与功能模块设计

(4) 系统详细设计与实现

5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:

(1) 按照湖南科技大学本科毕业设计论文规范撰写的论文一本及其电子文档

(2) 系统源代码及电子文档

6 发题时间: 2009 年 12 月 14 日

指导教师:(签名)

学生:(签名)

湖南科技大学

毕业设计(论文)指导人评语

[主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价]

指导人:(签名)

年月日指导人评定成绩:

湖南科技大学

毕业设计(论文)评阅人评语

[主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价]

评阅人:(签名)

年月日评阅人评定成绩:

湖南科技大学

毕业设计(论文)答辩记录

日期:

学生:学号:班级:

题目:

提交毕业设计(论文)答辩委员会下列材料:

1 设计(论文)说明书共页

2 设计(论文)图纸共页

3 指导人、评阅人评语共页

毕业设计(论文)答辩委员会评语:

[主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价]

答辩委员会主任:(签名)

委员:(签名)

(签名)

(签名)

(签名)答辩成绩:

总评成绩:

摘要

教育的网络化代表了教育改革的一个重要的方面,并且已经开始成为现代教育的一个主要特征,对教育的发展形成新的推动力。随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,在线考试作为远程教育的一个子系统也成为一个重要的研究领域。

系统以MyEclipse为开发工具,Java为编程语言,通过基于面向对象的设计方法,针对B/S结构的特点,采用J2EE相关技术的分层设计思想,有效将业务逻辑与视图层分开,大大增强了系统的灵活性。系统整体架构在基于MVC模式的Web应用框架Struts 之上,后台的数据库为Microsoft SQL Server 2000。系统实现的主要功能有在线考试、管理员信息管理、用户信息修改、题目信息管理、课程信息管理、成绩信息管理等。

系统采用B/S模式设计实现,可以灵活地部署在Internet上,使系统具有可扩展性和易用性,从而很大程度提高了考试工作的效率,优化了考试信息管理工作流程,使考试更加方便快捷。

关键字: 在线考试;MIS系统;J2EE平台;B/S模式;MVC模式;SQL2000

ABSTRACT

The networking education represents an important direction of development and has started to become one of the main features of modern education, and formed a new impetus to the education in the future. With the development of Internet / Intranet and the wide popularization, the establishment of distance education is to become one of the direction of modern education technology, and certainly the test online as a subsystem of distance education will become an important area of research.

This system which adopting MyEclipse for development tools, Java for programming language, based on object-oriented design method, according to the characteristics of B/S structure and adopting J2EE related technical stratification design ideas, is effective to separate business logic layer from view layer, greatly enhancing the flexibility of this system. System’s architecture is based on Struts which is a web application framework of MVC pattern. The database in backgroud is Microsoft SQL Server 2000. The main function of the system includes the administrator information management, the personnal information changes, the question information management, the courses infomation management, the score information management.

This system which based on B/S pattern designing and implementation, could be deployed in Internet flexibly, so that the system has the scalability and ease of use, which largely increased the efficiency of examinations to optimize the test information management workflow, made the examination more convenient.

Key Words: Online Examination;MIS systems;J2EE platform;B / S pattern;MVC pattern;SQL2000

目录

第一章前言 ..................................................................................................................... - 1 -

1.1 传统考试方式........................................................................................................ - 1 -

1.2 在线考试方式........................................................................................................ - 1 -

1.3 系统的开发意义.................................................................................................... - 1 -第二章系统可行性分析和开发方法 ...................................................................... - 2 -

2.1 系统调研................................................................................................................ - 2 -

2.2 系统的总体目标.................................................................................................... - 2 -

2.3 技术可行性............................................................................................................ - 2 -

2.4 经济可行性分析.................................................................................................... - 3 -

2.5 系统环境................................................................................................................ - 3 -

2.5.1 系统配置..................................................................................................... - 4 -

2.5.2 系统命名规则............................................................................................. - 4 -

2.6 开发方法................................................................................................................ - 4 -第三章系统分析............................................................................................................ - 6 -

3.1 需求分析................................................................................................................ - 6 -

3.1.1 系统功能要求............................................................................................. - 6 -

3.2 系统流程图..................................................................................................... - 6 -

3.3 系统数据库设计.................................................................................................... - 7 -

3.3.1 数据表概要说明......................................................................................... - 8 -

3.3.2 系统E-R图............................................................................................... - 8 -第四章概要设计.......................................................................................................... - 10 -

4.1 设计原则.............................................................................................................. - 10 -

4.2 功能模块概要...................................................................................................... - 10 -第五章详细设计.......................................................................................................... - 12 -

5.1 数据库设计.......................................................................................................... - 12 -

5.1.1 数据表设计............................................................................................... - 12 -

5.1.2 数据库完整性........................................................................................... - 14 -

5.1.3 关系数据库的规范化............................................................................... - 14 -

5.2 系统模块设计...................................................................................................... - 14 -

5.2.1 用户注册/登录模块设计......................................................................... - 14 -

5.2.2 在线考试模块设计................................................................................... - 16 -

5.2.3 密码找回模块设计................................................................................... - 17 -

5.2.4 管理员信息管理模块设计....................................................................... - 18 -

5.2.5 课程信息管理模块设计........................................................................... - 19 -

5.2.6套题信息管理模块设计............................................................................ - 21 -

5.2.7 题目信息管理模块设计........................................................................... - 22 -

5.2.8 考生信息管理模块................................................................................... - 23 -

5.2.9 成绩管理模块设计................................................................................... - 24 -第六章系统实现.......................................................................................................... - 26 -

6.1 系统框架.............................................................................................................. - 26 -

6.2 构建系统框架...................................................................................................... - 26 -

6.2.1 struts-config.xml配置文件................................................................ - 27 -

6.2.2 web.xml配置文件.................................................................................... - 27 -

6.3 系统页面的实现.................................................................................................. - 28 -

6.3.1 考生页面................................................................................................... - 28 -

6.3.2 管理员页面............................................................................................... - 33 -

6.4 业务逻辑层.......................................................................................................... - 37 -

6.4.1 模型........................................................................................................... - 37 -

6.4.2 控制........................................................................................................... - 39 -

6.5 持久层.................................................................................................................. - 40 -

6.5.1 DAO类描述................................................................................................ - 40 -

6.5.2 数据库连接............................................................................................... - 42 -

6.5.3 数据库操作............................................................................................... - 42 -第七章系统测试.......................................................................................................... - 44 -

7.1 系统测试技术...................................................................................................... - 44 -

7.2 模块测试.............................................................................................................. - 44 -第八章总结 ................................................................................................................... - 46 -参考文献 ................................................................................................................... - 47 -致谢 ................................................................................................................... - 48 -

第一章前言

Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,在线考试系统应运而生,它解决了传统考试过程的工作量大、效率低、反馈周期长、反馈能力弱、资源浪费等缺陷。在线考试系统是未来考试的发展趋势。

1.1 传统考试方式

传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。对于一些课程来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。和在线考试相比效率低下,资源浪费严重。

1.2 在线考试方式

在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于B/S方式的题库管理和在线考试系统与无纸化办公一样已成为大势所趋,越来越成为学校的好帮手。在线考试的优越性体现在人力和物力两个方面,不但大幅度提高试卷生成效率和安全性,基于Web的在线考试系统还可以自动评阅,计分,成绩存档,有效地免资源的浪费,有利于环保,减少人员,减轻负担,提高效率。

1.3 系统的开发意义

多年来,无论是从硬件上还是从软件上一般学校都拥有了一定的基础条件,特别是高等院校已经具备相当完善的网络,所以在线考试系统的建设势在必行。在线考试系统主要是为广大学子及其老师提供一个方便的场所,让大家可以在线考试。给广大同学提供方便快捷的学习途径。

第二章系统可行性分析和开发方法

2.1 系统调研

目前学校传统的手工方式考试存在诸多弊病:一是工作量大,教师到处找试题、拼试卷、印刷、评分、算成绩,整个过程不仅工作量很大,而且效率不高,花费了教师大量的时间和精力;二是周期长,一次考试好多天后才能出结果。三是考试试题选择随意性大,不能全面地评测学生掌握程度。

所以,我们有必要开发这样一个考试系统,可以使教师将更多精力投入在收集试题上,考试时的生成考卷也将变得轻松。将烦琐的评卷工作交给计算机去做。大大降低教师的劳动强度,缩短考试周期,使考试更科学,节省资源,提高工作效率。

2.2 系统的总体目标

在线考试系统是传统考场的延伸,利用网络的方便快捷,随时随地的对学生进行考试,极大简化传统考试的过程。在线考试系统是本着经济,适用,便捷,高效的原则,为考试管理者和考生提供一个高效,便捷而又轻松的考试环境,满足教师工作轻松,学生考试方便需求。

2.3 技术可行性

现阶段,Java技术已经成熟,在Web应用开发有出色的表现,提供了良好的软硬件环境。我们掌握了JA V A语法、Struts框架流程以及数据库技术,在技术上实现在线考试系统的开发是可行的。

1.B/S模式简介

Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种改进,形成了三层结构,。

第一层是客户端,为用户提供直接的可视的服务;第二层是Web服务器,在这里完成用户的请求处理,然后通过中间件传递给数据库服务器。中间件是沟通Web服务器和数据库服务器的桥梁,即为数据库连接JDBC。第三层是数据库服务器和数据库。三层结构如图2.1所示。

B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。目前B/S模式下最好的选择—JA V A技术。

J2EE是Java2平台三个版本的其中之一,它巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性。J2EE体系结构架提供了中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求。通过J2EE所提供的统一开发平台,可以极大降低开发多层应用的费用和复杂度,并且能够提供对现有应用程序集成的强有力的支持,并且具有良好的向导支持打包特性和部署应用特性,支持添加目录功能,并对安全机制进行了增强,显著提高了性能。

2.4 经济可行性分析

在线考试系统中试卷的生成、在线考试和成绩的批阅等都可以在网上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的工作只是精心设计题目,维护题库,而不是组织考试,从而大大减轻了教师的负担和财政支出。

开发在线考试系统过程中,开发系统需要人力,物力支出约8万元。再加上其他花费,总支出约为10万元。以往学校组织一次考试,是在传统考试的局限性下,动则百人,少则几十名考务人员进行整个过程的组织与协调。就监考人员而言,每人每次每小时的考务费就为15元,以组织一次期末考试为例,整个学院需要的考务人员大概就需要五十多名,按每半年组织一次考试计算,消耗费用为15*50*2=1500元。与此同时,不需要进行大量的后期批卷审阅工作,节约了大量的人力、物力以及财力,折合约1000元。总计一年一个学院可节省2500元,一个学校20个学院计算,可以节省5万元。两年之后就可以收回成本,其经济性是相当可观的。

2.5 系统环境

本系统采用B/S模式,使用J2EE平台的JSP+Struts来实施是能够达到预期目标,而且是很理想的选择。

2.5.1 系统配置

1.软件环境:

操作系统:Windows XP SP3;

数据库:SQL Server 2000;

开发工具包:JDK Version 1.6.0;

开发工具:MyEclipse 6.0.1实施J2EE平台;

JSP服务器:MyEclipse Tomcat;

浏览器:IE 6.0及以上版本;

2.硬件配置:

CPU:AMD Athlon(tm) 64 Processor 3200+;

内存:256MB以上;

硬盘:WDC WD 1600JS-22NCB1

主板:SUPoX AT690

显示器:最佳分辨率1024像素*768像素;

2.5.2 系统命名规则

1.数据表:数据表以字母“tb”+下划线“_”+“数据表相关的英文单词缩写”命

名。

2.字段:字段采用英文单词或拼音缩写命名。

3.类名和方法名:类名必须是合法的Java标识符,一般采用类的相关英文单词或

拼音缩写,并将首字母大写。类中的方法名均采用与之相关的英文单词或拼音

缩写,一般首字母小写,如果方法名由两个或两个以上单词组成,则除第一个

单词以外的其他的单词的首字母均大写。

4.变量名:变量名一般采用与之相关的英文单词或拼音缩写,并且均为小写字母。

5.源码包命名:源码按照实现功能和操作的不同,分为Form包、Action包、DAO

包和Util包。

6.页面命名:JSP页面均以小写字母开头,使用能简要描述该页面功能的英文单词

或者缩写拼合而成。除了首字母小写,其余单词的首字母均大写。

2.6 开发方法

首先对系统做可行性分析和需求分析,得出所需的对象实体及属性,然后用SQL 2000完成数据库的设计。其次用MyEclipse搭建J2EE环境,实现Struts框架,完成配置。最后实现Struts框架的各层结构,包括业务逻辑层的Action子类以及ActionForm 子类、持久层的DAO类以及表示层考生和管理员的JSP页面。其中JSP页面使用DreamWaver完成。整个开发路径如图2.2所示。

图2.2 开发路径图

第三章系统分析

3.1 需求分析

在线考试系统要能模拟传统考试模式的流程,包括教师搜集考题,出卷,考生答题,考生交卷和系统阅卷等。因此,本系统主要面向两类用户:考生和管理员老师。考生可以注册、登录系统,进行考试,查看成绩和修改资料。管理员老师能够登录系统,管理管理员信息,管理考试课程,管理考生信息,管理套题信息,管理题目信息和管理成绩信息等。

3.1.1 系统功能要求

1.注册/登录:考生和管理员老师需要账户和密码才能登录系统。考生帐号需要自己注册。管理员老师帐号由系统管理员设定。

2.资料修改:考生和管理员可以修改个人资料,如密码等。

3.在线考试:考生选择考试科目后参加考试。题型有单选题和多选题两种。进入考试后系统开始计时,用户可以提前交卷,或者考试时间到系统自动提交。然后由系统自动判分,记录成绩。

4.成绩查询:考生可以查询自己的成绩。管理员老师可以按条件查询考生成绩,如,按考试科目查询或者按考试时间查询等。

5.课程管理:管理员老师在后台管理考试的课程信息。可以添加新的课程或者删除旧的课程。

6.套题管理:每门课程考试必须要有多套试卷,如A卷和B卷。这样考生考试时就可以由系统随机选套题,使考试更加公平合理。

7.题目管理:管理员为每门科目的每套试卷添加新的题目。题目在添加时就选定了所属课程和所属套题,以后不能修改。管理员可以修改题目的内容或者删除旧的题目。

8.管理员信息:系统管理员可以添加和删除其余管理员。

3.2 系统流程图

系统面向考生和管理员两类用户。

1.考生流程:若考生还未注册,则选择注册用户。若已注册,则登录系统,选择在线考试、查询成绩或者修改资料等。

2.管理员流程:管理员登录系统,可以选择管理元信息管理、考生信息管理、考生信息管理、题库管理、课程管理、套题管理或修改个人资料等。

整个系统流程,如图3.1所示。

图 3.1 系统流程图

3.3 系统数据库设计

在线考生系统用户包括考生和管理员,因此分别需要一个数据表(Student 和Manager)来保存用户信息。考试的题目分为单选题和多选题,可以放在同一个题目数据表(Questions)中。考试课程信息需要一个数据表(Lesson)。每门课程需要设置几

份套题,套题信息保存在一张表(TaoTi)里。考生成绩需要一张表(StuResult)。若实体间关系为1:1,则将某一实体的主键放到另一实体中作为外键。若实体关系为1:N,则将实体1的主键放到实体N中作为外键。若实体关系为M:N,则需要一张新表来存储实体间的关系。

3.3.1 数据表概要说明

根据系统分析,数据库需要以下几张表,如图3.2所示。

图 3.2 数据表说明

3.3.2 系统E-R图

有了数据表概要设计之后,我们可以构建出系统E-R图,如图3.3所示。

图 3.3 系统E-R图

第四章概要设计

4.1 设计原则

概要设计是为了将系统需求分析转换为未来系统的设计,逐步开发出完整的系统构架,使设计适合于实施的环境,更好的提高系统性能而进行设计。在系统概要设计过程中,依照软件工程的观念,应该按照以下原则:

1.各模块设计,要秉承相对独立的设计要求。尽量减少模块之间的相互依赖关系,降低耦合。

2.整体设计中注意构架的合理性。

3.实现中使用户尽量少的直接访问关键数据库,要做到用户不能直接访问关键数据库。

4.Web页面尽量少使用图片,加快访问速度,减少流量。

5.页面多使用CSS和JavaScript技术,使系统操作更加友好。

6.更好的用户体验,界面要简洁,美观大方以及操作简单。

4.2 功能模块概要

考生功能模块:在线考试;成绩查询;修改资料;退出系统。考生功能模块如图4.1所示。

图 4.1 考生功能模块

1.用户(考生和管理员)登录模块:管理员账户由系统管理员(admin)添加或删除;考生账户需要先注册。凭用户名和密码才能登入系统进行下一步操作。

2.密码找回模块:已注册考生可能会忘记自己的密码,通过该模块可以找回。考生在注册的时候都设置了密码找回问题和答案。考生输入准考证号,正确回答密保问题后,就能找回密码。

3.在线考试模块:首先管理员要添加考试课程,为考试课程添加考试的套题名称,然后分别为各门套题添加考试题目。课程有了套题后才能进行考试。考生登录后,阅读考试注意事项,然后选择考试科目进行考试。

4.考试时间和考题数目可以在编程时设定。试卷总分为100分。考生开始考试后,系统会随机选择一份套题。考生做完后可以自己提交试卷,或者考试时间到,系统自动提交试卷。试卷提交后,系统后台会马上评卷并得出分数。

管理员功能模块:管理员信息管理;考生信息管理;成绩信息管理;课程信息管理;套题信息管理;题目信息管理等。管理员功能模块如图4.2所示。

图 4.2 管理员功能模块

1.管理员信息管理模块:系统设有一位系统管理员(admin),该管理员可以添加新的管理员,或者删除已有的管理员。

2.考生信息管理模块:管理员老师可以查看或删除考生信息。

3.成绩管理模块:考生可以查询到自己的成绩。而管理员老师可以查询所有考生的成绩,并可以按考生准考证号、考试科目、考试时间模糊查询或删除成绩。

4.课程信息管理模块:管理员老师可以添加修改或删除考试课程信息。

5.题目信息管理:管理员老师可以添加、修改或删除考试题目。添加的题目属于所有的题目都保存在一张表中。

6.套题信息管理模块:每门科目需要提供几套不同的试卷,如A卷和B卷,这样考试时每个考生会随机领到不同的试卷,增加考试的公平性。

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