收藏 分销(赏)

试卷试题-网上在线考试系统的开发.doc

上传人:胜**** 文档编号:2955161 上传时间:2024-06-12 格式:DOC 页数:41 大小:913KB
下载 相关 举报
试卷试题-网上在线考试系统的开发.doc_第1页
第1页 / 共41页
试卷试题-网上在线考试系统的开发.doc_第2页
第2页 / 共41页
试卷试题-网上在线考试系统的开发.doc_第3页
第3页 / 共41页
试卷试题-网上在线考试系统的开发.doc_第4页
第4页 / 共41页
试卷试题-网上在线考试系统的开发.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、西安建筑科技大学 本科毕业设计(论文)题 目网上在线考试系统的开发学生姓名梁梦凡 学 号091040112院(系)理学院专 业电子信息科学与技术指导教师张玲时 间2013年 6 月 6 日第 IV 页摘要在线考试系统旨在实现考试的无纸化管理,通过互联网络或局域网可以对一些客观试题为主的科目进行考试,既方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。本设计以j2EE作为开发基础,用eclipse作为开发工具,主要使用了Struts+Spring+Hibernate等多种协议或技术,以Mysql作为数据库,完成了在线考试系统中考生和教师模块的基本功能,其中包括考生在线修改

2、个人信息维护、在线考试、在线练习、查询考试记录、查询练习记录、查询成绩、等功能;教师的个人信息维护、在线出题、在线组卷、随机组卷、查询成绩、修改信息等功能。该系统界面简单、操作方便、维护容易,经过测试,系统可靠性良好。关键词:在线考试,j2EE,Struts+Spring+HibernateThe design of an Online Examination System Based on internetAbstractOnline examination system to achieve paperless management of examinations, the examina

3、tion 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 developmen

4、t, 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 administrators login, management and maintenance; user registration, login, logout, p

5、ersonal 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 绪论11.1 课题背景11.2 课题目的和意义12 系统应用的关键技术32.1 JSP技术介绍32.1.1 JSP的概述32.

6、1.2 JSP的运行机制32.1.3 JSP与ASP的比较32.2 Java组件JavaBeans42.2.1 什么是JavaBeans42.2.2 JSP与JavaBeans的关系42.3 关于Struts252.3.1 Struts2简介52.3.2 Struts2的工作原理52.3.3 Struts2与Struts1的区别62.4 关于Spring72.4.1 Spring简介72.4.2 为什么需要Spring72.4.3 为什么使用Spring72.5 关于Hibernate82.5.1 Hibernate简介82.5.2 Hibernate的优势是什么82.6 关于Mysql82.

7、7 Tomcat服务器92.7.1 Tomcat服务器简介92.7.2 Tomcat的特点与优势92.7.3 Tomcat服务器的安装和配置92.8 关于B/S开发模式102.8.1 B/S与C/S有什么区别102.8.1 为什么使用B/S开发模式103 系统需求分析和总体设计113.1 系统的功能需求113.2 系统角色及其功能分析113.3 总体设计思想概述123.4 数据库设计133.4.1 E-R图133.4.2 数据表的设计143.5 系统的类设计173.5.1 数据库连接类的设计173.5.2 过滤器类设计174 系统的详细设计194.1 数据库映射机制194.2 主要模块的设计说

8、明与界面展示204.2.1 登录模块设计204.2.2 考生模块设计214.2.3 教师模块设计225系统测试245.1 软件质量245.2 软件测试245.3 考生管理测试255.4 教师管理测试265.5 报告分析286 总结与展望306.1 总结306.2 展望31参考文献32附录33致谢351 绪论1.1 课题背景网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着Internet/Intranet 的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程

9、教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。Internet 技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet 的开放性、分布性的特点和基于Internet 的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet 的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大

10、幅度提高考试成绩的客观性和公正性。网上考试系统课题产生是当今教育信息化的趋势及我国高校教育信息化系统的建设所需;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet 来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅

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

12、各类考试中发挥高效,便捷的作用。本设计就是针对单项选择、多项选择、判断这类客观性考试题为主的考试系统设计,这类客观试题的改卷相对单一,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。本系统采用J2EE技术,完成了考生与教师这两个角色的一些基本功能,对于考生,可以通过本系统完成:在线修改个人信息、在线考试、在线练习、查询考试记录、查询练习记录、查询成绩、等功能;对于教师,可以通过本系统完成:在线修改个人信息、在线出题、在线组卷、随机组卷、查询成绩、修改信息等功能。该系统界面简单、操作方便、维护容易,经过测试以上功能成功实现

