在线考试系统毕业设计的研究与实现Word下载.docx
《在线考试系统毕业设计的研究与实现Word下载.docx》由会员分享,可在线阅读,更多相关《在线考试系统毕业设计的研究与实现Word下载.docx(59页珍藏版)》请在冰豆网上搜索。
[8]XX百科,B/S结构[I],
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之上,后台的数据库为MicrosoftSQLServer2000。
系统实现的主要功能有在线考试、管理员信息管理、用户信息修改、题目信息管理、课程信息管理、成绩信息管理等。
系统采用B/S模式设计实现,可以灵活地部署在Internet上,使系统具有可扩展性和易用性,从而很大程度提高了考试工作的效率,优化了考试信息管理工作流程,使考试更加方便快捷。
关键字:
在线考试;
MIS系统;
J2EE平台;
B/S模式;
MVC模式;
SQL2000
ABSTRACT
Thenetworkingeducationrepresentsanimportantdirectionofdevelopmentandhasstartedtobecomeoneofthemainfeaturesofmoderneducation,andformedanewimpetustotheeducationinthefuture.WiththedevelopmentofInternet/Intranetandthewidepopularization,theestablishmentofdistanceeducationistobecomeoneofthedirectionofmoderneducationtechnology,andcertainlythetestonlineasasubsystemofdistanceeducationwillbecomeanimportantareaofresearch.
ThissystemwhichadoptingMyEclipsefordevelopmenttools,Javaforprogramminglanguage,basedonobject-orienteddesignmethod,accordingtothecharacteristicsofB/SstructureandadoptingJ2EErelatedtechnicalstratificationdesignideas,iseffectivetoseparatebusinesslogiclayerfromviewlayer,greatlyenhancingtheflexibilityofthissystem.System’sarchitectureisbasedonStrutswhichisawebapplicationframeworkofMVCpattern.ThedatabaseinbackgroudisMicrosoftSQLServer2000.Themainfunctionofthesystemincludestheadministratorinformationmanagement,thepersonnalinformationchanges,thequestioninformationmanagement,thecoursesinfomationmanagement,thescoreinformationmanagement.
ThissystemwhichbasedonB/Spatterndesigningandimplementation,couldbedeployedinInternetflexibly,sothatthesystemhasthescalabilityandeaseofuse,whichlargelyincreasedtheefficiencyofexaminationstooptimizethetestinformationmanagementworkflow,madetheexaminationmoreconvenient.
KeyWords:
OnlineExamination;
MISsystems;
J2EEplatform;
B/Spattern;
MVCpattern;
第一章前言
Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,在线考试系统应运而生,它解决了传统考试过程的工作量大、效率低、反馈周期长、反馈能力弱、资源浪费等缺陷。
在线考试系统是未来考试的发展趋势。
1.1传统考试方式
传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。
对于一些课程来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。
和在线考试相比效率低下,资源浪费严重。
1.2在线考试方式
在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于B/S方式的题库管理和在线考试系统与无纸化办公一样已成为大势所趋,越来越成为学校的好帮手。
在线考试的优越性体现在人力和物力两个方面,不但大幅度提高试卷生成效率和安全性,基于Web的在线考试系统还可以自动评阅,计分,成绩存档,有效地免资源的浪费,有利于环保,减少人员,减轻负担,提高效率。
1.3系统的开发意义
多年来,无论是从硬件上还是从软件上一般学校都拥有了一定的基础条件,特别是高等院校已经具备相当完善的网络,所以在线考试系统的建设势在必行。
在线考试系统主要是为广大学子及其老师提供一个方便的场所,让大家可以在线考试。
给广大同学提供方便快捷的学习途径。
第二章系统可行性分析和开发方法
2.1系统调研
目前学校传统的手工方式考试存在诸多弊病:
一是工作量大,教师到处找试题、拼试卷、印刷、评分、算成绩,整个过程不仅工作量很大,而且效率不高,花费了教师大量的时间和精力;
二是周期长,一次考试好多天后才能出结果。
三是考试试题选择随意性大,不能全面地评测学生掌握程度。
所以,我们有必要开发这样一个考试系统,可以使教师将更多精力投入在收集试题上,考试时的生成考卷也将变得轻松。
将烦琐的评卷工作交给计算机去做。
大大降低教师的劳动强度,缩短考试周期,使考试更科学,节省资源,提高工作效率。
2.2系统的总体目标
在线考试系统是传统考场的延伸,利用网络的方便快捷,随时随地的对学生进行考试,极大简化传统考试的过程。
在线考试系统是本着经济,适用,便捷,高效的原则,为考试管理者和考生提供一个高效,便捷而又轻松的考试环境,满足教师工作轻松,学生考试方便需求。
2.3技术可行性
现阶段,Java技术已经成熟,在Web应用开发有出色的表现,提供了良好的软硬件环境。
我们掌握了JAVA语法、Struts框架流程以及数据库技术,在技术上实现在线考试系统的开发是可行的。
1.B/S模式简介
Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种改进,形成了三层结构,。
第一层是客户端,为用户提供直接的可视的服务;
第二层是Web服务器,在这里完成用户的请求处理,然后通过中间件传递给数据库服务器。
中间件是沟通Web服务器和数据库服务器的桥梁,即为数据库连接JDBC。
第三层是数据库服务器和数据库。
三层结构如图2.1所示。
B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
这种结构更成为当今应用软件的首选体系结构。
目前B/S模式下最好的选择—JAVA技术。
图2.1B/S模式三层结构
2.J2EE简介
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.软件环境:
操作系统:
WindowsXPSP3;
数据库:
SQLServer2000;
开发工具包:
JDKVersion1.6.0;
开发工具:
MyEclipse6.0.1实施J2EE平台;
JSP服务器:
MyEclipseTomcat;
浏览器:
IE6.0及以上版本;
2.硬件配置:
CPU:
AMDAthlon(tm)64Processor3200+;
内存:
256MB以上;
硬盘:
WDCWD1600JS-22NCB1
主板:
SUPoXAT690
显示器:
最佳分辨率1024像素*768像素;
2.5.2系统命名规则
1.数据表:
数据表以字母“tb”+下划线“_”+“数据表相关的英文单词缩写”命名。
2.字段:
字段采用英文单词或拼音缩写命名。
3.类名和方法名:
类名必须是合法的Java标识符,一般采用类的相关英文单词或拼音缩写,并将首字母大写。
类中的方法名均采用与之相关的英文单词或拼音缩写,一般首字母小写,如果方法名由两个或两个以上单词组成,则除第一个单词以外的其他的单词的首字母均大写。
4.变量名:
变量名一般采用与之相关的英文单词或拼音缩写,并且均为小写字母。
5.源码包命名:
源码按照实现功能和操作的不同,分为Form包、Action包、DAO包和Util包。
6.页面命名:
JSP页面均以小写字母开头,使用能简要描述该页面功能的英文单词或者缩写拼合而成。
除了首字母小写,其余单词的首字母均大写。
2.6开发方法
首先对系统做可行性分析和需求分析,得出所需的对象实体及属性,然后用SQL2000完成数据库的设计。
其次用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卷,这样考试时每个考生会随机领到不同的试卷,增加考试的公平性。
第五章详细设计
5.1数据库设计
数据库在信息管理系统中占有非常重要的基础地位。
一个信息系统数据库结构设计的好坏,将直接影响到应用程序的效率以及实现的效果。
合理的数据库结构设计不仅仅能够提高数据操作的效率,还应该能够保证数据的完整性和一致性。
对于用户的需求,则具体体现在用户对各种信息的提供、保存、更新、修改和查询的相关操作,这就要求数据库结构能够充分地理解和满足各种信息的输出和输入的具体要求。
详尽地收集基础数据和数据结构并分析获得数据处理的流程,形成详尽的数据字典,为后续的具体设计工作和开发工作打下坚实的基础。
根据前面对各模块的概要分析与设计,对其进一步细化和理解,将得到本系统数据库的详细设计。
5.1.1数据表设计
根据E-R图转换成数据表的规则,可从图3.3的E-R图得出以下六张表。
课程表(tb_Lesson),保存课程信息,如表1所示。
表1:
课程表
字段名
数据类型
长度
主键/外键
默认值
描述
ID
bigint
8
PK
课程ID,自增长
name
varchar
60
课程名称
joinTime
datetime
getdate()
课程添加时间
考生信息表(tb_Student),保存考生信息,如表2所示。
表2:
考生信息表
16
考生ID,非自增长
20
考生姓名
pwd
密码
sex
2
性别
注册时间
question
50
密保问题
answer
密保答案
profession
30