Java网上考试系统设计_第1页
Java网上考试系统设计_第2页
Java网上考试系统设计_第3页
Java网上考试系统设计_第4页
Java网上考试系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java网上考试系统文档设计作者:日期:基于JAVA的在线考试系统学生:张艳慧指导教师:张志强【内容提要】在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统一JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图 等对在线管理子系统的设计过程进行详细的说明。全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五

2、部分。开发方案中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接及数据的备份与还原。【关键词】:JSP, JAVA , SQL Server 2000 数据库,B/S模式 TOC o 1-5 h z 刖 日11、开发方案2问题分析21。2项目目的3方案选择3开发框架技术 52、需求分析6任务述62。2功能需求概述 62。2运行环境83、系统设计 83。1指导思想8

3、系统结构图10数据库设计13系统模块部分设计 194、关键技术解决 274。1系统架构与数据库的连接 27框架技术的整合 284。3数据的备份与还原 305、结束语 31参考文献31ABSTRACT 33后记33现今,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证.如微软的MCSE Cisco的CCN有。我们国家的自考或是成考,以及各省市的各种考试,现在都在朝着信 息化的道路前进在走.我们相信在今后这一系列的考试将会走向网络化考试的。这样才是符合信 息发展的。所以我们考虑这是一个机会.我们要给不同的考试一个好的解决方案.这个方案在技术上来讲我们是采用B/S模式。 在Window

4、s/Linux平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。各考点模块通过网络获取题库,考点模块按照题库中的抽题策略,自动给每个考生生成一 份试卷,考生在线作答,考试Z果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系 统。学生可以随时、随地进行课程结业考试。现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试 ,人工阅卷,成绩评估和试卷分析。显然

5、,随着考试类 型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应 用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深 入到千家万户.人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴 趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了 适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用

6、,把老师从繁重的工作中解脱出来。1、开发方案1。1问题分析传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不 易统一集中安排考试,给校方和学生带来了众多的不便。而在线考试系统,正是信息化建设的 产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加 上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的 辅助手段.在当今信息时代,计算机技术与网

7、络技术越来越广地应用于各个领域,改变着人们的 学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于 现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段1.2项目目的在线考试系统的总体目标:、在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。、所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。、考试数据的存放和处理必须对考试保密,需要一定的安全性保障 .对考试的系统目标:、这个软件是分布式的, 这意味着只要有考试客户端可

8、以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。、题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。、考试的部分结果在考生考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由。对教师的系统目标:、提供一个功能全面的考核管理客户端,可以进行考试设计和安排。、通过管理客户端,教师可以进行考试的身份管理。、考生的考试结果可以被保存下来,供教师进行分析统计和察看。1.3方案选择、开发在线考试系统,提出以下解决方案选择SQL Server 2000 作为后台的数据库,选择 JAVA、JSP、Jav

9、aScript 、Html作为应用 程序开发工具,运用 Tomcat服务器技术,整个系统完全基于B/S (Browser/Server) 模式进行设计。、 JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet 应用程序开发。Java的产生与流行是当今Internet 发展的客观要求 Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、 性能很优异的、多线程的、动态的,特别适合在 Internet环境上开发的应用系统 .、Web应用程序开发环境一JSP技术JSP的全称是Java S

10、erver Pages ,它是SUNlB出的一种动态网页技术标准。它在传统的静态页 面文件(*。html, *.htm)中加入JAVA程序片段和 JSP标记,就卞成了 JSP页面。JSP具有以 下的优点:将业务层与表示层分离:使用 JSP技术,网络开发人员可充分使用HTML设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;组件的开发和使用很方便:如ASP的组件是由C+, VB等语言开发的,并需要注册才能使用;而JSP的组件是

11、用Java开发的,可以直接使用;一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once , Run everywhere 。、 Tomcat应用服务器目前支持 JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为 2001年度最具创新的 Java产品,可见其在业界的地位。Tomcat是一个免费的开源的 Serlvet容器,在Tomcat中,应用程序的部署很简单, 你只需将 你的WAR到Tomcat的webapp目录下,Tomcat会自动检测到这个文件 ,并将其解压。 你在浏览 器中访问这个