13、,系统可靠性良好2 系统应用的关键技术2.1 JSP技术介绍2.1.1 JSP的概述JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整

14、体的页面布局。2.1.2 JSP的运行机制JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象,JSP请求的步骤如下:1用户机请求一个JSP页面。2JSP引擎编译该JSP成一个servlet。3生成的servlet被编译并装载。4编译的servlet服务请求并把一响应发送回用户机。J

15、SP主要是针对Java程序处理不熟悉的人设计的。与Servlet相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Servlet方便。2.1.3 JSP与ASP的比较JSP与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较: 1Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。 2平台的支持:JSP

16、具有平台独立性,只要是一般的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的安

17、全结构。 6与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。 7用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。2.2 Java组件JavaBeans2.2.1 什么是JavaBeansJavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数

18、情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。2.2.2 JSP与JavaBeans的关系使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。在服务器端,JSP引擎解释JSP标识和小脚

19、本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。2.3 关于Struts22.3.1 Struts2简介虽然Struts2号称是一个全新的框架,但这仅仅是相对Stru

20、ts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVA

21、EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2.在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 22.3.2 Struts2的工作原理工作流程当接收到一个httprequest Interceptor做一些拦截或者初始的工作当外部的httpservletrequest到来时初始到了servlet容器 传递给一个标准的过滤器链ActionContextCleanUp这个在集成插件方面非常有用Other filters(SitMesh,etc)调用F

22、ilterDispatecher会去查找相应腁ctionMapper如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy ActionProxy将会通过ConfigurationManager来查找配置struts.xml下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)一旦action返回,会查找相应的Result Result类型可以是 jsp或者freeMark 等这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)响应的返回是通过我们在web.

23、xml中配置的过滤器如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocal ActionContext如果ActionContextCleanUp不使用,则将会去清理sreadlocals。2.3.3 Struts2与Struts1的区别1. Action 类Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口;Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实

24、现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。2. 线程模式Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)3. Servlet 依赖Struts1 Action 依赖于

25、Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。4. 可测性测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个

26、第三方扩展Struts TestCase提供了一套Struts1的模拟对象(来进行测试)。Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。5. 捕获输入Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriv

27、en 特性简化了taglib对POJO输入对象的引用。2.4 关于Spring2.4.1 Spring简介Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2.4.2 为什么需要Spring当已经有许多开放源代码(和专有) J2EE framework时,我

28、们为什么还需要Spring Framework?Spring是独特的,因为若干个原因:1它定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。 2Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 3它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。Spring对你的工程来说,它不需要一个以上的frame

29、work。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。2.4.3 为什么使用Spring通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务

30、的管理,提高开发效率和质量。2.5 关于Hibernate2.5.1 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。2.5.2 Hibernate的优势是什么Hibernate封装了jdbc,简化了很多重复性代码,它简化了DAO

31、层编码工作,使开发更对象化了,而且Hibernate有很好的移植性,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。由于hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性,所以说它是一个轻量级框架,使用起来非常方便。2.6 关于MysqlMySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进

32、行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C+、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.7 Tomcat

33、服务器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的特点与优势在T

34、omcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。2.7.3 Tomcat服务器的安装和配置在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,

35、就只需TOMCAT即可。表2-1环境变量设置参考数据变量名变量值CATALINA_HOMED:Program Filestomcat6.0CLASSPATH.;%JAVA_HOME%lib;%CATALINA_HOME%lib2.8 关于B/S开发模式2.8.1 B/S与C/S有什么区别B/S是指浏览器和服务器端,在客户机端不用装专门的软件,只要一个浏览器即可而C/S是指客户机和服务器,在客户机端必须装客户端软件后,才能访问服务器如sqlserver2000软件体系结构定义了软件的局部和总体计算部件的构成,以及这些部件之间的相互作用关系。部件包括诸如服务器、客户、数据库、过滤器、程序包、过程、

36、子程序等一切软件的组成成份。相互作用关系包括诸如过程调用、共享变量访问、消息传递等。相互作用也包括具有十分复杂的语义和构成关系,诸如客户/服务器的访问协议、数据库的访问协议网络的传输协议、异步事件的映射等,除了描述系统的构成和结构关系外,在系统的功能需求方面,体系结构还表达了系统需求和构成之间的对应关系。2.8.1 为什么使用B/S开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下

37、问题:1系统安装、调试、维护和升级困难。由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,在软件升级时也要对用户端分别处理。2在整个系统中,业务逻辑和用户界面都集中到了用户端,必然会增加安全隐患。 与此同时B/S模式带来了巨大的好处:1开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的

