高校教学管理系统的设计与实现在线考试管理模块.docx
《高校教学管理系统的设计与实现在线考试管理模块.docx》由会员分享,可在线阅读,更多相关《高校教学管理系统的设计与实现在线考试管理模块.docx(32页珍藏版)》请在冰豆网上搜索。
![高校教学管理系统的设计与实现在线考试管理模块.docx](https://file1.bdocx.com/fileroot1/2023-2/21/ad820d20-d038-4455-b4a2-82a5956e19dd/ad820d20-d038-4455-b4a2-82a5956e19dd1.gif)
高校教学管理系统的设计与实现在线考试管理模块
河北农业大学
本科毕业论文(设计)
题目:
高校教学管理系统的设计与实现-在线考试管理模块
摘要
在线考试模块指在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考试的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。
通过系统对考生试卷自动进行评测,以便清晰、准确、明了的反映学生成绩的情况,实现判卷“无纸化”。
系统主要以J2EE作为开发基础,主要使用了struts和hibernate,用myEclipse作为开发工具,MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具。
实现了在线考试系统模块。
实现一个基于web技术的在线考试系统故而。
基本实现了网上考试系统应有的主要功能模块,包括登录,管理和维护,个人信息的查询、修改,考试管理,套题管理,成绩管理。
该系统界面简单、操作方便,容易维护。
主要开发系统的后台管理系统-Java在线考试管理子系统,它包括老师管理、考生管理、在线制作试卷、学生考试的设置、试卷审批等功能。
关键词:
在线考试;J2EE;struts2.0;hibernate3
Abstract
On-lineexaminationmoduleinthepaperlessexaminationmanagement,forsometestscanbedoneviatheInternetorLAN,convenientschoolexammanagement,alsoconvenientforstudents,especiallyfortheexamineewidedistribution,concentrationofdistanceeducation.Automaticallybythesystemoftestpaperevaluation,inordertoclear,accurateandclearreflectionofstudentachievement,realizere-mark"paperless".
SystemismainlybasedonthedevelopmentoftheJ2EE,mainlyUSESthestrutsandhibernate,usemyEclipseasdevelopmenttools,MYSQLasthedatabase,toMacromediaDreamweaverasinterfacebeautificationtools.Hasrealizedtheonlineexaminationsystemmodule.
Implementaon-lineexaminationsystembasedonwebtechnologyand.Basicimplementation,themainfunctionmodulesofonlineexaminationsystem,includinglogin,managementandmaintenance,informationquery,modify,examinationmanagement,problemmanagement,performancemanagement.Thesysteminterfaceissimpleandconvenientoperation,easytomaintain.Themaindevelopmentsystembackgroundmanagementsystem-Javaonlineexaminationmanagementsubsystem,itincludestheteachermanagement,studentsmanagement,onlineexaminationpapers,settingofstudentsexamination,theexaminationpaperforexaminationandapproval,andotherfunctions.
Keywords:
OnlineExamination;J2EE;struts2.0;hibernate3
1概述
1.1开发背景
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。
其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。
在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代化考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户[1]。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。
目前,网络应用软件运行的模式主要有二类:
Client/server模式,Browser/Web模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
网络考试系统具有降低考试成本,解决繁重的考务工作的优点[2]。
它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。
实现无纸化考试,大大提高了工作效率。
目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。
一个成功的基于WEB的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。
但一个真正的智能化的基于WEB的考试系统的实现—个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被测学科专家和精通考试理论和命题的专家三者的合作。
因而对于有极大市场的社会认证考试,必然会走上专业化的道路。
1.2设计目的及内容
1.2.1设计目的
高校教学管理系统在线考试管理模块即对考生考试的管理。
在线考试系统主要针对于高校教学对学生考试的管理,它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。
实现无纸化考试,大大提高了工作效率,老师即是对试题的一系列的操作和对学生的管理。
学生在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
1.2.2设计内容
高校教学管理系统在线考试管理模块,主要是设计学生和老师两个不同身份的权限操作实现不同的功能。
学生主要通过页面进入系统进行考试,查看考试结果,查看试题解析。
老师主要是对试题的管理,有添加、修改、删除试题的权限,查看学生成绩及基本信息等操作。
1.3技术概述
1.3.1B/S模式简介
B/S(浏览器/服务器模式)是随着Internet结束的兴起,对C/S结构的一种改进。
在这个结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端直需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。
这种结构更成为当今应用软件的首选体系结构[3]。
我选择B/S架构的操作模式,这样可以方便学生的考试和管理员的对试题题库的管理,使得用户无须安装客户端软件,只要打开浏览器即可登录系统进行操作。
随着网络规模的日益扩大,应用程序的复杂程度不断提高,传统的数据库应用架构已经不能胜任。
为了充分利用网络资源,越来越多的信息需要在www(WorldWideWeb)上发布,实现信息最大程度的共享。
Browser/Server结构伴随着Internet 的发展而很快地发展起来。
Browser/Server体系结构是一种三层结构。
第一层,浏览器是表示层,完成用户接口功能。
在客户端向URL(Uniform Resource Locator)指定的Web 服务器提出服务器请求,Web 服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上。
第二层,Web服务器是功能层,完成客户的应用功能。
即Web服务器接受客户请求,以CGI或ASP与数据库连接,进行申请处理,而后数据库结果返回Web 服务器,再传至客户端。
第三层,数据库服务器是数据层。
数据库服务器应客户请求独立地进行各种处理。
Browser/Server系统中的Browser作为一种通用的浏览器,一般没有任何应用程序;Browser/Server系统中的中间层是B/S 结构中相当关键的部分,中间层在Browser/Server系统中充当着双重身份:
从Browser的角度看,它是WebServer,而从DBServer的角度看,它是一个功能丰富的Client[4]。
1.3.2MySQL简介
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
MySQL是一种关系型数据库。
此种数据库采用数据分类表格化的架构,将相关的数据组成表格,表格和表格之间可以有关联性,因此称为关系型数据库。
系统管理员可透过应用程序进入服务器,更改数据型态,管理及处理服务器资源。
MySQL也是一种具备延展性的数据库(scalable database),亦即MySQL可以支持多位使用者同时进入数据库中处理大量的数据。
1.3.3MVC模式简介
MVC[5]模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。
MVC应用程序总是由这三个部分组成。
Event(事件)导致Controller改变Model或View,或者同时改变两者。
只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。
类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
MVC设计思想:
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
MVC的优点:
将视图展示和应用逻辑清晰的分离开来,降低了模型和视图之间的耦合性,使得系统设计时具有更高的灵活性。
首先,最重要的是应该有多个视图对应一个模型的能力。
在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。
按MVC设计模式,一个订单模型以及多个视图即可解决问题。
这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。
其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
1.3.4hibernate模式简介
Hibernate[6]是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
如下图:
如下图1-1,hibernate功能结构图。
图1-1hibernate功能结构图
主要特点:
Hibernate的核心接口一共有6个,分别为:
Session、SessionFactory、Transaction、Query、Criteria和Configuration。
这6个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。
)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
SessionFactory[7]接口 SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
1.4硬件和软件要求
1.4.1硬件要求
CPU:
Inter(R)Core(TM)2DuoCPU2.10GHz
HDD:
300G
RAM:
2.00GB
1.4.2软件要求
操作系统:
WindowsXP/Windows7。
数据库:
MySQL。
开发工具:
Myecplise9.0。
辅助开发工具:
DreamweaverCS3。
1.5基本环境
以Java语言为基本开发语言,通过运用集成开发环境,Tomcat7.4服务器myEcplise(9.0)[8]等相关知识,利用Java语言的面向对象的特性及MVC设计思想,设计一个高校教学管理系统实现考生在线考试管理功能。
1.6系统开发命名规则
(1)项目中命名规则
项目中各个子项均以子项功能名称的英文组合,类名以对应的意思命名,组成的所有单词的首字母大写;类中的方法依据功能而定,方法命名首单词的首字母小写,其他单词首字母均大写;项目中的页面命名是项目名为前缀加上相应功能名。
(2)数据库命名规则
数据库名称与项目名称相同,数据库中表命名规则是表名称英文意思的单词或多个单词的组合,单词首个字母大写;表中字段名是相应字段的英文单词或多个单词的组合,单词首字母大写。
2系统需求分析
2.1可行性分析
可行性分析[9]是在系统调查的基础上,针对新系统的开发是否具有必要性和可行性,对新系统的开发从技术、经济、社会的方面进行可行性分析和研究,以避免投资失误,保证新系统的开发成功。
可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。
该系统的可行性分析包括如下几个内容:
(1)技术方面的可行性:
它主要分析技术条件是否顺利完成开发工作,软硬件是否满足开发者的需要等。
其中,软件方面在线考试需要的软件环境都已具备,数据库服务器方面则有MySQL数据库能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能,其灵活性、安全性、易用性为数据库编程提供了良好的条件。
(2)经济方面的可行性:
主要是对这项经济效益进行评价,本系统作为一个视讯的项目,无需开发经费并且这系统实施后可以显著提高考试效率,有助于学院实行网络管理化。
(3)操作方面的可行性:
目前,大学校园网络覆盖了教学区和学生区的主要建筑物,从而满足各学院、各职能部门、各直属单位上网要求,学校良好的网络设施为开发使用无纸化考试网络系统提供了坚实基础。
综上所述,此系统开发目标已经明确,在经济和技术等方面可行,并且投入少见效快。
2.1.1经济的可行性分析
无纸化考试系统题目的生成、试卷的提交、成绩的批阅等都可以在网上自动完成。
只要形成一套成熟的题库即可实现考试的自动化。
这样,教师所要做的工作只是精心设计题目、维修题库,而不是组织考试,从而大大减轻教师的负担,以减少了财政的支出,经济性是非常可观的。
2.1.2技术的可行性
现阶段,各个学校特别是各大高校的局域网已经相当的完备,正符合微软开发的MySQL使用环境,而Java与MySQL[10]数据库紧密结合,给应用程序的开发和使用提供了很好的软件和硬件环境。
因此,在技术上实现无纸化考试系统的可行性是可行的。
系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。
系统可用性也一定要高,尽量避免不可用几率的发生。
2.2系统ER图
E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
E-R方法:
是“实体-联系方法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效方法。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型(Entity):
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性(Attribute):
实体所具有的某一特性,一个实体可由若干个属性来刻画。
在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
如果是多值属性的话,在椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系(Relationship):
联系也称关系,信息世界中反映实体内部或实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形。
作E-R图的步骤:
1)确定所有的实体集合;2)选择实体集应该包含的属性;3)确定实体集之间的联系;4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合;5)确定联系的类型,在用线将表示联系的菱形联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。
3总体设计
3.1系统功能分析
系统功能分析是在系统开发的总体任务的基础上完成的。
在线考试系统需要完成的功能主要有:
学生进入在线考试系统后,就是进行答题。
试题应该是不固定的,要随机产生。
学生提交试卷或者考试时间到后,要能够看到考试的成绩,并且能够看到正确答案。
老师进入在线考试系统后,首先要做的就是录入试题,并且能够对已经录入的试题进行管理。
老师还可以看到学生的考试成绩和一个班级的考试成绩。
该系统集录入、维护、查询、审核和各种处理为一体,各种操作可以通过菜单进行,操作快捷、方便,性能高效、强大;使用易懂、易会,形象增强的数据处理,用户均可根据需要自行使用。
3.1.1用户登录模块
用户登陆,验证用户的信息是否合法,用户在使用之前必须登录。
用户只要输入用户名、密码就可以了。
若用户输入的以上两项与数据库中保存的相符,则表明用户登录成功,如果不符,则登录失败。
模块执行流程如图2-2所示。
3.1.2系统功能结构
根据需求分析,可以分析出在线考试系统中应该具有哪些功能。
首先整个在线考试系统中具有两种权限的用户,分别是学生和老师。
学生通过登录界面输入ID和密码进入考试系统后,完成如下功能:
1、学生进入系统直接进入考试页面,系统会直接从数据库中随机获取一张试卷进行考试。
其中有时间限制到达时间后直接退出系统。
答完题后可以直接点击提交答卷。
2、提交答卷之后可以直接查看到自己的考试成绩,其中包括姓名、班级、学号、得分。
3、点击查看答案,可以直接查看自己刚刚试卷的正确答案以及解析。
老师通过登录界面进入系统后,要完成的功能可以分为老师管理试题模块和老师管理学生模块。
在老师管理试题模块中,完成如下功能:
1、录入试题。
老师可以通过录入试题题目选项及解析,这样比较方便操作,增加题量。
这样的话学生考试中随机取试题时能够更加全面。
2、对已经录入的试题进行管理,包括查看试题,更新试题和删除试题。
通过查看试题看看老师录入的试题是否是正确的和完整等信息。
更新试题可以更改试题的答案和解析以及重新更新试题题目,可以避免试题长时间不更换。
删除试题,主要是在录入试题中有些不需要的试题可以直接点击删除试题,这样使得试题更加的准确。
3、查询已经录入的试题。
在老师管理学生模块中,完成如下功能:
4、查询指定学生的成绩。
通过输入学生的名字查看该学生的班级,成绩等信息。
5、查询某一个班级中所有学生的成绩。
系统功能结构图,如下图2-3,系统功能结构图。
3.2数据库设计
3.2.1数据库概要说明
在开发在线考试系统之前分析了本系统的数据量,由于本系统管理学生考试主要是包括了老师管理、学生管理、试题管理三个方面,要占用的数据空间不是特别大,所以,选择MYSQL数据库存储这些信息,数据库命名为db_examsystem,在数据库中创建3个数据表用于存储不同的信息。
3.2.2数据库设计
数据库(Database)是按照数据结构织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术场的发展,特别是二十世纪九十年代以后,数据管理再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
数据库有很多种类型,从最简单的存储有各种数据的表格