12、应用的 Jsp时,通常第一次会很慢,因为 Tomcat要将Jsp转化为Servlet文件, 然后编译。编译以后,访问将会很快。Tomcat也具有传统的 Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静 态Html的能力就不如 Apache。我们可以将 Tomcat和Apache集成到一块,让 Apache处理静态 Html ,而Tomcat处理Jsp和Servlet.Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。、 SQL server 2000Microsoft SQL Server2000协作的组件构成,能满足最大的

13、Microsoft SQL Server 2000是由Microsoft公司开发的,简称SQL Server ,由一系列相互Web站点和企业数据处理系统存储和分析数据的需求。具有如下特性:其数据库引擎提供完整的XML支持一个数据库引擎可以在不同的平台上使用其关系数据库引擎支持当今苛刻的数据处理环境所需的功能。一系列管理和开发工具,是其系统容易安装、部署、管理和使用有析取和分析汇总数据以进行联机分析处理(OLAP )的工具、 B/S开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S (client/ Server )模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的

14、开发都采用C/S ( client )模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:a)系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能 各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时 也要对客户端分别处理。b)在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。B/S模式带来了巨大的好处:a)开发成本及维护成本降低。由于 B/S架构管理软件只安装在服务器端( Server )上, 即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界

15、面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser )实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护.b)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS访问数据库,从而大大减少了数据直接暴露的风险。1。4开发框架技术对于框架技术,我们采用Struts+ Spring+Hibernate 的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用Java技术在web的应用。Stru

