基于Java的在线考试系统的设计与实现.doc

上传人:jian****018 文档编号:7987007 上传时间:2020-03-26 格式:DOC 页数:53 大小:1.72MB
返回 下载 相关 举报
基于Java的在线考试系统的设计与实现.doc_第1页
第1页 / 共53页
基于Java的在线考试系统的设计与实现.doc_第2页
第2页 / 共53页
基于Java的在线考试系统的设计与实现.doc_第3页
第3页 / 共53页
点击查看更多>>
资源描述
JISHOUUNIVERSITY本科生毕业论文题 目:基于Java的在线考试系统的设计与实现作 者:.学 号:200840430.所属学院:数学与统计学院专业年级: 信息与计算科学08级指导教师:戴厚平职 称:讲师完成时间:2012年5月24日吉首大学教务处制基于Java的在线考试系统的设计与实现摘要 随着计算机互联网技术的飞速发展,计算机在各行各业的应用越来越广泛。 开发一个全新的网上在线考试系统已经越来越重要了。本文阐述了基于Java的在线考试系统的设计与实现。采用MyEclipse6.5作为开发工具,使用MVC开发模式,框架使用了目前流行的Struts+Spring+Hibernate,数据库使用Oracle9I。该系统主要有三大模块:管理员模块主要包括对四种考题的增删改查操作。老师模块主要是完成对学生考完的试题进行批阅,完成打分(这里不包括对选择题和判断题进行打分);学生模块主要是修改信息,修改密码,完成在线考试,查看自己考试过的成绩。关键词:MVC设计模式;Struts+Spring+Hibernate框架;oracle9I; Based on Java on-line examination system design and implementationAbstract With the rapid development of the computer to the Internet technology, the application of computer in all walks of life more and more widely. Developing a new on-line examination system has been more and more important.This paper expounds the Java based on on-line exam system design and implementation. The MyEclipse6.5 as a development tool, using MVC development mode, use the current framework of the popular Struts + Spring + Hibernate, database using Oracle9I. The system mainly has three modules: administrator module mainly including four examination questions to the increasing of removing check operation. The teacher module mainly is to complete the examination questions to the student reviews, complete score (not including here to multiple choice questions and judgment scored); Students module mainly is to modify the information, change the password, complete online examination, check your examination of the results.keywords: MVC design mode; Struts + Spring + Hibernate framework; Oracle9I; 目 录第1章 绪论11.1 系统开发背景11.2系统开发的目的及意义11.3 开发语言简介21.4 应用技术介绍3第2章 可行性分析62.1 技术可行性62.2 经济可行性62.3 操作可行性6第3章 需求分析73.1 系统主要模块功能73.2 需求规范93.3系统开发及运行环境10第4章 系统概要设计114.1 系统功能模块图124.2数据实体结构设计12第5章 详细设计165.1系统详细设计的目的与任务175.2 模块详细设计17结束语43参考文献45第1章 绪论1.1 系统开发背景随着计算机互联网技术的飞速发展,计算机在各行各业的应用越来越广泛, 而且网络化是21世纪计算机技术发展的重要趋势之一。目前,我国的计算机网络发展己初具规模,大部分高校的校园网都已开通。因此,如何充分利用高校校园网络,发挥其巨大功能来为高校的教学和科研服务成为摆在我们面前的一个需要深入探讨和解决的重大课题。随着网络技术的日益成熟,网页技术的应用已经深入到了生活的每个角落。开发一个全新的网上在线考试系统与传统的考试模式相比它的优点有:考试方便,不受地域的限制,只需要有网络就可进行考试;节约了大量成本,完全不需要纸张和笔;节省了时间,由系统自动阅卷;拥有海量题库,可随意抽取试卷考试。1.2系统开发的目的及意义1.2.1系统设计的目标本网上在线考试系统是结合实际需要,在围绕广大师生利益的情况下进行开发。该系统的目标有:1. 系统应具有友好的用户界面,能够让用户在登录本网站时感到操作方便、反应迅速和愿意再次登录本网站。2. 系统应具备在线运行功能,应使用户通过网络随时随地的应用该系统。教师也可以通过网络随时批阅学生的考卷以及查看批阅后的成绩,管理员可以在任何地方进行四种题型的增删改查。3. 系统应该具备安全的数据存储,方便快捷的增删改查,并且具有一定的自动操作功能,使一些固定和常用的操作自动完成无需用户干预,例如:自动阅卷(填空题和大题除外)、自动生成学生成绩表和考试统计表等。4. 系统应该在学生模块考试时设定考试时间,超过考试时间不允许作答,老师在批阅试卷打分时,不能让老师输入错误的分数值,如负数和非数字类型的数字不允许输入。1.2.2系统特点一个现代化的在线考试系统概括起来应该具有如下特点:(1)系统最大限度的实现了易维护性和易操作性;(2)方便了学生和老师考卷和批改卷子,大量的节省人力和物力;(3)管理员能精确的定位四种题型,并能进行CRUD操作,还能根据提供的筛选条件进行题目的筛选;(4)界面设计友好、美观,数据存储安全可靠。1.2.3系统开发的意义 基于j2EE技术的网上在线考试系统为各地高校的老师和学生们提供了极大的方便。为学生提供在线考试的平台,同时能节省大量的人力和物力。管理员可以插入海量题库,数据存储安全可靠。1.3 开发语言简介Java是一种简单易用、完全面向对象、有平台无关性、安全可靠的、主要面向Internet的开发工具。Java自从1995年正式问世以来,它的快速发展已经让整个web世界发生了翻天覆地的变化。随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java成为基于web 应用程序的首选开发工具。Java是第一套允许使用者将应用程序通过Internet从远端服务器传输到本地机上并执行的一种语言;是一种应用程序提供者不需要知道使用者的计算机硬件与软件环境的语言。比尔盖茨曾经说过:“Java是最卓越的程序设计语言。”Java自问世以来,技术和应用发展非常快,在计算机、移动电话、家用电器等领域中无一没有Java技术的存在。在Internet上,几乎每个网页都包含Java程序或代码。由于Java的广泛应用,使它受到了史无前例的关注,Java是一种Internet编程语言,Java还曾是网络动画技术的代名问,Java虚拟机更足让人耳目一新,Java简单易学、跨平台而又不失强大功能。相比其他语言,Java技术平台具有鲜明的优越性。从最初建造Java平台开始,就考虑了安全性的问题,即其安全性是建立在Java平台的内核中的。其他的语言只是在软件开发时才由用户自行处理其安全问题,难免会有安全漏洞。其次,对于程序员来说,Java语言比以往其他的任何一门语言都好用,原因在于:Java有自动回收垃圾的功能,Java增加了对象和变量的强制类型检查,Java还取消了指针。目前,Java技术的架构包括以下三个方面:J2EE(Java 2 Platform Enterprise Edition)企业版,是以企业为环境而开发应用程序的解决方案:J2EE目前已经成为开发商创建电了商务应用的事实标准。J2SE(Java 2 P1atform Stand Edition)标准版,是桌面开发和低端商务应用的解决方案:J2SE是Java 2平台的标准版,它适用于桌面系统,提供了CORBA标准的ORA技术,结合Java的RMI支持分布式互操作环境。J2ME(Java 2 P1atform Micro Edition)小型版,是致力于消费产品和嵌入式设备的最佳解决方案:J2ME提供了HTTP高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,不同的C1ient访问不同的文件,此外还能访问本地存储区,提供最高效率的无线文流。时至今日,Java仍然一步一步地朝着远大的梦想而迈进,显而易见的成果便是在国际互联网中的应用,如今常见的浏览器也都全面支持Java Applet以及衍生出来的JavaScript语言等,而市面上可见的操作系统,也利用Java的跨平台特性来开发,包括Windows系列、各类Unix和Linux、MVC等操作系统,都可以看到Java的踪迹。这一切都充分说明了Java在计算机语言大家庭中的地位。Java对Internet编程的影响就如同C语言对系统编程的影响一样。1.4 应用技术介绍1.4.1 JSP简介JSP(Java Server Pages)是目前十分流行的一种技术,主要用于发服务器端的脚本程序和动态生成网站。它与目前同样流行的ASP技术、ASP.NET技术是相同性质的、同一层次的,它们在网站的建设中所起的作用是一样的,但是JSP技术与这两种技术相比,有着十分突出的优越性,因为JSP技术有J2EE平台支持,发展前途不可限量。众所周知,J2EE平台提供了Java企业应用编程接口(Java Enterprise APIs),为企业计算以及电子商务应用系统提供了相关的技术支持和强大的类库支持。J2EE平台包含十几种技术,JSP技术正是其中的一种核心技术。J2EE的发展势头十分迅猛,在可以预见的将来,Sun的J2EE平台可能是惟一可以与微软的.NET构架相抗衡的平台。从这个意义上来说,基于J2EE平台的JSP技术与基于.NET平台的ASP、ASP+技术之争,不正好就是J2EE平台与.NET平台之争的折射吗?因此JSP技术以及它的基础J2EE技术十分值得我们关注。1.4.2 MVC简介模型视图控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式。(1)、MVC如何工作:MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(Model)、视图(View)、控制器(Controller)。它们各自处理自己的任务。 视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Web Services.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 (2)、为什么要使用MVC:大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问应用程序。对此,其中一个解决之道是使用MVC,无论用户想要Flash界面或是WAP界面;用一个模型就能处理它们。由于已经将数据和业务规则从表示层分开,所以可以最大化的重用代码了。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用MacromediaFlash和WAP来表示。模型也有状态管理和数据持久性处理的功能。因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果想把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦你正确的实现了模型,不管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的强内聚弱偶合的软件构件。1.4.3 Struts简介Struts最早是作为Apache Jakarta项目的组成部分问世运做。项目的创立者希望通过对该项目的研究,改进和提高JSP、Servlet、标签库以及面向对象的技术水准。Struts的目的是为了帮助开发者减少在运用MVC设计模型来开发Web应用的时间。仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlet和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。Struts 是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml配置文件。1.4.4 Spring简介 spring在英文里有春天、弹簧、跳跃和泉眼的意思。Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 1.4.5 Hibernate简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 1.4.6 Oracle9I简介 2000 年 10 月在Oracle Open World 上发布,为 Oracle数据库应用服务器和开发工具引进了许多新功能。Oracle9i是业界第一个完整、简单的用于互联网的新一代智能化的、协作各种应用的软件基础架构。Oracle9i 实际上是指 Oracle9iDataBase, Oracle 9i Application Server 和Oracle9i Developer Suite的完整集成。随着软件逐渐开始转变为一种托管服务( hosted services),具有Internet上的高伸缩性能的、智能化的、和可靠的Oracle9i 将成为高质量的电子商务服务实现的关键软件。1.4.7 Tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。第2章 可行性分析可行性研究(Feasibility Study)是为了弄清所定义的项目是不是可能实现并值得进行。可行性研究的目的是用较小的代价尽可能快的确定问题是否能够解决,是否值得解决,并通过分析以避免冒太大的风险。下面从三个方面分析本系统的可行性。2.1 技术可行性本系统在WindowsXP操作系统下开发的基于B/S体系结构的Struts+Spring+Hibernate框架的MVC模式的系统,采用MyEclipse6.5、Tomcat5.5、DreamWeaver、PLSQL作为开发工具。本系统后台采用Oracle9I 数据库,其具有跨平台性,可靠性、易用性。软件运行环境:终端支持运行Windows的计算机、数据库支持各种流行的大型关系数据库,数据库服务器支持Windows等各种操作系统。2.2 经济可行性开发本系统的经济成本低。系统所有功能由本人来实现,节省许多人力。物力资源开发本系统的经济成本相当低,而且使用Java开发、维护费用不高。开发的周期短。2.3 操作可行性网络化已经成为社会的趋势,本系统操作简单方便,用户可以通过阅读操作手册就能轻松使用该系统。第3章 需求分析软件需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。准确、完整和规范化的软件需求是软件开发成功的关键。它的重要性在于让用户完全清楚对软件系统的确切要求,它不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。也就是对目标系统提出完整、准确、清晰、具体的要求。反复的调查和研究,了解数据库的组织的详细情况,了解管理的业务流程等系统需求,它对于设计好概念模型是至关重要的。而需求分析的好坏直接影响到系统设计的好坏。3.1 系统主要模块功能3.1.1管理员模块管理员工作图如图3-1 所示: 图 3-1 (1).在登陆界面,登陆者选择管理员的角色,输入用户名和密码, 以及验证码,在验证全部通过后进入管理员的界面; (2).可以对四种题型进行增删改查的操作; (3).特别在查询时,可以添加筛选题目的条件; (4).点击退出 退回到原来登陆的界面;3.1.2老师模块老师工作图如图3-2所示: 图3-2 (1).在登陆界面登陆,者选择老师的角色,输入用户名和密码,以及验证码,在验证全部通过后进入老师的界面; (2).可以对未批阅的试卷进行批阅(只能批改填空题和大题,由老师酌情打分); (3).在状态为批阅的状态的试卷可以查看试卷的相关信息,包括试卷编号,试卷类型,选择题得分,填空题得分,判断题得分,大题得分,以及总分,以及是XX同学考试的; (4).点解退出按钮,退出到登陆界面;3.1.3学生模块图3-3 (1).在登陆界面,登陆者选择学生的角色,输入用户名和密码,以及验证码,在验证全部通过后进入学生的界面。 (2).查看自己考试过的并且是被老师批阅过的清单。 (3).修改自己的个人信息 (学号不能修改)。 (4).修改密码,该功能必须要学生记住原密码,否则是不能修改密码的。 (5).选择试卷类型 考生在选择试卷类型,并点击开始作答按钮时会进入到相应的试卷页面。3.2 需求规范3.2.1 产品背景基于j2EE技术的在线考试系统,可以自动对选择题和判断对错题进行评分,填空题和大题需要通过老师来评阅。3.2.2 产品概述系统开发的总体任务是实现各种信息的系统化、规范化、自动化。系统功能分析是在系统开发的总体任务的基础上完成。系统主要划分三大模块:管理员、老师、学生。管理员模块主要是在后台进行四种题型的增删改查。老师模块主要是在学生考试完试卷后对试卷进行评阅,并完成打分。学生模块主要是确认自己的信息是否无误,修改密码,选择试卷类型进行考试,以及可以查看自己考试的历史。3.2.3 性能需求本系统由Java语言所开发,所以具有高度的可移植性。1. 时间需求 在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户需求。2.灵活性 当用户需求,如操作方式,运行环境发生变化时,设计的软件要做适当调整,灵活性非常大。3.3系统开发及运行环境硬件平台: CPU:P41.8GHz; 内存:512MB以上;软件平台: 操作系统:Windows XP; 数据库:oracle9I; 开发工具包:JDK1.6.0以及MyEclipse6.5; 服务器:Tomcat6.0; 第4章 系统概要设计概要设计的任务是根据需求分析得到的物理模型确定一个合理的软件系统的体系结构,作为系统的详细设计的基础和准备,概要设计是把系统里的方方面面简明在文章中加以阐述,以便读者可以大概的了解系统的全部。其中概要设计需要设计以下几点,引言,编写目的,背景,定义,参考材料,总体设计,需求分析,运行环境,功能模块的划分,结构,功能,性能,算法,限制条件,测试计划。在系统概要设计阶段,主要完成的任务有:(1)确定系统基本模块,给出系统功能模块图;(2)确定系统模块要实现的基本功能;(3)完成数据逻辑结构的设计和系统数据库的设计。4.1 系统功能模块图图4-1系统功能模块图4.2 数据实体结构设计4.2.1 实体表 (1).管理员表(管理员ID,账号,密码,真实姓名,注册时间,状态)。 (2). 学生表(学生stuID,账号,密码,性别,身份证id,邮箱,真实名字,上次登录的时间,所在大学,所学的专业,班级名称,是否禁用,是否在线,注册时间)。 (3). 老师表(老师id号,账号,密码,职位,邮箱,所在部门)。 (4). 选择题表(id,choiceID,文本内容,类型,所属试卷类型,状态)。 (5). 填空题表(id,文本内容,试卷类型,状态)。 (6). 填空回答表(id,所属试卷的编号,填空题问题的id,回答的内容)。 (7). 判断题(id,文本内容,所属的试卷类型,状态,正确答案)。 (8). 大题(id,文本内容,所属试卷的类型,状态)。 (9). 大题回答表(id,所属试卷的编号,大题问题的id,回答的内容)。 (10).成绩表(id,学生的id,选择题得分,填空题得分,判断对错得分,大题得分,总分,状态,所属试卷类型)。4.2.2 实体E-R图id账号账号 部门真实名字密码 邮箱老师 密码状态id管理员 真实名字注册时间 职位 图4-2管理员实体图 图4-3老师实体图 账号密码choiceContent choiceIdid身份证性别学生试卷类型选择题choiceTypee真实名字邮箱 id状态所在大学上次登录提么班级名称专业 图4-5选择题实体图注册时间是否在线是否禁用 图4-4学生实体图 choiceIdidtbl_mark_ididchoiceA填空题选择题选项correctAnswerrchoiceBstatusblank_idchoiceCchoiceD 图4-6选择题选项实体图 图4-7填空题实体图ididcontenttbl_mark_id 填空回答 判断题typeblank_idanswer_contentstatuscorrectAnswer 图4-8填空回答实体图 图4-9判断题实体图 ididcontent 大题回答 大题tbl_mark_idtypebig_idanswer_contentestatus 图4-10大题实体图 图4-11大题回答实体图 iduserId choiceScore judgeScore 试卷blankScorebigScoretotalScoretypestatus 图4-12试卷实体图 选择题 n填空题 管理 n判断题管理员 1 n 大题 n 图4-13管理员与四种题型题目的关系图 查看试卷学生 1 n 图4-14学生与试卷的关系图 查看老师试卷 1 n 图4-15老师与试卷的关系图 4.2.3 数据库设计 数据库是本系统核心和基础。它把本中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计是在既定(本系统使用MySql)的数据库管理系统基础之上建立数据库的过程。其过程是将现实存在的数据及其应用处理关系进行抽象,从而形成数据库结构。数据库是数据库应用程序的核心。数据库设计是建立一个应用程序最重要的一步。一个好的数据库结构和文件设计可以使系统在已有的条件下具有处理速度快,占用存储空间少,操作处理过程简单,查找容易,系统开销和费用低等特点。具体实现时,应首先明确用户对数据的需求,在此基础上,建立数据库的概念模型,概念模型主要是用来反映用户的现实环境和需求,它独立于具体的数据库管理系统,并且与数据库怎样实现无关,建立概念模型的主要工具为实体关系(E-R)图;在建立数据库概念模型之后,要真正实现与数据库管理系统的结合,即能够由既定的数据库管理系统所支持,还必须进行逻辑结构的设计,在逻辑设计阶段,主要完成建立数据库的逻辑模型,并解决数据的完整性、一致性、安全性和有效性等问题;最后一个阶段是数据库的物理结构设计,其任务是为系统逻辑结构模型确定合理的存储结构、存取方法、以及数据表示和数据存储空间分配等内容,从而得到具体的数据库物理结构。1数据库名称:olts;2数据库表结构:对数据库中实现具体表的详细设计。如下所示,各数据库表的字段名、类型、长度、是否为空等信息进行了详细的描述。 表4-16 tbl_admin管理员表列名数据类型长度允许为空IDNumber2userNameVarchar2100YesuserPwdVarchar2100YesreallyNameVarchar2100YesregisterTimedateYesstatusnumber1Yes 表4-17 tbl_teacher老师表列名数据类型长度允许为空IDInteger不限teacherNameVarchar2200YespwdVarchar2400YesreallyNameVarchar2100YespositionVarchar2100YesemailVarchar2200YesdepartmentVarchar2200Yes 表4-18 tbl_student 学生表列名数据类型长度允许为空IDInteger不限userNameVarchar250YesPwdVarchar2300YesGenderVarchar220YesstuCardIdVarchar2200YesEmailVarchar2200YesreallyNameVarchar2200YeslastLoginTimeVarchar2200YesUniversityVarchar2100YesMarjorVarchar250YesclassName Varchar2 100YesisEnable Varchar220YesisOnlineVarchar220YesregistertTimeVarchar2100 Yes 表4-19 tbl_choice_question 选择题表列名数据类型长度允许为空IDVarchar2100choiceIdInteger不限YeschoiceContentVarchar2200YeschoiceTypeVarchar250YeschoiceTestTypeVarchar250YesStatusVarchar220Yes 表4-20 tbl_choices_items选择题选项表列名数据类型长度允许为空IDVarchar2100choiceIdInteger不限YeschoiceAVarchar2 200YeschoiceBVarchar2200YeschoiceC Varchar2200YeschoiceD Varchar2200YescorrectAnswer Varchar2 20Yes 表4-21 tbl_blank填空题表列名数据类型长度允许为空IDInteger不限blankContentVarchar2400YesTypevarchar 220YesStatusVarchar220Yes 表4-22 tbl_blank_answer填空回答表列名数据类型长度允许为空IDInteger不限Tbl_mark_idInteger不限YesBlank_idInteger不限YesAnswer_contentVarchar2200Yes 表4-23 tbl_judge判断题表列名数据类型长度允许为空IDVarchar250ContentVarchar2200YesTypeVarchar220YesStatusVarchar220YescorrectAnswerVarchar220Yes 表4-24 tbl_big大题表列名数据类型长度允许为空IDInteger不限ContentVarchar2600YesType Varchar220YesStatus Varchar220Yes 表4-25 tbl_big_answer 大题回答表列名数据类型长度允许为空IDInteger不限Tbl_mark_idInteger不限YesBig_idInteger不限YesanswerContentVarchar2200Yes 表4-26 tbl_mark 试卷表列名数据类型长度允许为空IdInteger不限userIdInteger不限YeschoiceScoreNumber2YesjudgeScore Number2YesblankScore Number 5YesbigScoreNumber5YestotalScoreNumber6YesStatusVarcahr220YesTypeVarchar220Yes 表4-27 view_choice_items 选择题与其选项的视图表列名数据类型长度允许为空choiecIdInteger不限choiceContentVarchar2200YeschoiceTypeVarchar220YeschoiceTestTypeVarchar220YesStatusVarchar220YeschoiceANumber200YeschioceBVarchar2200YeschoiceCVarcahr2200YeschoiceDVarchar2200YescorrectAnswerVarchar2200Yes创建的序列语句CREATE SEQUENCE seq_mark_id START WITH 1 INCREMENT BY 1;CREATE SEQUENCE seq_BLANK_ANSWER_ID START WITH 1 INCREMENT BY 1;CREATE SEQUENCE SEQ_TBL_BIG_ANSWER_ID START WITH 1 INCREMENT BY 1;CREATE SEQUENCE SEQ_BIG_ID START WITH 1 INCREMENT BY 1;CREATE SEQUENCE SEQ_BLANK_ID START WITH 1 INCREMENT BY 1;CREATE SEQUENCE SEQ_JUDGE_ID START WITH 1 INCREMENT BY 1;CREATE SEQUENCE SEQ_USER_ID START WITH 1 INCREMENT BY 1; 第5章 详细设计详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。总体设计阶段已经确定了软件系统的总体结构,给出了系统中各个组成模块的功能和模块间的联系。这一步的工作,就是要在上述结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。需要指出,这些描述应该用详细设计的表达工具来表示,但它们还不是程序,一般不能在计算机上运行。详细设计是编码的先导。这个阶段所产生的设计文档的质量,将直接影响下一阶段程序的质量。为了提高文档的质量和可读性,说明书除了说明详细设计的目的、任务与表达工具外,还要介绍结构程序设计的基本原理,以及如何用这些原理来指导模块内部的逻辑设计,提高模块控制结构的清晰度。5.1系统详细设计的目的与任务详细设计的目的,是为确定软件结构图中的每一个模块所采用的算法和模块内数据结构,用流程图给出清晰的描述。详细设计阶段的任务是在总体设计的基础上进一步确定如何实现目标系统,包括以下内容:1.确定每一模块使用的数据结构;2.确定每个模块实现的功能,确定流程图; 3.为每个模块确定采用的算法,写出模块的详细过程性描述,即代码实现。5.2 模块详细设计5.2.1 管理员模块设计5.2.1.1管理员登陆界面 在浏览器的地址栏中输入如下地址:http:/localhost:8082/onlinets/login.do?method=login进入到如下的页面,如图5-1所示:图5-1 管理员登录页面在该页面中输入管理员的账号和密码以及验证码,在选择身份时选择管理员的身份。验证码的主要代码实现如下:public class ImageAction extends BaseAction private static final long serialVersionUID = 1L;public ActionForward execute(ActionMapping map, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws IOException / 设置页面不缓存response.setHeader(Pragma, No-cache);response.setHeader(Cache-Control, no-cache);response.setDateHeader(Expires, 0);response.setContentType(image/jpeg);/ 在内存中创建图象int width = 60, height = 20;BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);/ 获取图形上下文Graphics g = image.getGraphics();/ 生成随机类Random random = new Random();/ 设定背景色g.setColor(getRandColor(220, 250);g.fillRect(0, 0, width, height);/ 设定字体g.setFont(new Font(Times New Roman, Font.PLAIN, 18);/ 画边框/ g.drawRect(0,0,width-1,height-1);g.draw3DRect(0, 0, width - 1, height - 1, true);/ 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160, 200);for (int i = 0; i 155; i+) int x = random.nextInt(width);int y = random.nextInt(height);int xl = random.nextInt(12);int yl = random.nextInt(12);g.drawLine(x, y, x + xl, y + yl);/ 取随机产生的认证码(6位数字)String sRand = ;String s = 012345678901234567890123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678901234567890123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;for (int i = 0; i 255)fc = 255;if (bc 255)bc = 255;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r, g, b);在请求到达loginDispatcher中时 判断角色role的值 如果为0 相应的代码如
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!