网络基础在线考试系统的设计与实现说明书.doc_第1页
网络基础在线考试系统的设计与实现说明书.doc_第2页
网络基础在线考试系统的设计与实现说明书.doc_第3页
网络基础在线考试系统的设计与实现说明书.doc_第4页
网络基础在线考试系统的设计与实现说明书.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

学校代码: xxx学 号: xxx 本科毕业设计说明书(题 目:网络基础在线考试系统的设计与实现学生姓名:学 院:信息工程学院系 别:计算机系专 业:软件工程班 级:软件06指导教师: 副教授本文源码索取,请联系qq:68661508二 一 年 六 月 摘 要随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于B/S架构的系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。网上在线考试系统是典型的B/S架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。在应用程序的开发方面,设计中使用 MyEclipse进行编程设计。它引入了面向对象编程的思想,使系统界面友好,功能完善,操作灵活,使用方便。同时,在数据库的建立和维护方面,采用Oracle 公司的Oracle(10g)作为数据库的开发工具。它适用于Unix/Windowes操作平台,是大中型系统使用较广的数据库开发平台。网上在线考试系统开发的总体目的是在实现Internet和局域网内的在线考试。本系统是基于内蒙古工业大学为对象进行总体开发和设计的。关键词:在线考试系统;Java;Oracle;Struts2;JDBCAbstractAlong with computer technologys swift development, gains and the process information using the computer is now a information management major characteristic. Takes most generally the most practical system based on the B/S constructions system, its management modernization, the informationization, are taking the huge promotion effect to the entire society. Online test system is the typical B/S construction system, its development mainly includes the application procedure the development, the database establishment and maintains two aspects. In the application procedures development aspect, in the design uses IBM Corporations Eclipse to carry on the programming design. It has introduced the object-oriented programming thought that causes the system contact surface to be friendly, the function is perfect, the operation is flexible, easy to operate. At the same time, in the database establishment and the maintenance aspect, uses Oracle Corporations Oracle (10g) to take the database the development kit. It is suitable for the Unix/Windowes service platform, is the large and middle scale system use broad database develops the platform. On-line online test system developments overall goal to in realizes in Internet and local area networks online test. This system is carries on the overall development and the design based on the Shanghai Briup Software Company for the object.Key words: online test system; Java; Oracle; Struts2; JDBC目 录引 言1第一章 系统需求分析21.1 选题意义21.2 系统初步调查21.3 系统可行性分析21.4 系统功能需求概述3第二章 开发技术及工具介绍42.1 开发工具42.1.1 MyEclipse42.1.2 Oracle数据库42.1.3 tomcat服务器42.2 开发技术52.2.1 java52.2.2 Servlet52.2.3 JSP52.2.4 JDBC62.3 开发框架技术62.3.1 struts262.4 开发模式62.5 系统运行环境7第三章 系统分析与设计83.1 系统功能分析83.1.1 系统功能描述83.1.2 功能设计分析93.2 系统设计113.2.1 系统功能结构图113.2.2 系统用例图123.3 数据库设计133.3.1 数据库的逻辑设计133.3.2 数据库的物理设计14第四章 系统的实现164.1 后台管理模块164.1.1 登录174.1.2 教学管理功能174.1.3 教师管理功能194.1.4 题库管理功能204.1.5 管理员自管理功能214.1.6 考试管理功能224.1.7 系统管理功能244.2 考生管理模块244.2.1 考试管理功能254.3 教师管理模块284.3.1 查看考试详情294.3.2 试题讲解314.3.3 教师自管理314.3.4 系统管理31第五章 关键技术解决32结 论33参考文献34谢 辞35附 录36引 言利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一Java应用程序。它运用方便、操作简单、效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入,修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题,组卷和改卷等繁重的工作量。现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证,客观!更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。第一章 系统需求分析随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。通过实地调研之后,对在线考试系统的设计开发做了一个详细的概述。1.1 选题意义选题的意义主要有以下几点:(1)目前市面上流行的网上在线考试系统不少。但是,对于具体的教育部门来说,因为具有自己的特殊性,因此需要一个功能实用,并能满足其对相关数据的管理及需求的系统。系统开发的目标就是在于开发一个功能实用,简单明了的网上在线考试系统。(2)综合应用大学阶段的课程,特别是数据库原理及应用(Oracle)、Java程序设计,其中数据库原理及应用(Oracle)是本专业一门重要的专业课。数据库是信息系统开发、利用和保存的主要形式,是信息系统的核心。(3)提高自己的调查、实践能力。在论文的设计及撰写过程中遇到了很多的问题,在解决这些问题的同时,积累了很多发现和解决问题的经验;同时提高了系统开发和设计的能力,掌握了程序的设计流,为以后的工作打下了坚实的基础。1.2 系统初步调查目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出 、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,因此本文设计了这个功能实用的网上在线考试系统,方便网上在线考试的需要。1.3 系统可行性分析1. 经济可行性。经济可行性分析主要是对开发项目的成本与效益作出评估,即分析新系统所带的经济效益是否超过开发和维护网站所需要的费用.成本主要包括开发,运行和维护费用。2. 社会因素方面的可行性。本系统仅用于学校考试,无法律和政策方面的限制3. 技术可行性。开发语言采用Java,数据库服务器方面则有Oracle,其灵活性,安全性和易用性数据库编程提供了良好的条件。综上所述,整个网上在线考试系统的开发是切实可行的。1.4 系统功能需求概述建立网上在线考试系统的目的,就是采用以计算机为主的现代化设备完成考试过程中各种信息的添加、修改、删除、查询、和使用,进行一般考试业务的管理,从而提高教育部门的工作效率。所开发出的系统功能必须实用,并且操作简便,主要表现在以下两个方面。1.功能(1)系统要求用户必须输入正确的用户名和密码才能进入系统,并且采用了权限登录,把用户分为管理员、考生、及教师。只有管理员具有系统的所有功能权限,限制教师进行对数据的操作,只能对数据进行查询或出题及讲评等,而考生和监考教师只可以进行考试方面的活动。(2)在系统中的管理员管理模块,主要实现的是功能有添加、修改、删除、查询班级、考生、试题及教师信息。(3)在系统中的教师管理模块,主要实现的是功能有添加考试备注、查询试题及讲评试题。(4)在系统中的考生模块,主要实现的功能有考生考试、查询考试成绩等。2.界面网上在线考试系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然,尽可能的为用户考试等功能操作提供方便。第二章 开发技术及工具介绍2.1 开发工具2.1.1 MyEclipseEclipse是一种通用工具平台,普遍适用的开放式扩展IDE他提供了功能丰富的开发环境,该环境允许开发者高效的创建一些能够无缝集成到Eclipse平台的工具。Eclipse的设计思想史:一切皆为插件,Eclipse的核心非常小,其他所有的功能都是以插件的形式附加到这个Eclipse核心之上的,这样的功能插件包括他的插件开发环境(简称PDE)等等,而且Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且可以无缝结合。2.1.2 Oracle数据库Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。它有多个版本供用户选择:企业版、标准版、个人版、移动版等。Oracle数据库有以下优势:1. Oracle数据库可用性强。2. Oracle数据库可扩展性强。3. Oracle数据库安全性强。4. Oracle数据库稳定性强。2.1.3 tomcat服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。2.2 开发技术2.2.1 javaJava是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。2.2.2 ServletServlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字节码,可动态地从网络加载,由于Servlet运行于Server中,它们并不需要一个图形用户界面一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。2.2.3 JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP有以下几种常用的内置对象: request 表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie和session数据的有用的方法。 response 表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法。 pageContext 表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。 application 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息。 2.2.4 JDBCJDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。2.3 开发框架技术2.3.1 struts2Struts2是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证,而且吸收了Struts 1和WebWork两者的优势。2.4 开发模式本系统基于从成本和易用性考虑,决定采用B/S模式。B/S模式带来了巨大的好处:开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。2.5 系统运行环境1硬件需求:PIII/256M/10G 及以上配置,要求为考试系统分配足够的数据库磁盘空间。2推荐配置:PIV 2G/512M/4G3操作系统需求:Sun Solaris 等 Linux操作系统(推荐),也可以使用Windows2000等windows系列系统。4数据库软件需求:Oracle 9i/10g(推荐)。5中间软件需求:Apache Tomcat/6.0系列服务器。第三章 系统分析与设计3.1 系统功能分析根据分析,我把网上在线考试系统划分为三大模块,分别为系统后台管理模块、教师管理模块、考生管理模块。其中考生管理模块主要是对考试和考试成绩两方面的查询;教师管理模块主要是对考试情况和试卷两方面的管理;对考试进行管理;系统后台管理模块主要是教学管理、教师管理、题库管理和自我管理四个方面。3.1.1 系统功能描述1.教师管理模块教师模块包括考试信息管理和试卷管理,其功能是实现对试卷数据内容进行添加、修改、查询等操作,各管理部分的明细如下:(1) 教师登陆教师可以在任何一台计算机上根据编号,口令进入考试系统;(2) 考试信息管理包括查看考生信息和查询考试信息两部分。其中,查看考生信息实现了查看考生考试成绩的功能;查询考试信息实现了对本次考试情况分析的功能,自动生成柱状图。 (3)考试信息管理考试备注实现了对考试进行描述及对考试中的情况进行记录的功能。(4)试卷讲解试卷讲解实现了对试卷每一道题目分析的功能。2.考生管理模块考生管理模块包括考试管理和查看成绩管理,其功能如下:(1)考试管理考生登陆后,开始考试,考生可以在考试时间内主动交卷或在达到考试时间后由系统强行收卷。(2)成绩管理实现查看成绩的功能。3.系统后台管理模块系统后台管理模块包括教学管理、教师管理、题库管理和自我管理四个功能。系统初始设置一个用户名和密码,管理员可以利用这个用户名和密码登录。自我管理可以设置其他的普通用户名称,设置用户密码和权限,同时也设置了这个用户可以使用的权限,也可以修改管理员和普通用户密码。教学管理实现了对班级考生进行管理的功能。题库管理实现了对试题库进行增删改查的功能。(1)教学管理包括添加班级、管理班级、添加考生、管理考生四个功能。(2)题库管理包括增加考题、管理考题两大功能。(3)教师管理包括添加教师和管理教师两个功能。(4)考试管理包括考试科目管理和考试详情查看。(5)管理员自管理包括修改管理员自己信息的功能。3.1.2 功能设计分析这里只对后台管理模块功能进行分析。1.考题管理添加考题:在addexam.jsp页面添加一个考题,考题用作考生考试试题,当添加成功后,跳转回addexam.jsp,并发出消息通知用户试题添加成功。需要判断所添加题目是否已填写完全(包括题目,选项,答案和科目)。判断当前session范围内是否存在一个包含选项内容的非空字符串。将用户录入的试题封装成一个Moban类,按照不同科目存入对应表中。具体步骤:(1)实现AdminDaoImpl.java中的addKaoti()方法。(2)创建AddoptAction 实现add()和addKaoti()两个方法,其中addOpt()是用于选项的追加,addKaoti()用于考题的封装。(3)创建addexam.jsp。管理考题:在modifyexam.jsp页面,用户可以通过下拉菜单中的十六个科目选项中任意选择一个,进行考题的查询,选中后会在下方以表格形式显示所选考题的题号和题目名,也可以删除所选中的试题。具体步骤:(1)实现用于分页显示的Page.java。(2)实现ModifyexamAction.java。(3)实现DeleteexamAction和ShowexamAction。(4)实现AdminServiceImpl.java中的delexam()方法。2. 教师管理添加教师:在addexam.jsp页面中添加教师,这里添加的教师包括了普通任课教师和管理员。添加成功显示成功信息,失败显示失败信息无论,成功或是失败都跳回到Content1.jsp页面进行刷新。具体步骤:(1)实现AdminDaoImpl.java中的updateTeacher()方法。(2)实现AdminServiceImpl.java中的updateTeacher()方法。(3)创建addteacher.jsp。管理教师:在listteacher.jsp页面中,用户可以通过教师姓名进行查询,查询支持模糊查询,也可进行教师信息的修改。需要判断教师是否存在于数据库中,如不存在则返回到查询页,如存在则把教师信息返回显示。具体步骤:(1)实现AdminDaoImpl.java中的selectTeacherByName(),delTeacher()和selectTeacher()方法。(2)创建SelectTeacherAction和DeleteTeacherAction。(3)创建listteacher.jsp。(4)实现AdminServiceImpl.java中的delTeacher方法。(5)创建ShowTeacherAction用于教师信息显示。3. 管理员管理管理员信息修改:在showadmin.jsp页面中,可修改管理员的信息,管理员信息包括管理员姓名和密码。从AdminAction中获得修改后信息,进行管理员信息的更新处理具体步骤: (1)实现AdminDaoImpl.java中的updateTeacher()方法(2)实现AdminSericeImpl.java中的updateTeacher()方法(3)创建MdifyadminAction实现管理员信息的更新3.2 系统设计3.2.1 系统功能结构图网上在线考试系统考生管理 系统后台管理 教师管理 开始考试考试成绩查询 教学管理 教师管理 题库管理 管理员管理 考试信息管理 试题讲评 考试管理 添加试题 删除试题 查询考生信息 查询考试信息 图3-1 系统功能结构图3.2.2 系统用例图 图3-2 管理员用例图图3-3 学生用例图图3-4 教师用例图3.3 数据库设计3.3.1 数据库的逻辑设计数据库的逻辑设计即把得到的满足第三范式关系转化为特定的数据库管理系统下的数据表。根据前面得到的各个关系,现把它们转化为数据表。学生表:用于保存学生的考号,姓名,所在班级,登录密码,上线状态(1为在线),还有分数。成绩表:用于存储学生的考试成绩。状态表:表示该学生是否可以考试。试题表:用于存储试题。班级表:学生所属的班级。教师表:管理员的权限还是监考教师的权限。系统E-R图如下所示:管理教师姓名密码考题管理员名称编号学生密码密码类别答案姓名姓名管理管理管理1NM111P图3-5 系统E-R图3.3.2 数据库的物理设计在完成数据库的逻辑设计后,即可进行数据库的物理设计。基于以上数据库的逻辑设计,在Oracle下创建一个数据库,并在其下创建6个数据表,其表结构分别如下:表 3-1 Student学生表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(20)Not Null考生姓名PasswdVarchar2(20)Not Null考生密码BanjiVarchar2(10)Not Null班级表3-2 Teacher 教师表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(20)教师姓名PasswdVarchar2(20)教师密码StateInt权限 (0:admin,1:teacher)表 3-3 Banji 班级表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(10)Not Null班级名称NumInt班级人数AddressVarchar2(10)第几教室表 3-4 Estate 考试状态字段名字段类型约束或索引描述StateintPK1表示可以考试0表示考试结束或还为测试表 3-5 Exam 考试题字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号TitleVarchar2(1000)Not Null考试题目QuestionVarchar2(2000)Not Null问题OptionVarchar2(1000)Not Null选项AnswerVarchar2(10)Not Null答案TypeIntNotNull1表示CoreJava 2表示Oracle 3表示Web 4表示Ejb表 3-6 Score 成绩表字段名字段类型约束或索引描述IDNumber(Sequence)PK流水号Stu_idintNotnull FK( student(id) )学生idEnameIntNot Null考试名称ChengjiIntNotnull考试成绩EdateDate考试日期第四章 系统的实现4.1 后台管理模块将结构化的系统设计思想运用到系统设计中,在完成了系统分析、系统设计后,就进入系统实现阶段了,系统实现是指把系统的物理模型转换成实际运行系统的全过程。开始管理员登陆显示主菜单选 择题库管理题库管理题库管理题库管理题库管理退出图4-1 系统管理程序流程图4.1.1 登录首先选择登录人身份:根据不同身份,登录不同界面,添好登录信息后,点击“登陆”按钮;登录信息都正确,登陆成功,进入系统各个用户界面。考生:对于管理员已添加的考生,可根据自己的考生号和密码登录。教师:对于管理员已添加的教师,可根据该教师的教师号和密码登录。 图4-2 学生登录界面图4-3 教师登录界面4.1.2 教学管理功能教学管理1.添加班级信息:添加班级信息是对新开班级的基本信息进行录入。当开设新班级时,就可以通过此窗体把新班级的基本信息添加到数据库中去,以备日后的修改、查询等。添加班级主要是按班级名称,人数,所在教室,开班时间四个条件增加新班级。管理班级:按班级名称查询,可删除班级记录。界面如下: 图4-4 添加班级界面 图4-5 管理班级界面2.添加考生信息/删除考生信息:修改/删除考生信息是对考生的基本信息进行修改/删除。与添加班级类似。 图4-6 添加学生界面4.1.3 教师管理功能1添加教师添加教师信息是对新教师的基本信息进行录入。当有新教师加入时,就可以通过此窗体把新读者的基本信息添加到数据库中去。此功能的实现及主要程序代码与教务管理中的功能实现几乎是一样的,所以在这里只分析它们的设计思想,对具体实现不再表述。这里需注意:权限的设置,教师是监考教师的意思。没有添加考生、班级、考题的权限。而管理员有这些权限。可以添加多个管理员。 图4-7添加教师界面2管理教师信息修改/删除教师信息是对教师的基本信息进行修改/删除。 图4-8管理教师界面4.1.4 题库管理功能题库管理分为增加考题、管理考题两个部分。这些功能的实现与教学管理中的功能的实现几乎是一样的,所以在这里只分析它们的设计思想,对具体实现和主要程序代码不再表述。1增加考题 :增加考题是在数据库中添加一份考题。这里在设计的时候考虑到试题的多样性和难度限制。在实际考试中有可能出现不定项选择题,即选项个数不确定。所以每编辑一个试题选项就点“添加选项”按钮。保存选项。当添加完所有的选项后再在答案栏填写本题的答案序号。注意:第一个选项答案为 1,第二个选项答案为 2,以此类推!最后选择试题科目:这里试题科目被固定为那几个科目,放到select标签中。选择一个即可。点击“出题完毕”按钮。完成添加试题。 图4-9添加考题界面2管理考题管理考题是对考题进行修改/删除。可以对删除考题,同时还可以对考题的题目进行修改、对考题的选项修改、对考题的答案和科目进行修改,但是不能对考题选项的个数进行修改。 图4-10考题查询界面 图4-11修改考题界面4.1.5 管理员自管理功能自管理模块有添加用户、修改用户密码。 图4-12管理员自管理界面4.1.6 考试管理功能考试管理:包括“考试科目管理”和“考试详情查看”两个功能。1考试科目管理:该模块可进行考试科目的设置和考试试题的数量的设置,此项也限制了监考教师的考试试题范围。 图4-13考试科目管理界面点击“考试科目管理”选择要考的科目和考题的数量,然后选择考试的班级单击“确定”程序转入考试时间设置。考试时间设置后,本场考试就已经开始倒计时了。学生即可进入系统开始作答。 图4-14考试时间管理界面设置考试的代码如下:public String setexam() throws Exception /设置考试ExamService examService = (ExamService) BeanFactory.getBean(BeanFactory.ExamService);String ke =;String course=;Map map = getCourseNum();/获得考题的数量和类型try List list = examService.setexam(map);/考题的集合ActionContext.getContext().getApplication().put(test, list);ActionContext.getContext().getApplication().put(banji, banji);fileInput(list, banji);SetEntry entrySet = map.entrySet();for (Entry entry : entrySet) ke = ke + entry.getKey() + + entry.getValue() + ;course = course+entry.getKey();ActionContext.getContext().getApplication().put(course, course);int index = banji.indexOf(d)+1;String banji1 = banji.substring(index,index+5)+ 级;ServletActionContext.getRequest().setAttribute(banji,banji);ServletActionContext.getRequest().setAttribute(message,考题选择成功,本次考: + ke + 考试班级: + banji);return SUCCESS; catch (ServiceException e) SevletActionContext.getRequest().setAttribute(message, e.getMessage();e.printStackTrace();ServletActionContext.getRequest().setAttribute(banji,banji);return ERROR; 2考试详情查看:主要记录了监考教师的考试记录,包括考试时间,考试班级以及考试备注。考试备注主要记录本场考试的一些情况,比如作弊行为等。点击“考试详情查看”,选择要查看的班级,点击“查询”就会出现该班级的考试信息和考试备注。 图4-15考试详情查看界面4.1.7 系统管理功能安全退出:点击退出后台管理系统,回到系统登录界面。4.2 考生管理模块考生管理模块包括,考生资管理和成绩查询等功能,下面是考生管理模块流程图。开始学生登录开始考试修改密码显示考题退出查询成绩提交退出图4-17 考生管理程序流程图4.2.1 考试管理功能1. 考试:注意考试时间是刚刚管理员设定的时间,一旦时间到了没有提交,系统会强制退出,并且本次考试按0分计。所以考生必须抓紧时间作答,并在考试结束前提交。这里控制考试时间的是一个AutoStopExam类 它继承了TimerTask类 , TimerTask是个抽象类,他扩展了Object并实现了Runnable接口,因此你必须在自己的Task中实现public void run()方法。也就是我们需要执行的具体任务。TimerTask类的对象作为参数传递给Timer类的对象的schedule方法。Timer类是用来执行任务的类,它接受一个TimerTask做参数。Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1在某个时间(Data),2在某个固定的时间之后(int delay)。这两种方式都可以指定任务执行的频率.。我们这里将使用schedule(TimerTask task,long time,long internal)方法的第二种执行模式。这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求。图4-17考试界面考生登录后点击“开始考试”,考生浏览考题,每个考题占一页,选中答案,回答完一题后,点击下一题作答。试题回答完后,可以返回浏览已回答试题,并更改答案。完成后一定要注意提交。否则考试时间结束,按零分算。图4-18学生答题界面考试时间的控制原理如下:/设置考试时间:public String setState()throws ExceptionExamDao examDao = (ExamDao) BeanFactory.getBean(BeanFactory.ExamDao);try examDao.setExamState(1);ServletActionContext.getRequest().setAttribute(message,本场考试设置成功!);Timer times = new Timer(); /考试时间设定times.schedule(new AutoStopExam(ActionContext.getContext().getApplication(), Integer.parseInt(time);/2小时 7200000毫秒return SUCCESS; catch (DataAccessException e) ServletActionContext.getRequest().setAttribute(message,数据库连接异常,考试设置失败,请重新选择考题开始考试,为您带来的不便敬请谅解!);e.printStackTrace();return ERROR;2. 学生资料管理: 学生可以修改密码,查询考试成绩(考试结束后)。图4-19个人信息修改界面图4-20查询成绩界面4.3 教师管理模块教师管理模块包括考试详情、试题讲解、教师资管理、系统管理四大模块这里教师不是管理员,管理员的权限是0,教师的权限是1,教师不能添加试题、考生、教师。但这里的教师可以是任课教师,也可以是监考教师。可以查看考试情况,查看试题,如果是小型测验,可以当堂为同学们讲解刚刚考过的试题。如果是监考教师可以为本场考试添加备注,如考试过程中有作弊行为或其它状况,都可以通过备注记录在案。以备管理员查询。系统流程图如下所示:开始教师显示主菜单选择查看考试详 情系统管 理教 师自管理试题讲 解退 出退出图4-21教师管理程序流程图4.3.1 查看考试详情查看考试详情有三大功能:查看考试情况、查看考生情况、添加考试备注。1. 查看考试情况:查看考试情况是查看某个班级这次考试的及格率,优秀,不及格等的百分比。以帮助任课教师及时掌握本次考试结果。特别是针对一些小型的测验、练习等。测试学生对某一部分知识的掌握程度。界面清晰,分类明确,一目了然。 图4-22 查看考试情况界面2. 查看考生情况:查看考生情况是查看某一个班的考生某一门课的成绩的详细信息。 图4-23 查

温馨提示

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

评论

0/150

提交评论