16、ts是应用比较广泛的一种表现层框架Struts 是一个为开发基于模型( Model)视图(View)控制器(Controller ) (MVC模式的 应用架构的开源框架,是利用 Servlet , JSP和custom tag library 构建 Web应用的一项非常 有用的技术。由于 Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框 架可以将JavaBeans从Jsp/Servlet 中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库( Taglib ) 实现,不同框架有不同自

17、己的标签库,Struts是应用比较广泛的一种表现层框架。Spring 服务层框架它也是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而, Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 ?目的:解决企业应用开发的复杂性?功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能?范围:任彳Java应用简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。H

18、ibernate通过持久层的框架将数据库存储从服务层中分离出来它是O/R Mapping的一种实现是目前在JAVA界使用非常广泛的O/R Mapping的一种实现,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方Hibernate 提供的一些向:直接自己编写 JDBC等SQL语句(如Ibatis); 使用O/R Mapping技术实现的 Hibernate 和JDO 技术;当然还有EJB中的实体B

19、ean技术。Hibernate 的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和基本类,就可以达到使用数据库的目的.例如,使用 Hibernate 的查询,可以直接返回包含某个值对象的列表(List ),而不必向传统的 JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate 提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式 ,但HQL在功能和使用方式上都非常接近于标准的SQL文档为个人收集整理,来源于网络个人收集整理,勿做商业用途2、需求分析2。1任务概述在线考试管理子系统主要

20、实现题库管理、在线制作试卷、在线控制考试、自动评分(客观题部分)、自动交卷、考生管理、成绩查询、试卷管理等功能,充分利用计算机科学与技术,改变传统的考试操作方式,实现无纸化考试的模式。2。2功能需求概述系统需要解决的主要问题我主要开发的是后台管理子系统,在此系统中我们主要对前台考试系统的显示信息进行管理和设置。我将子系统分为以下功能模块:题库管理:用于对单个试题的增厂删:改、查等基本雍护,还可对题库进行数据备份和数据还 原。我们针对不同题型、不同应用范围及不同科目对试题进行维护。试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组卷。还可对考生的基本 信息进行维护。考试管理:对考试分

21、配试卷,并对考试的基本信息进行维护。相当于人工安排考试的过程评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管理。成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统管理员、老师、教务处 人员、其他权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。系统应该具备的基本功能各模块需完成以下功能:题型维护:对试题的题型进行增、删、改、查 操作。在操作之后会自动刷新主页,以使信息更新。范围维护:对试题的应用范围进行增、删、改、查 操彳.在操作之后会自动刷新主页,以使信息更新。科目维护:对试题的科

22、目进行增、删、改、查 操作。在操作之后会自动刷新主页,以使信息更新。试题维护:对试题的基本信息进行增、删、改、查 操彳.在操作之后会自动刷新主页,以使信息更新。其他维护:对试题信息的批量查询,并可进行数据导出、数据备份、数据恢复。随机组卷:用户只需对试卷题型进行设置就可组卷的方式。人工组卷:可使用户选择试卷的题型中的试题的组卷方式。综合组卷:是随机组卷与人工组卷的混合组卷方式,即用户对某一类型的试题可进行选择,也可对试题不进行选择。试卷其他维护:对试卷信息的批量查询,对试题的数据备份与还原。分配评评卷人卷人评卷考试信息维护:对考试的时间、地点、监考人、考试用的试卷、试卷总分数及答卷总时间等考试

23、的基本要素进行设置。考生信息维护:对考试的学生的基本信息进行增、删、改、查操作,在操作之后会自动刷新主页,以使信息更新。分配评卷人:对考试所用试卷的客观题分配评卷人,并对评卷的基本信息进行维护。评卷人评卷:对分配试卷的评卷人可以在此进行评卷。考生成绩维护:对考试的考生成绩信息进行统计与汇总,对有权限的人可进行成绩的增、删、 改、查操作。成绩其他维护: 对考生成绩信息的批量查询,并可进行数据导出、数据备份、数据恢复用户基本信息维护:对使用本系统的用户进行维护,而用户的权限由权限管理进行维护,并分配给用户,使用户只能访问自己拥有的权限内。权限信息维护:对基本的权限进行维护,用户可自定义维护权限。用

24、户分配权限:对未分配权限的用户进行权限的分配,即对分配权限的增、删、改、查操作。信息基本维护:我们的信息除了有关考试的信息外,还有公告、新闻、留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、删、改、查 操作,而留言是由前台的用户(学生) 或游客录入的,我们要防止垃圾数据显示,即对留言有权更改等操作。2。2运行环境硬件需求:PIII/256M/10G及以上配置,要求为考试系统分配足够的数据库磁盘空间推荐配置:PIV 2G/512M/40G操作系统需求:Windows2000及以上操作系统(推荐),也可以使用 Sun Solaris等Linux 操作系统数据库软件需求:SQL Serv

25、er 2000 中文版数据库(推荐),也可以使用Oracle8i/Oracle 9i 数据库中间件软件需求:tomcat系列服务器3、系统设计3。1指导思想错误! 、B/S结构开发思想B/S ( Browser/Server)结构即浏览器和服务器结构。它是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWWI览器来实现,极少部分事务逻辑在前端(Browser )实现,但是主要事务逻辑在服务器端(Server )实现,形成所谓三层(3-tier )结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中 的不同地方。这三个部分分

26、别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写 以及访问数据库的程序.然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的成员组用不

27、同的语言来开发。因为各个层次的开发不会影响其他 层次,所以这种模型对于进一步开发软件是很方便的.这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过 Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比 如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/

28、S架构管理软件更是方便、快捷、高效 .本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络错误! 、系统工程的流程思想我们在系统开发过程中,采用软件工程的开发管理,在开发的过程中也遵循软件工程的思想,软件工程的主要环节有:人员管理(自己模拟)、项目管理(我的小组模拟)、可行性与需求分析、系统设计、程序设计、测试、维护等 ,如图i.i所示。Q, 3、面向对象机制的设计思想所有计算机均由两种元素组成:代码和数据。精确的说,有些程序是围绕着”什么正在发生”而编写,有些则是围绕”谁正在受影响”而编写的。第一种编程方式叫做”面向过程的模型,按这种模型编写的程序以一系列的线性步骤(代码)为特征

29、,可被理解为作用于数据的代码。如 C等过程化语言。第二种编程方式叫做”面向对象的模型,按这种模型编写的程序围绕着程序的数据(对象 )和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象、封装、继承和多态的好处。错误! 、代码分层思想由于采用B/S设计模式分层思想,同时根据软件工程的管理思想及系统分析的设计与分析的思想进行系统的开发,利用Java语言开发 Web应用程序,提供String+Hibernate+Spring框架对系统的程序代码结构进行分层。分层的策略如下:ser业务层 Spring Transac Hib

30、ernaBusiness,DAOi寸八公Hibern DataSoQueryLanguagDomain Model Business ObjectsStruts-Spring Hibernate 架构3。2系统结构图错误! 、本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下:步苜快!、系统的用例图如下:IK可操作系统的任何模块只能操作用户匕.5、管理中的部分操作,即只能维护X用户管理中自己的信息/ A 1总权限用户 # / -uses/“u/53-工H7.u-/、,J被分配了拥有1、用户管理的用户, 可维护其它用户 /的信息系统权限用户、系统部分模块类图:用户管理模块类图如下所示

31、:在线考试管理子系统-._试试题管理飞试卷管理es考试管理)rz 评卷管理、ses成绩管理;用户管理、宅V权限管理士工信息管理)11UserAction(from action)userbo : iBaseHibernateDAO uservo : AbstractTable +ioginuser()(): String +queryUserList()() : String +addUser()() : String +deleteUser()() : Single +modifyUser()() : String +getUserbo()() : IBaseHibernateDAO +se