38、用户端只有浏览器,网络管理人员只需要做硬件维护。 2良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有用户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。3 系统需求分析和总体设计3.1 系统的功能需求图3-1 系统结构图如图3-1所示本系统总体分为四个部分,分别为:用户管理、试题管理、试卷管理、成绩管理。1用户管理:这部分又分为学生管理与教师管理,分别对学生与教师的相关信息进行添加、修改、删除等操作。2试题管理:这部分主要对试题的相关信息进行添加、修改、删除等操作。3试卷管理:这部分主要对试卷的相关信息进行添加、修改、删除等操作。

39、4成绩管理:这部分主要实现用户查询成绩的功能。3.2 系统角色及其功能分析基于以上需求,本系统主要面向三个对象:教师、考生、管理员,管理员的功能主要完成对教师、考生、试题、试卷增删改查操作,这个模块主要由组内的其他成员完成,本设计主要完成了学生与教师在在线考试系统的基本功能:1考生:考生通过一系列程序获得在系统管理员统一分配帐号和初始密码后,可以修改自己的密码和相关信息进行修改;进入系统后可以完成在线练习、考试、练习成绩、考试成绩查询、考试记录、查询自己的练习与考试成绩等操作。2教师:在系统管理员统一分配帐号和密码后,教师可以进行修改自己的密码和其他相关信息,进入系统后可以进行在线出题与组卷等

40、操作,其中组卷分为随机组卷与手动组卷、查阅学生的成绩等操作。3.3 总体设计思想概述本系统是基于B/S架构下的多层结构应用系统。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了用户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 在软件体系架构设计中,分层式结构是最常见,也是最重要的一

41、种结构。推荐的分层式结构一般分为三层,从下至上分别为:数据访问(持久)层、业务逻辑层(或称为领域层)、表示层,如图3-2:图3-2 系统架构总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的API,而下层组件则不依赖于上层组件。例如:表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开API,但具体的实现细节对外透明。当某一层发生变化,只要API不变,不会影响其他层的实现。在本系统中,使用开源的mysql数据库,持久层用到spring所集成的Hibernate技术,业务逻辑

42、层用到spring的控制反转技术(Ioc),表述层运用struts2进行展示,使前台数据更容易被后台访问。3.4 数据库设计3.4.1 E-R图图3-3 系统E-R图3.4.2 数据表的设计下面列出了系统设计过程中所用到的数据库表及其结构:表3-1 tb_student表用来保存学生的信息标识字段类型长度是否主键是否外键允许为空备注ididint是否学号stu_numbervarchar20否学生姓名stu_namevarchar20否性别sexvarchar20否0-为女,1-为男专业majorsvarchar20是否班级gradesvarchar20是否密码passwordvarchar2

43、0否录入日期createdatedatatime20否表3-2 tb_ teacher表用来保存教师的信息标识字段类型长度是否主键是否外键允许为空备注ididint是否工号teacher_numbervarchar20否教师姓名teacher_namevarchar20否性别sexvarchar20否0-为女,1-为男密码passwordvarchar20否录入日期createdatedatatime20否表3-3 tb_manage表用来保存超级管理员的信息标识字段类型长度是否主键是否外键允许为空备注ididint是否工号manage_numbervarchar20否管理员姓名manage_

44、namevarchar20否性别sexvarchar20否0-为女,1-为男密码passwordvarchar20否录入日期createdatedatatime20否表3-4 tb_topic表用来保存题目的信息标识字段类型长度是否主键是否外键允许为空备注题目IDtopic_idint20是否题目描述topic_dicrvarchar500否预设答案topic_panswervarchar200答案topic_answervarchar200否题目类型topic_typevarchar20是否题目难度topic_levelvarchar20是否课程subject_idvarchar20是否录入

45、教师工号teacher_numbervarchar20是否录入日期createdatedatatime20否表3-5 tb_topic_type表用来保存题目类型的信息标识字段类型长度是否主键是否外键允许为空备注题目类型IDtopic_type_idint20是否题目类型名称topic_type_namevarchar20否表3-6 tb_topic_level表用来保存题目难度等级的信息标识字段类型长度是否主键是否外键允许为空备注题目难度IDtopic_level_idint20是否题目难度名称topic_level_namevarchar20否表3-7 tb_majors表用来保存专业的信息标识字段类型长度是否主键是否外键允许为空备注专业IDmajors_idint20是否专业名称majors_namevarchar20否表3-8 tb_subject表用来保存课程的信息标识字段类型长度是否主键是否外键允许为空备注课程IDsubject_idint20是否课程名称subject_namevarchar20否表3-9 tb_score表用来

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服