考试管理及成绩查询模块的设计与开发.docx
- 文档编号:4825418
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:35
- 大小:421.29KB
考试管理及成绩查询模块的设计与开发.docx
《考试管理及成绩查询模块的设计与开发.docx》由会员分享,可在线阅读,更多相关《考试管理及成绩查询模块的设计与开发.docx(35页珍藏版)》请在冰点文库上搜索。
考试管理及成绩查询模块的设计与开发
考试管理及成绩查询模块的设计与开发
摘要
本文所涉及的系统是根据现代教育的需求所设计的一个在线考试系统。
主要是基于Struts+Spring+Hibernate作为平台搭建的框架开发的一套软件。
本次设计作为Smart项目的一个组成部分,主要设计和开发了其中的两个主要模块,考试管理及成绩查询模块。
论文首先介绍了背景和相关的理论知识。
其次列出了根据需求而提出的设计方案,然后详细阐述了系统设计与实现过程。
包括数据库设计,新建考试信息管理,新建阅卷组管理和成绩查询。
通过本系统的应用,可以满足目前教育模式的评估需求,对教育评估的发展起到一定的促进作用。
随着系统的不断深开发,会有更好,更完善的软件系统应用到远程教育当中去,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
关键词:
Struts;Spring;Hibernate;考试管理;成绩查询;评估
目录
论文总页数:
26页
1引言1
1.1课题背景1
1.2国内现状1
1.3本课题研究的意义1
2相关理论知识及其技术2
2.1系统开发环境与技术2
2.2架构介绍2
2.2.1Struts2
2.2.2spring简介3
2.2.3Hibernate简介5
2.2.4SQLServer2000简介5
2.2.5JSP组件6
2.2.6Tomcat7
3需求分析和设计方案8
3.1考试管理8
3.1.1考试管理需求分析8
3.1.2考试管理设计方案8
3.2成绩查询9
3.2.1成绩查询模块需求分析9
3.2.2成绩查询模块设计方案9
4系统设计与实现9
4.1数据库设计9
4.1.1考试管理数据库ER图及其数据库表9
4.1.2阅卷组数据库ER图及其数据库表15
4.1.3成绩查询模块数据库ER图及其数据库表16
4.2系统实现18
4.2.1考试管理模块实现18
4.2.2成绩查询模块实现22
5测试23
5.1测试环境23
5.2测试结果23
结论23
参考文献24
致谢25
声明26
商业源代码,全套计算机毕业设计免费下载
更多全套设计联系QQ:
1042897696
最新设计大全
1引言
1.1课题背景
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,在线考试软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到在线考试当中去,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
本文以Internet为平台,研究了基于Web考试系统――考试管理及成绩查询模块的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。
重点阐述了考试管理及成绩查询模块的设计。
1.2国内现状
在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
1.3本课题研究的意义
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
只要形成一套成熟的题库和生成试卷的自动化就可以实现考试的自动化,可以使教师方便的出卷,为教师提供很大的方便,这样一来,教师所要做的只是精心设计题目、维护题库,智能出卷就可以了的,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
2相关理论知识及其技术
2.1系统开发环境与技术
●集成开发环境:
JDK5.0+Eclipse3.1+MyEclipse4.0
●开发语言:
Java、SQL
2.2架构介绍
本系统采用struts+spring管理的hibernate作为平台框架搭建的。
2.2.1Struts
1、MVC设计模式
MVC是一种设计模式,他强制性的把应用程序的输入、处理和输出分开。
MVC把应用程序分成三个核心模块:
模型、视图和控制器,他们分别担负不同的任务。
下图显示了这几个模块各自的功能以及它们的相互关系。
图2MVC设计模式
2、Struts概述
Struts最早是作为ApacheJakarta项目的组成部分问世运做。
项目的创立者希望通过对该项目的研究、改进,提高JavaServerPages(JSPs)、Servlet、标签库以及面向对象的技术水准。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
它的目的是为了帮助开发者减少在运用MVC设计模型来开发Web应用的时间。
开发者仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
如果想混合使用Servlet和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
优点:
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,估计是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
缺点:
Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱初学者网页编写的习惯,但是,当习惯了它时,会觉得它真的很棒。
Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
Struts已逐步越来越多运用于商业软件。
虽然它现在还有不少缺点,但它是一种非常优秀的J2EEMVC实现方式,如果系统准备采用J2EEMVC架构,那么,不妨考虑一下Struts。
2.2.2spring简介
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring框架由7个定义良好的模块组成。
Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,如图3所示。
图3Spring框架
组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。
每个模块的功能如下:
∙核心容器:
核心容器提供Spring框架的基本功能。
核心容器的主要组件是BeanFactory,它是工厂模式的实现。
BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
∙Spring上下文:
Spring上下文是一个配置文件,向Spring框架提供上下文信息。
Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
∙SpringAOP:
通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。
所以,可以很容易地使Spring框架管理的任何对象支持AOP。
SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。
通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
∙SpringDAO:
JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。
SpringDAO的面向JDBC的异常遵从通用的DAO异常层次结构。
∙SpringORM:
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQLMap。
所有这些都遵从Spring的通用事务和DAO异常层次结构。
∙SpringWeb模块:
Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。
所以,Spring框架支持与JakartaStruts的集成。
Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
∙SpringMVC框架:
MVC框架是一个全功能的构建Web应用程序的MVC实现。
通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。
Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。
Spring的核心要点是:
支持不绑定到特定J2EE服务的可重用业务和数据访问对象。
毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用。
2.2.3Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
2.2.4SQLServer2000简介
Server是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。
于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServerWindowsNT版本。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。
SQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。
事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以:
●定义SQLServer实例组。
●为每个已注册的服务器配置所有SQLServer选项。
●在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。
●在每个已注册的服务器上定义并执行所有SQLServer管理任务。
●通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处
理和脚本。
●唤醒调用为SQLServer定义的各种向导。
2.2.5JSP组件
在传统的HTML文件中加入JAVA程序片段和JSP标签,就构成了JSP网页。
JAVA程序片段可以操作数据库、重定向网页以及发送E-MAIL等,实现建立动态望站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给用户端的仅仅为输出结果。
JSP技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持Java,也可以访问JSP网页。
当JSP容器接受到WEB用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成JAVAServlet源文件,然后对其进行编译。
一般情况下,Servlet源文件的生成和编译仅在初次调用JSP时发生。
如果原始的JSP文件被更新了,JSP容器将检测所做的更新,在执行他之前重新生成Servlet并惊醒编译。
下图显示了JSP容器初次执行JSP的过程:
尽管JSP在本质上是Servlet,但这两者的创建方式不一样。
Servelet完全由java程序代码构成,擅长于流程控制和事务处理,而通过Servlet来生成动态网页很不直观;JSP由HTML代码和JSP标签构成可以方便的编写动态网页。
因此在实际应用中,采用Servlet来控制业务流程,而采用JSP来生成动态网页。
在Struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。
图4JSP容器初次执行JSP的过程
2.2.6Tomcat
Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
Tomcat最新版本是5.0x。
Tomcat5.0x中采用了新的Servlet容器:
Catalina,完整的实现了Servlet2.3和Jsp1.2规范。
Tomcat提供了各种平台的版本供下载,可以从http:
//jakarta.apache.org上下载其源代码版或者二进制版。
由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
这个包中的文件按一定目录结构来组织:
通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。
通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。
通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。
你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。
编译以后,访问将会很快。
另外Tomcat也提供了一个应用:
manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。
当然本地也可以。
在Tomcat5中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。
Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。
还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。
说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。
应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。
而Tomcat则功能没有那么强大,它不提供EJB等支持。
但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。
既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?
事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。
而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。
我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make。
你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。
事实上,在很多应用服务器的发布中都包含了Ant。
另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。
3需求分析和设计方案
3.1考试管理
3.1.1考试管理需求分析
考试管理是考试前准备非常重要的一部分,新建一门考试它基于前面的公共资源设置,出卷等模块,把与考试信息相关的东西综合起来,放到一张表中,生成一门信息完整的考试。
并且设置考试开始和结束时间,还有发卷时间,每门考试关联到哪张试卷,为后面的考试模块做了铺垫。
阅卷组设置是因为试卷中有主观题和客观题,客观题可以自动阅卷,但是主观题就要老师阅卷,这时候,阅卷组把需要阅卷的试卷和老师组成的阅卷组关联起来,实现人工阅卷。
3.1.2考试管理设计方案
新建一门考试:
首先在第一个页面显示已经存在的考试,点添加后,进入到新建考试页面,在页面的上面可以选择考试类型和试卷类型,紧接着可以选择学年和学期,这样设计是为了确定每次考试的唯一性,下面可以进行省、市、区县、学校、年级、科目的选择,这些字段在后台通过字符串相加,可以得到考试名称,和学年,学期一起确定每次考试的唯一性。
还可以进行适用班级的选择,因为考虑到可能存在文科和理科班虽然有的科目一样,但是题的难度不一样,所以每门考试都设置了适用班级。
考试开始时间和结束时间的作用是在后台调用公共的方法,两个时间的差值作为考试时长。
发卷时间比考试开始时间要提前5-10分钟,是为了让考生有充分的时间浏览一下整套试卷,然后点保存,一门考试就建立好了。
阅卷组:
首先在第一个页面显示的是已经关联好了的考试和阅卷组,点击添加阅卷组可以添加一个阅卷组,然后可以设置需要进行阅卷的考试和阅卷组进行关联。
3.2成绩查询
3.2.1成绩查询模块需求分析
既然是考试系统,肯定涉及到成绩,成绩查询模块就是方便学生对自己已经考过的科目进行一下自我评定,这里可以看到自己所有的历史试卷,并且可以知道每道题的得分情况,使考生对自己的情况有一个大致的了解,针对自己的弱项进行复习,这样可以做到有的放矢。
3.2.2成绩查询模块设计方案
首先确定用户的登陆身份,如果是学生登陆的话,展现给学生的是自己所有的历史考试科目,成绩,以及使用的哪一套试卷,当点击该试卷时,弹出来的是该整套试卷,并且可以看到自己每道题的得分情况,使考生对自己有一个整体的了解,并在以后的考试中有一个努力的方向。
4系统设计与实现
4.1数据库设计
4.1.1考试管理数据库ER图及其数据库表
商业源代码,全套计算机毕业设计免费下载
更多全套设计联系QQ:
1042897696
最新设计大全
图5考试管理模块的数据库ER图(学校相关)
图6考试管理模块的数据库ER图(考试相关)
表1省级名称表:
smart_province
字段名
类型
说明
约束
备注
province_id
bigint
标志
Notnull
province_name
Varchar(50)
省名
Notnull
remark
Varchar(500)
备注
表2市级名称表:
smart_city
字段名
类型
说明
约束
备注
city_id
Bigint
标志
Notnull
city_name
Varchar(50)
城市名
Notnull
refer_province
Bigint
相关省
Notnull
连接smart_province
remark
Varchar(500)
表3县级名称表:
smart_county
字段名
类型
说明
约束
备注
county_id
Bigint
标志
Notnull
county_name
Varchar(50)
县名
Notnull
refer_province
Bigint
相关省
Notnull
连接smart_province
refer_city
Bigint
相关城市
Notnull
连接smart_city
remark
Varchar(500)
表4学校名称表:
smart_school
字段名
类型
说明
约束
备注
school_id
Bigint
标志
Notnull
school_province
Bigint
相关省
连接smart_province
school_city
Bigint
相关城市
连接smart_city
school_county
Bigint
相关县
连接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 管理 成绩 查询 模块 设计 开发