32、tUserbo()()+getUservo()() : AbstractTable +setUservo()() 1AbstractTable-userId : String-userName : String-psw : String-purviewId : StringIUserBO(from business)+saveUser()() : int +updateUserINfo()() : int +deleteUserINfo()() : int +queryUserByID()() : AbstractTable +queryAllUser()() : AbstractTable

33、+queryUserByINfo() : AbstractTableUserDAO(from hibernate)+saveUser()() : int+updateUser()() : int+updateUserPurveiw()() : int+deleteUser()() : int+findByIdUser()() : AbstractTable+findByPropertyUser()() : AbstractTable+getUserId()() : String +setUserId()() +getPsw()() : String +setPsw()() +getUserNa

34、me()() : String +setUserName()() +getPurviewId()() : String +setPurviewId()()旧aseHibernateDAOlUserBO信息管理模块类图如下所示:InfoAction(from action)接口 IlnfoBO a接口 IBaseHibernateDAOTInfoTable(from bean)-infoId : String -infoType : Single -infoContent : String -infoInsertTime : String -infoImage : String -infoNam

35、e : String -extendi : String+getInfoId()() +setInfoId()() +getInfoType()() +setInfoType()() +getInfoContent()() +setInfoContent()() +getInfoInsertTime()() +setInfoInsertTime()() +getInfoImage()() +setInfoImage()() +getInfoName()() +setInfoName()() +getExtend1()() +setExtendi()()InfoDAO(from hibernat

36、e),infobo : IInfoBO(form business) ,infovo : InfoTable(from bean)InfoBO+queryMainInfo()() +queryInfoList()() +querySimpleInfo()() +toAdd_modifyInfoPage()() +addInfo()() +modifyInfo()() +deleteInfo()() +getInfovo()() +setInfovo()() +getInfobo()() +setInfobo()()+saveInfo()() : int-+updateInfo()() : in

37、t+deleteInfo()() : int+queryInfoByID()() : InfoTable(from bean)+queryInfoList()() : InfoTable(from bean)+saveInfo()() +updateInfo()() +deleteInfo()() +findByIdInfo()() +findByPropertyInfo()() +findByConditionInfo()()系统部分功能序列图 用户登录序列图:_1调用用户 登录动作系统操作序列图:系统业务逻辑businessBO3。3数据库设计错误! 、主要数据库表的介绍根据系统需要和考试

