试卷试题-网上在线考试系统的开发.doc
《试卷试题-网上在线考试系统的开发.doc》由会员分享,可在线阅读,更多相关《试卷试题-网上在线考试系统的开发.doc(41页珍藏版)》请在咨信网上搜索。
西安建筑科技大学 本科毕业设计(论文) 题 目 网上在线考试系统的 开发 学生姓名 梁梦凡 学 号 091040112 院(系) 理学院 专 业 电子信息科学与技术 指导教师 张玲 时 间 2013年 6 月 6 日 第 IV 页 摘要 在线考试系统旨在实现考试的无纸化管理,通过互联网络或局域网可以对一些客观试题为主的科目进行考试,既方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。 本设计以j2EE作为开发基础,用eclipse作为开发工具,主要使用了Struts+Spring+Hibernate等多种协议或技术,以Mysql作为数据库,完成了在线考试系统中考生和教师模块的基本功能,其中包括考生在线修改个人信息维护、在线考试、在线练习、查询考试记录、查询练习记录、查询成绩、等功能;教师的个人信息维护、在线出题、在线组卷、随机组卷、查询成绩、修改信息等功能。该系统界面简单、操作方便、维护容易,经过测试,系统可靠性良好。 关键词:在线考试,j2EE,Struts+Spring+Hibernate The design of an Online Examination System Based on internet Abstract Online examination system to achieve paperless management of examinations, the examination of some subjects through the Internet or LAN, to facilitate the management of the school Examination, candidates are also convenient, especially for candidates widely distributed, easy to focus on distance education . The contents of this graduat, Guer system based mainly j2EE as the development, mainly using struts + spring+hibernate and other agreements or technology, using eclipse as IDE, MYSQL as the database. Basically an online examination system should be the main functional modules, including: an administrator's login, management and maintenance; user registration, login, logout, personal information, access, correction; test management, problem sets of management, performance management. The system interface is simple to operate, easy to maintain. Keywords: Online Examination;J2EE;MYSQL;Struts+Spring+Hibernate 目录 1 绪论 1 1.1 课题背景 1 1.2 课题目的和意义 1 2 系统应用的关键技术 3 2.1 JSP技术介绍 3 2.1.1 JSP的概述 3 2.1.2 JSP的运行机制 3 2.1.3 JSP与ASP的比较 3 2.2 Java组件JavaBeans 4 2.2.1 什么是JavaBeans 4 2.2.2 JSP与JavaBeans的关系 4 2.3 关于Struts2 5 2.3.1 Struts2简介 5 2.3.2 Struts2的工作原理 5 2.3.3 Struts2与Struts1的区别 6 2.4 关于Spring 7 2.4.1 Spring简介 7 2.4.2 为什么需要Spring 7 2.4.3 为什么使用Spring 7 2.5 关于Hibernate 8 2.5.1 Hibernate简介 8 2.5.2 Hibernate的优势是什么 8 2.6 关于Mysql 8 2.7 Tomcat服务器 9 2.7.1 Tomcat服务器简介 9 2.7.2 Tomcat的特点与优势 9 2.7.3 Tomcat服务器的安装和配置 9 2.8 关于B/S开发模式 10 2.8.1 B/S与C/S有什么区别 10 2.8.1 为什么使用B/S开发模式 10 3 系统需求分析和总体设计 11 3.1 系统的功能需求 11 3.2 系统角色及其功能分析 11 3.3 总体设计思想概述 12 3.4 数据库设计 13 3.4.1 E-R图 13 3.4.2 数据表的设计 14 3.5 系统的类设计 17 3.5.1 数据库连接类的设计 17 3.5.2 过滤器类设计 17 4 系统的详细设计 19 4.1 数据库映射机制 19 4.2 主要模块的设计说明与界面展示 20 4.2.1 登录模块设计 20 4.2.2 考生模块设计 21 4.2.3 教师模块设计 22 5系统测试 24 5.1 软件质量 24 5.2 软件测试 24 5.3 考生管理测试 25 5.4 教师管理测试 26 5.5 报告分析 28 6 总结与展望 30 6.1 总结 30 6.2 展望 31 参考文献 32 附录 33 致谢 35 1 绪论 1.1 课题背景 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着Internet/Intranet 的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。 Internet 技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet 的开放性、分布性的特点和基于Internet 的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet 的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。 网上考试系统课题产生是当今教育信息化的趋势及我国高校教育信息化系统的建设所需;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet 来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。 1.2 课题目的和意义 随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用。本设计就是针对单项选择、多项选择、判断这类客观性考试题为主的考试系统设计,这类客观试题的改卷相对单一,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。本系统采用J2EE技术,完成了考生与教师这两个角色的一些基本功能,对于考生,可以通过本系统完成:在线修改个人信息、在线考试、在线练习、查询考试记录、查询练习记录、查询成绩、等功能;对于教师,可以通过本系统完成:在线修改个人信息、在线出题、在线组卷、随机组卷、查询成绩、修改信息等功能。该系统界面简单、操作方便、维护容易,经过测试以上功能成功实现,系统可靠性良好 2 系统应用的关键技术 2.1 JSP技术介绍 2.1.1 JSP的概述 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。 JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。 2.1.2 JSP的运行机制 JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象,JSP请求的步骤如下: 1.用户机请求一个JSP页面。 2.JSP引擎编译该JSP成一个servlet。 3.生成的servlet被编译并装载。 4.编译的servlet服务请求并把一响应发送回用户机。 JSP主要是针对Java程序处理不熟悉的人设计的。与Servlet相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Servlet方便。 2.1.3 JSP与ASP的比较 JSP与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较: 1.Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。 2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于一直到其它平台上。 3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans 和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。 4.脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。 5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。 6.与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。 7.用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。 2.2 Java组件JavaBeans 2.2.1 什么是JavaBeans JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。 2.2.2 JSP与JavaBeans的关系 使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。 在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。 绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。 2.3 关于Struts2 2.3.1 Struts2简介 虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。 Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2.在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2 2.3.2 Struts2的工作原理 工作流程当接收到一个httprequest Interceptor做一些拦截或者初始的工作当外部的httpservletrequest到来时初始到了servlet容器 传递给一个标准的过滤器链ActionContextCleanUp这个在集成插件方面非常有用Other filters(SitMesh,etc)调用FilterDispatecher会去查找相应腁ctionMapper如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy ActionProxy将会通过ConfigurationManager来查找配置struts.xml下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)一旦action返回,会查找相应的Result Result类型可以是 jsp或者freeMark 等这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)响应的返回是通过我们在web.xml中配置的过滤器如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocal ActionContext如果ActionContextCleanUp不使用,则将会去清理sreadlocals。 2.3.3 Struts2与Struts1的区别 1. Action 类 Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口;Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。 2. 线程模式 Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题) 3. Servlet 依赖 Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。 4. 可测性 测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展——Struts TestCase——提供了一套Struts1的模拟对象(来进行测试)。Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。 5. 捕获输入 Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。 2.4 关于Spring 2.4.1 Spring简介 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 2.4.2 为什么需要Spring 当已经有许多开放源代码(和专有) J2EE framework时,我们为什么还需要Spring Framework?Spring是独特的,因为若干个原因: 1.它定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。 2.Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 3.它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。 Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。 2.4.3 为什么使用Spring 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。 2.5 关于Hibernate 2.5.1 Hibernate简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 2.5.2 Hibernate的优势是什么 Hibernate封装了jdbc,简化了很多重复性代码,它简化了DAO层编码工作,使开发更对象化了,而且Hibernate有很好的移植性,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。由于hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性,所以说它是一个轻量级框架,使用起来非常方便。 2.6 关于Mysql MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。 目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 2.7 Tomcat服务器 2.7.1 Tomcat服务器简介 Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat中采用了Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。 2.7.2 Tomcat的特点与优势 在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。 2.7.3 Tomcat服务器的安装和配置 在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。 表2-1环境变量设置参考数据 变量名 变量值 CATALINA_HOME D:\Program Files\tomcat6.0 CLASSPATH .;%JAVA_HOME%\lib;%CATALINA_HOME%\lib 2.8 关于B/S开发模式 2.8.1 B/S与C/S有什么区别 B/S 是指浏览器和服务器端,在客户机端不用装专门的软件,只要一个浏览器即可.而C/S是指客户机和服务器,在客户机端必须装客户端软件后,才能访问服务器如sql server 2000软件体系结构定义了软件的局部和总体计算部件的构成,以及这些部件之间的相互作用关系。部件包括诸如服务器、客户、数据库、过滤器、程序包、过程、子程序等一切软件的组成成份。相互作用关系包括诸如过程调用、共享变量访问、消息传递等。相互作用也包括具有十分复杂的语义和构成关系,诸如客户/服务器的访问协议、数据库的访问协议网络的传输协议、异步事件的映射等,除了描述系统的构成和结构关系外,在系统的功能需求方面,体系结构还表达了系统需求和构成之间的对应关系。 2.8.1 为什么使用B/S开发模式 伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下问题: 1.系统安装、调试、维护和升级困难。由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,在软件升级时也要对用户端分别处理。 2.在整个系统中,业务逻辑和用户界面都集中到了用户端,必然会增加安全隐患。 与此同时B/S模式带来了巨大的好处: 1.开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的用户端只有浏览器,网络管理人员只需要做硬件维护。 2.良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有用户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。 3 系统需求分析和总体设计 3.1 系统的功能需求 图3-1 系统结构图 如图3-1所示本系统总体分为四个部分,分别为:用户管理、试题管理、试卷管理、成绩管理。 1.用户管理:这部分又分为学生管理与教师管理,分别对学生与教师的相关信息进行添加、修改、删除等操作。 2.试题管理:这部分主要对试题的相关信息进行添加、修改、删除等操作。 3.试卷管理:这部分主要对试卷的相关信息进行添加、修改、删除等操作。 4.成绩管理:这部分主要实现用户查询成绩的功能。 3.2 系统角色及其功能分析 基于以上需求,本系统主要面向三个对象:教师、考生、管理员,管理员的功能主要完成对教师、考生、试题、试卷增删改查操作,这个模块主要由组内的其他成员完成,本设计主要完成了学生与教师在在线考试系统的基本功能: 1.考生:考生通过一系列程序获得在系统管理员统一分配帐号和初始密码后,可以修改自己的密码和相关信息进行修改;进入系统后可以完成在线练习、考试、练习成绩、考试成绩查询、考试记录、查询自己的练习与考试成绩等操作。 2.教师:在系统管理员统一分配帐号和密码后,教师可以进行修改自己的密码和其他相关信息,进入系统后可以进行在线出题与组卷等操作,其中组卷分为随机组卷与手动组卷、查阅学生的成绩等操作。 3.3 总体设计思想概述 本系统是基于B/S架构下的多层结构应用系统。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了用户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。推荐的分层式结构一般分为三层,从下至上分别为:数据访问(持久)层、业务逻辑层(或称为领域层)、表示层,如图3-2: 图3-2 系统架构 总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的API,而下层组件则不依赖于上层组件。例如:表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开API,但具体的实现细节对外透明。当某一层发生变化,只要API不变,不会影响其他层的实现。 在本系统中,使用开源的mysql数据库,持久层用到spring所集成的Hibernate技术,业务逻辑层用到spring的控制反转技术(Ioc),表述层运用struts2进行展示,使前台数据更容易被后台访问。 3.4 数据库设计 3.4.1 E-R图 图3-3 系统E-R图 3.4.2 数据表的设计 下面列出了系统设计过程中所用到的数据库表及其结构: 表3-1 tb_student表用来保存学生的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 id id int 是 否 学号 stu_number varchar 20 否 学生姓名 stu_name varchar 20 否 性别 sex varchar 20 否 0-为女,1-为男 专业 majors varchar 20 是 否 班级 grades varchar 20 是 否 密码 password varchar 20 否 录入日期 createdate datatime 20 否 表3-2 tb_ teacher表用来保存教师的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 id id int 是 否 工号 teacher_number varchar 20 否 教师姓名 teacher_name varchar 20 否 性别 sex varchar 20 否 0-为女,1-为男 密码 password varchar 20 否 录入日期 createdate datatime 20 否 表3-3 tb_manage表用来保存超级管理员的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 id id int 是 否 工号 manage_number varchar 20 否 管理员姓名 manage_name varchar 20 否 性别 sex varchar 20 否 0-为女,1-为男 密码 password varchar 20 否 录入日期 createdate datatime 20 否 表3-4 tb_topic表用来保存题目的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 题目ID topic_id int 20 是 否 题目描述 topic_dicr varchar 500 否 预设答案 topic_panswer varchar 200 答案 topic_answer varchar 200 否 题目类型 topic_type varchar 20 是 否 题目难度 topic_level varchar 20 是 否 课程 subject_id varchar 20 是 否 录入教师工号 teacher_number varchar 20 是 否 录入日期 createdate datatime 20 否 表3-5 tb_topic_type表用来保存题目类型的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 题目类型ID topic_type_id int 20 是 否 题目类型名称 topic_type_name varchar 20 否 表3-6 tb_topic_level表用来保存题目难度等级的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 题目难度ID topic_level_id int 20 是 否 题目难度名称 topic_level_name varchar 20 否 表3-7 tb_majors表用来保存专业的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 专业ID majors_id int 20 是 否 专业名称 majors_name varchar 20 否 表3-8 tb_subject表用来保存课程的信息 标识 字段 类型 长度 是否主键 是否外键 允许为空 备注 课程ID subject_id int 20 是 否 课程名称 subject_name varchar 20 否 表3-9 tb_score表用来- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试卷 试题 网上 在线 考试 系统 开发
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文