38、需要,设立了如下数据库表:试题类型表(questionType_table ):其中包括了试题的类型的基本信息,如类型名称、答题方式、说明信息等字段;录入时,我们将答题方式确定为大概几种类型:填空方式,选择方式,问答方式,判断方式,综合方式。 试题范围表(questionBound_table ):用于控制试题应用的范围,如同样的科目语文,在小学、 初中、高中、大学都有,由此我们设定了此表,此表中有范围名称、范围说明等基本信息;所属科目表(questionSubject_table ):用于录入试题相关的科目应用,它可以有不同的应用范 围。如上所述,我们只需录入一次的科目,就可方便我们在录入试

39、题时每次都录。各种题库表: 我们采用一种类型的题存储在一个表中,由此我们会有填空题表(question_blanc_table )、单选题表(question_selectone_table 多、多选题表(question_selectMany_tabel ) 一题多问表(question_askone_table 一、一题多问表 (question_askMany_table) 、判断题表 (question_judge_table )等试题表试卷表(exam_table):用于报存考试中试卷的基本信息,如出卷方式(有随机出卷、人工出卷、综合出卷)、试卷名称、试卷应用范围(与试题范围相对应)

40、、试卷所属科目(与试题科目相 对应)、试题标题级别、试题标题内容、试题总类型、试题个数、试题总ID等基本信息。学生表(student_table):用于保存学生的考试的用户名及登陆密码成绩表(grade_table ):用于存储学生的考试成绩。 评题表(appraiser_question_table ):对于主观题的答案我们须要评卷人(有权限的用户) 进行手工评卷,本表用来存储评卷人评卷的一些信息。答案表(student_answer_table):用于存储学生问答题的答案,如试卷 ID,学生ID及各种试题类型的答案字段。用户表(user_table):用于保存用户的登陆的基本信息及分配的权

41、限。权限表(purview_table):用于存储用户组织的的权限,通过分配操作模块的权限组织权限。信息表(info_table):用于保存除了试卷以外的信息,主要是为了学生与教师更好的沟通。有 信息类型(有公告、新闻、留言)、信息名称、信息内容等基本字段。游客表(testuser_table) :用于保存游客登陆或注册的基本信息。错误! 、数据库ER图数据库设计的逻辑实体关系图表示如下:(这里表示的只是部分表的逻辑实体关系.)student_answer_tablePKstudentAnswerlDFK1FK2selectoneAnswer selectmanyAnswer blankAns

42、wer oneAskAnswer manyAskAnswer combinationAnswer otherAnswer studentID testPaperIDpurview_tablePKpurviewIDpurviewNamepurviewExplainpurviewContentquestionBound_tablePK questionBoundIDquestionBoundName questionBoundExplain questionBoundOpenFlagFK1 userIDquestionSubject_tablestudent_tablePKstudentIDFK1

43、studentName studentNumbersstudentIDcard testPaperIDuser_tablePKuserIDFK1userName psw purviewIDgrade_tablePKgradeIDFK1FK2selectonePoint selectmanyPoint blankPoint oneAskPoint manyAskPoint combinationPoint otherPointstudentID testPaperIDtestPaper_tablePKtestPaperIDFK1FK2testPaperMakeMode testPaperName

44、 testPaperExplain testPaperType questionTypeID questionBoundID questionSubjectID captionlevel onecaptionContent twocaptionContent threecaptionContent onecaptionExam twocaptionExam threecaptionExam questionNumbers userID questionIDPKquestionSubjectIDFK1FK2questionSubjectName questionSubjectExplain qu

45、estionSubjectOpenFlagquestionBoundID userIDquestionType_tablePK questionTypelDquestionTypeName answerMannerquestionTypeExplain questionOpenFlagFK1 userIDPKquestionIDcontent explain difficultyDegree answerExplain answerContentFK1userIDFK2questionTypeIDFK3questionSubjectIDquestion_tabletestuser_tableP

46、KtestIDFK1testName testPsw testflag testPaperIDexam_tablePKexamIDFK1examName answerPaperTotalTime answerMakeTime tespPaperTotalPoint examBeginTime examExplain invigilate everyQuestionPoint examPosition testPaperIDappraiser_question_tablePKappraiserIDFK1FK2userID appraiserContent appraiserPoint testP

47、aperNumbers studentID questionID testPaperIDinfo_tablePKinfoIDinfoType infoContent infoInsertTime infoImage infoName extend10,3、主要数据库表的结构定义(数据词典):专昔误!、数据库表名的定义使用:重点字 _table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。错误!、NN表示not null不填表可为空、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更

48、 改数据库时需求的数据是可移植的错误! 、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。专昔误!、长度定义又数据类型决定:如字符串可选 8000以下,数字可在50位之间,字符只 允许一位。错误! 、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。主要表结构如下:物理名称:questionType_table表 名 称士革:受Jx J取数据类 型长度属性输入 方式描述备注试 题 类 型 表questionTyp

49、elD字符串50NN生成试题类型标 识符(主键)由系统自动生成questionTypeNa me字符串50NN输入试题类型名 称answerManner字符串50NN选择此种试题的 回答方式系统定义了 6种 常见的固定的答 题方式,如:单选 方式、多选方式、 填空方式、判断 方式、问答题方 式。questionTypeExp lain字符串5000输入试题类型的 说明questionOpenFla g字符串50NN选择是否公开标 志表示是自己使用 的类型还是每个 用户都可使用的 公共类型userID字符串50NN自动 族取用户ID外码备 注用于定义试题的类型,可以使用户以不问的数据类型名称来表

50、达自己的试题物理名称:questionBound_table表 名 称士革:受Jx J取数据类 型长度属性输入 方式描述备注试 题 范 围 表questionBoundID字符串50NN生成试题范围标 识符(主键)由系统自动生成questionBoundNa me字符串50NN输入试题范围名 称questionBoundEx plain字符串5000输入试题范围的 说明questionBoundO penFlag字符串50NN选择是否公开标 志表示是自己使用 的范围还是每个 用户都可使用的 公共类型userID字符串50NN自动 族取用户ID外码备 注用于定义试题的范围,可以使用户以不问的试题

51、范围名称来定义自己的试题物理名称:questionSubject_table表 名 称士革:受Jx J取数据类 型长度属性输入 方式描述备注questionSubjectI D字符串50NN生成试题科目标 识符(主键)由系统自动生成questionSubjectN ame字符串50NN输入试题科目名 称试 题questionSubjectE xplain字符串5000输入试题类型的 说明科questionSubjectO表示是自己使用目 表penFlag字符串50NN选择是否公开标 志的类型还是每个 用户都可使用的公小理questionBoundID字符串50NN选择试题范围ID外码1user

52、ID字符串50NN自动 族取用户ID外码2备 注用于定义试题的科目,可以使用户以/、同的试题科目名称来定义自己的试题物理名称:question_table表 名 称士革:受Jx J取数据类 型长度属性输入 方式描述备注试 题 表questionlD字符串50NN生成试题标识符(主键)由系统自动生成content字符串50NN输入试题内容根据不同类型的 答题方式进行输 入试题explain字符串5000输入试题说明difficultyDegree字符串50NN选择试题深度系统模认6种试 题深度:基础、简 单、中等、中级、 中难、难级、极 难。answerContent字符串50NN选择试题答案内

53、 容answerExplain字符串5000输入试题答案说 明userID字符串50NN自动 族取用户ID外码1questionTypeID字符串NN选择试题类型ID外码2questionSubjectI D字符串NN选择试题科目ID外码3备 注本试题表只是模拟了试题表的公共部分,实际是一种试题一张表,可由/、同用户录入。物理名称:testPaper_table表 名 称士革:受Jx J取数据类 型长度属性输入 方式描述备注试 卷 表testPaperID字符串50NN生成试卷标识符(主键)由系统自动生成testPaperMakeM ode字符串50NN输入试卷出题方 式系统设定有二种 出题方

54、式:随机 组卷、人工组卷、 综合组卷。testPaperName字符串50NN输入试卷名称testPaperExplain字符串5000选择试卷说明userID字符串50NN自动 族取用户ID外码1questionID字符串50NN试题ID外码2questionBoundID字符串50NN试卷范围ID外码3questionTypelD字符串50NN选择试题类型ID外码4questionSubjectI D字符串50NN选择试题科目ID外码5备 注本试卷表模拟了试卷的主要部分,其中很多字段是组合的,如试题ID就是多试题的ID物理名称:exam_table表 名 称士革:受Jx J取数据类 型长度

55、属性输入 方式描述备注考 试 表examID字符串50NN生成考试标识符(主键)由系统自动生成examName字符串50NN输入考试名称answerPaperTotalTime字符串50NN输入答卷总时间answerMakeTime字符串50NN输入允许参加次 数examBeginTime时间/日 期50NN输入答卷开始时 间examExplain字符串50NN考试 说明考试过程中 的要点examPosition字符串50NN输入考试位置testPaperID字符串50NN选择试卷ID外码备 注可设定某次考试的基本信息 ,并选择考卷。3.4系统模块部分设计A、用户登录:错误! 对于已注册的用户

56、根据用户名和密码进行登陆,登录界面如下2填写您的用户名、密码和验证码3击“登陆”按钮;错误! 用户名、密码和验证码都正确,登陆成功,进入系统主界面;错误! 主要代码:if(this 。session () 。getAttribute(rand )! =null) 检验随机数是否为空if (this.checkCodeequals(this.session() 。 getAttribute rand) 。 toString () ) / 比较随机数uservo=userbo 。 queryUserByINfo(uservo) ; / 检验用户信息并将信息返回if (uservo ! =null

57、) / 看用户是否存在this 。 setUserpurview(uservo。 getPurviewId( ) ) ; / 设置用户权限this。 session () 。 setAttribute(user, uservo);/ 将用户信息放在 session 中returnSUCCESS;/ 返回用户主界面页面else returnERROR;返回到失败页面 elsereturnERROR; else return ERROR; B、用户主界面:错误! 因为每个用户被分配了不同的权限,在这里我们选用的拥有所有的权限的超级管理员用户主界面是用户的管理界面。主界面如下所示:日修 0 J hi

58、i1 HAJcJuJI ft n M I iiau:建亚 f- .ZC.irt.口胸ftJHW 墓 1片THWlT,i错误! 点击左测具体的模块并进行具体的操作;用户根据自己的权限进行选择,没有被分配权限的模块是不能操作的专昔误!选才? login按钮可重新登陆,选择帮助是本系统的介绍和操作介绍,点击退出即可退出本系统;Q, 4主要代码:result name=success/main 。 jsp /result!- T登录成功返回SUCCESS时转向主页面/login。jsp!-登录不成功转回登录页面I k 4 -A t*.三三三I三 三二二三f二主要代码如下:try UserTable u

59、ser=(UserTable)this.session()。getAttri bute(user ) ;/获取当前用户信息QuestionTypeTable typevo=new QuestionTypeTable typevo.setUserId(user。 getUserId ();typelist=typebo 。 findQuestionTypeList(typevo);/ QuestionSubjectTable subjectvo=new QuestionSubjectTable subjectvo 。 setUserId (user 。 getUserId (); subject

60、list=subjectbo。 findSubjectByCondition(subjectvoQuestionBoundTable boundvo=new QuestionBoundTableboundvo 。 setUserId(user 。 getUserId( );();获取试题类型列表(););/获取试题科目列表 ();boundlist=boundbo.queryBoundList(boundvo ) ;/获取试题范围列表questionvo 。 setUserId String type=questionvo if(type!=null & !type questionvo.se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论