还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章绪论随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的__架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据
1.1题目的背景随着信息技术的飞速发展和社会信息化程度的不断提高,特别是进入刚强信息代化的时代,网络应用范围不断扩大,发展以互联网为主要手段的网上考试己成为当今考试模式发展的趋势在线考试系统是通过网络进行考试的平台在线考试在现实中有着广泛的应用像一些公司、企业、学校都建立了自己的网络考试平台随着经济的发展,越来越多的人拥有了私家车,但如何成功考取驾驶证成了很多人面对的难题为了适应驾驶员培训教育发展的新需要,提高学员考试的通过率,探索适合于驾驶员理论考试网上模拟新模式已经出现了该系统不受时间和空间的限制,考生可以在任何闲暇时间进行练习和自我考查考生不需金钱的投入;阅卷人员可以大大减轻工作量
1.2课题的现状和发展趋势计算机在管理中的应用开始于1954年,当时美国首先用计算机处理工资单40多年来,计算机在处理管理信息方面发展迅速例如,60年代美国计算机在管理中应用项目不到300项,到了1975年达到2670项而现在,美国在财务会计上90%的工作由计算机完成;物资管理中80—100%的信息处理由计算机完成;计划管理中是80—90%据计算机应用方面发展较快的国家统计,计算机用于经济管理的约占80%;用于科技运算的占8%;用于生产过程控制的占12%我国在全国范围内__计算机在管理中的应用,是在70年代末开始的,虽然起步较晚,近几年发展却较快,特别是微型计算机的出现和普及为信息处理提供了物美价廉的手段,对于推动我国考试信息处理的现代化起了重要的作用驾校是考试非常频繁的单位每次的考试工作人员都会进行试题整理、复印卷子、批判卷等一系列的繁琐工作,对工作人员造成诸多不便试题整理会浪费时间;复印卷子还要核对考试人数;判卷更是一件麻烦的事所以驾驶员在线考试系统就这样诞生了,它的出现就是要方便学员的理论考试
1.3目的意义现阶段学校与社会上的各种考试大都采用传统的考试方式在此方式下,__一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和__分析显然随着考试类型的不断增加及考试要求的不断提高,驾校员工的工作量将会越来越大并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现__试的需要随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户在线考试系统,正是信息化建设的产物,它是传统考场的延伸它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段将计算机与网络技术应用于现代教育考试中,是现__试发展的需要,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率是提高管理水平的必要手段第二章可行性研究该机动车驾驶员考试__系统主要采用JSP、J__a、HTML、SQL数据库等技术和工具,以及整合当今流行的网页程序__集成工具DreamWe__er和J__a__环境MyEclipse整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段下面就对这几种技术和方法做一个概述
2.1技术可行性基于浏览器的机动车驾驶员考试__系统,关键技术在于网页的动态显示和管理,即从数据库中取得相应的__数据,并收集用户输入数据,能够对考试过程进行控制采用最新的Jsp与SQL技术__,管理端和用户界面全部采用B/S模式构建,系统的部署,应用,维护更加方便同时,开源数据库MySql提供了数据库管理的能力,因此技术方案是成熟的和可行的
2.
1.1J__a技术简介J__a是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的__工具,同时J__a是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言自从1995年正式问世以来,J__a的快速发展已经让整个Web世界发生了翻天覆地的变化在早期,J__a比较多的用在浏览器上,插入到网页中即是J__aApplet程序,成为最灵活、最强大的网页多媒体的载体,但由于J__a虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着J__aServlet的推出,J__a在电子商务方面开始崭露头角,最新的JSPJ__aServerPage技术的推出,更是让J__a成为基于Web的应用程序的首选__工具,目前的J__a技术已成为所有大型web项目的必然选择J__a程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理例如J__a程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来在编程处理上,一般先生成一个URL类型的对象,然后用J__a中相应的方法(method)获取该对象所代表的资源
2.
1.2JSP技术简介JSP可以一次编写,到处运行在这一点上J__a比其它的更出色,除了系统之外,代码不用做任何更改,基本上可以在所有平台上的任意环境中__,在任意环境中进行系统部署,在任意环境中扩展相比其它的局限性是显而易见的,从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,J__a显示了一个巨大的生命力同时J__a已经有了许多非常优秀的__工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下JSP技术使用J__a编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的__变得迅速和容易Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户插入的J__a程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能当Web服务器上的JSP页面第一次被请求执行时,JSP引擎先将JSP页面文件转译成一个J__a文件,即Servlet,J__aServlet是基于服务器端编程的API,用J__aServlet编写的J__a程序称为servlet,servlet通过HTML与客户交互服务器将前面转译成的J__a文件编译成字节码文件,再执行这个字节码文件来响应客户的请求当这个JSP页面再次被请求时,只要该JSP文件没有被改动,JSP引擎就直接调用已装载的Servlet如下图所示
2.
1.3To__ct、SQLServer和MyEclipse简介
(1)To__ctTomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同__而成由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等__应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能,因而深受J__a爱好者的喜爱并得到了部分软件__商的认可,本系统的__使用的Tomcat
6.0Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是__和调试JSP程序的首选对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求实际上Tomcat部分是Apache服务器的扩展,但它是__运行的,所以当你运行tomcat时,它实际上作为一个与Apache__的进程单独运行的
(2)SQLServerSQLServer是一个快速的、多线程、多用户和健壮的SQL数据库服务器SQLServer服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置__ss-deployed的软件中去SQLServer是一个数据库管理系统一个数据库是一个结构化的数据__它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息__如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和__应用程序或其他部分应用程序一样扮演着一个重要的角色SQLServer是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性“MySQL”中的SQL代表“StructuredQueryLanguage”(结构化查询语言)SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准SQL标准发展自1986年以来,已经存在多个版本SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前版本
(3)MyEclipseMyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J__aEE的__、发布,以及应用程序服务器的整合方面极大的提高工作效率它是功能丰富的J__aEE集成__环境,包括了完备的编码、调试、测试和发布功能,完整支持HTMLStrutsJSFCSSJ__ascriptSQLHibernate在结构上,MyEclipse的特征可以被分为7类(
1.J__aEE模型(
2.WEB__工具(
3.EJB__工具(
4.应用程序服务器的连接器(
5.J__aEE项目部署服务(
6.数据库服务(
7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J__aEE集成__环境,支持代码编写、配置、测试以及除错,本系统在__过程中使用的是MyEclipse
6.
0.
12.
1.4J__aJsp与数据库访问我使用Hibernate这个开源框架来和数据库建立持久化对象模型Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使J__a程序员可以随心所欲的使用对象编程思维来操纵数据库它不仅提供了从J__a类到数据表之间的映射,也提供了数据查询和恢复机制相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HibernateQL从数据库提取数据的代码的编写量,从而节约__时间和__成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器
2.2经济可行性系统的经济可行性指的是对__的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计本模块简单易__,且__需要资金少,系统__运行后,可以实现学生信息管理的计算机化,节省了人力、物力,将人从繁重的工作业务中解脱出来,减少了信息管理中无意的错误,节省了大量的时间,管理效率也大幅度提高,因此,在经济上是可行的所带来的效益远远大于系统软件的__成本在经济上完全可行
2.3操作可行性目前,大多数PC机和局域网能够软件系统运行该系统,该系统的__、调试、运行不会改变原计算机系统的设置和网络的布局,并且大多数用户几乎不用做任何培训都能够方便的操作软件对于用户来说,本系统只要求使用者掌握一定的上网经验,经过仔细设计和测试之后的系统具有操作简单,方便灵活等优点,足可以满足各种用户的不同需求,同时也方便了公司的内部管理管理人员及用户一定会在短时间内掌握并熟练使用只要动一动鼠标键盘就可以达到想要的效果第三章需求分析在需求分析确定之后需要对系统进行整体分析和设计这包括系统功能模块的划分和系统功能的分析以及数据流图和数据字典
3.
1.系统功能模块划分模块划分时描述一个系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统__中一个关键过程分析的根本目的时在__者和提出需求的人员之间建立一种理解和沟通的机制因此机动车驾驶员考试__系统的驾驶员所需需求分析也是根据__者和实际用户需求一起来完成的根据驾驶员考试的业务逻辑把系统划分如图3-1下图3-1系统功能模块图
3.2系统功能分析
1、法律规定国家历年来颁布的各种交通法规和措施的原文内容包括道路交通安全法、道路交通安全法实施条例、道路运输条例、道路交通安全违法行为处理程序规定、交通事故处理程序规定、机动车驾驶证申领和使用规定、机动车驾驶证业务工作规范、机动车登记规定、机动车登记工作规范、机动车驾驶员培训管理规定、机动车驾驶员培训教学大纲、公安部三十条便民利民措施
2、标志标线国标GB5768-1999《道路交通标志和标线》中的各种交通标志、标线内容包括警告标志、禁令标志、指示标志、指路标志、辅助标志、旅游区标志、道路施工安全标志和道路交通标线
3、汽车构造根据分类详细介绍汽车的基本构造以及汽车的发展历程内容包括汽车发展历史概述、汽车名词解释大全、汽车引擎相关知识、汽车底盘相关知识、汽车电子设备知识、汽车安全装备知识、汽车车身构造知识
4、理科练习用户根据选择的题目类型进行答题选择,判断两种类型内容包括试题分类管理、练习范围设置、顺序出题练习、随机出题练习、有的放矢练习和模拟考试热身
5、术科要点关于术科场地考与道路考的一些相关内容内容包括各类准驾车型及代号、考试内容及合格标准、术科考试的车辆要求、术科考试的实践基础、场地考线路及其要求、场地桩考的操作要点、道路考场内驾驶项目、场地路考的过关技巧、道路考驾驶评判标准、道路考车辆操作要点、道路考场外行车指南、交通违法行为记分值第四章系统设计
4.
1.考试系统总体结构设计
4.
1.1__风格考虑
1、如果只用一句话来描述站点,应该是有创意,专业,有技术实力,有美感;
2、看到站点,可以联想到的色彩是幻想的草绿色;
3、看到站点,可以联想到的画面是一份早报;
4、如果__是一个人,他拥有的个性是思想成熟;
5、作为站长,希望给人的印象是敬业,认真投入,有深度,负责;
6、用一种动物来比喻,这个__最象鹰目光锐利;
7、浏览者觉得和其他__的不同是可以信赖,信息最快,交流方便;
8、浏览者和你交流合作的__是师生、朋友色彩
9、深色背景配浅色字体或者是浅色背景配深色字体,这样给人的感觉会比较清晰、自然、易接受;
10、图像与背景,图像与字体等之间的互配,颜色不能相差太悬殊,因为作为页面上的主要视觉元素来讲,颜色相差太远会影响整体的效果,给人不统
一、一气呵成的感觉,不实在;
11、不同色彩之间的对比会有不同的效果,当两种色同时在一起时,这两种色各自走向自己的极端是比较普遍的用法;
12、色彩间的对比也有纯度对比,举个例子,黄色是夺目的色,但是加入灰色会失去其夺目的光彩,通常可以用混入黑、白、灰色来对比纯色,这样可以减低其纯度纯度的对比会使色彩的效果更明确肯定;
13、色彩所处的位置的不同也会造成色彩对比的不同效果;
14、暗色中含高亮度的对比会给人清晰、激烈,很有强烈的__,如深黄到刺黄色,暗色中间含高亮度的对比,会给人沉着、稳重、深沉的感觉,中性色与低高度的对比,给人模糊、朦胧、深奥的感觉,如草绿中间是浅灰,纯色与高亮度的对比,给人跳跃舞动的感觉,如黄色与白色的、纯色与低亮度的对比,给人轻柔、欢快的感觉,如浅蓝色与白色、纯色与暗色的对比,给人强硬、不可改变的感觉;
15、一般说来普通的底色应柔和些素一些淡一些配上黑色字体读起来自然、流畅,不易疲劳;本系统主要采用草绿色为底色、左右框架式
4.
1.2登陆与导航模块登录模块分为用户注册与用户登录两大部分,已经有帐号的用户可以直接登录访问我们的__,第一次访问我们站点的用户需要由注册系统来注册一个帐号导航模块就是站点的相关的链接,我们设计了一些与考试相关知识的文章以及各种驾驶相关信息,可以方面大家学习
4.
1.3理科练习模块理科练习模块是本系统中的一个重要部分,它可以让用户在线考试练习测试,自动评分让用户了解自己掌握情况
4.
1.4管理模块管理模块也是本系统的另一个重要部分,主要有法律法规管理、标志标线管理、术科要点管理、汽车构造管理、理科练习管理等功能
4.
2.数据库的设计
4.
2.1基本概念管理模块也是本系统的另一个重要部分,主要有法律法规管理、标志标线管理、术科要点管理、汽车构造管理、理科练习管理等功能在系统中利用数据库是为了更方便的管理试题的数据,而建立一个考试系统一定要大量的的考试题目做为被用,因此一定要有数据库来管理这些数据,那么就一定要有个数据库来管理在考试系统中的数据库主要用于存储试题、答案、组卷信息、考生信息、考场信息、系统管理信息、模块维护信息等等而考试系统中的系统___主要是系统___来做的,而且维护起来简单安全下面将介绍下数据库的基本概念和数据库的发展数据(Data)数据实际上就是描述事物的符号记录数据库(Database,简称DB)数据库是__存储在计算机内有结构的大量的共享的数据__数据库管理系统(Database__nagementSystem,简称DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件数据库系统(DatabaseSystem,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其__工具)、应用系统、数据库___和用户构成数据库系统___(DatabaseAdministrator,简称DBA)负责数据库的建立、使用和维护的专门的人员
4.
2.2数据模型通过下面的三个数据模型的比较和特点的介绍就知道,我们___要在系统的数据库中引用关系模式,关系模式的特点使我们在考试系统的管理上更加快捷方便,适合现在大多数的数据库设计工具数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模
一、数据结构数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等
二、数据操作数据库主要有检索和更新(包括插入、删除、修改)两大类操作数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言
三、数据的约束条件数据的约束条件是一组完整性规则的__完整性规则是给定的数据模型中数据及其__所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容此外,数据模型还应该提供定义完整性约束条件的机制层次数据模型的结构层次模型用树形结构来表示各类实体以及实体间的__每个结点表示一个记录类型,结点之间的连线表示记录类型间的__,这种__只能是父子__每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而__存在只有一个结点没有双亲结点,称之为根结点根以外的其它结点有且只有一个双亲结点,用层次模型表示多对多__,必须首先将其分解成一对多__分解方法有两种冗余结点法和虚拟结点法网状数据模型的结构网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种__(称之为复合__)
1、关系数据模型的数据结构在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成有关概念关系对应通常说的表元组表中的一行即为一个元组属性表中的一列即为一个属性主码(Key)表中的某个属性组,它可以唯一确定一个元组域(Do__in)属性的取值范围分量元组中的一个属性值;关系模式对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)
2、关系数据模型的操纵与完整性约束关系数据模型的操纵主要包括查询、插入、删除和更新数据这些操作必须满足关系的完整性约束条件关系模型中的数据操作是__操作,操作对象和操作结果都是关系,即若干元组的__关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的__性,提高了用户生产率
3、关系数据模型的存储结构关系数据模型中,实体及实体间的__都用表来表示在数据库的物理__中,表以文件形式存储,每一个表通常对应一种文件结构
4、关系数据模型的优缺点优点关系模型是建立在严格的数学概念的基础上的无论实体还是实体之间的__都用关系来表示对数据的检索结果也是关系(即表),因此概念单一,其数据结构简单、清晰关系模型的存取路径对用户透明,从而具有更高的数据__性,更好的安全保密性,也简化了程序员的工作和数据库__建立的工作缺点由于存取路径对用户透明,查询效率往往不如非关系数据模型因此为了提高性能,必须对用户的查询请求进行优化,增加了__数据库管理系统的负担
4.
2.3数据库设计方法概述十余年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计方法规范设计方法中比较著名的有新奥尔良方法它将数据库设计分为四个阶段需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)基于E-R模型的数据库设计方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精
4.
2.4数据库设计的基本步骤按照规范设计的方法,考虑数据库及其应用系统__全过程,将数据库设计分为以下六个阶段1需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)需求分析是整个设计过程的基础2概念结构设计阶段概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个__于具体DBMS的概念模型3逻辑结构设计阶段逻辑结构设计是将概念结构转换为DBMS所支持的数据模型,并对其进行优化4数据库物理设计阶段数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)5数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,__数据入库,并进行试运行6数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行在数据库系统运行过程中必须不断地对其进行评价、调整和修改需要指出的是,这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计
4.
3.机动车驾驶员考试__系统建表及其说明考虑到整个系统的需要,我们一共设计了以下几个数据库表选择题表,判断题表,法律法规表,标线类型表,标线表,汽车类型表,汽车表,术科要点表其中,我们没有采取以往的直接建表方式建立数据库而是采用面向对象思想设计对象关系模型,然后通过hibernate技术实现数据库设计比以往方式更面向对象,更容易理解表名Choi__中文名选择题表说明保存选择题信息字段名数据类型及长度中文含义约束备注idint编号主键timuvarchar225题目avarchar225A选项内容bvarchar225B选项内容cvarchar225C选项内容dvarchar225D选项内容daanvarchar20答案图4-3-1选择题表表名___nDuan中文名判断题表说明保存判断题信息字段名数据类型及长度中文含义约束备注idint编号主键timuvarchar225题目daanvarchar20答案图4-3-2判断题表表名ShuKe中文名术科表说明保存术科信息字段名数据类型及长度中文含义约束备注idint编号主键tongguovarchar225通过要求phototongguoi__ge要求信息__mudivarchar225目的shezhivarchar225设置设计pingfenvarchar225评分标准图4-3-3术科表表名FaLv中文名法律表说明保存法律信息字段名数据类型及长度中文含义约束备注idint编号主键titlevarchar225法律标题contentvarchar225法律内容timevarchar225颁布时间图4-3-4法律表表名QiCheType中文名汽车类型表说明保存汽车类型信息字段名数据类型及长度中文含义约束备注idint编号主键namevarchar50类型名称图4-3-5汽车类型表表名QiChe中文名汽车信息表说明保存汽车信息字段名数据类型及长度中文含义约束备注idint编号主键typeint汽车类型外键QiCheTypephotoi__ge汽车__namevarchar225汽车名称gouzaovarchar225汽车构造lishivarchar225汽车历史图4-3-6汽车信息表表名BiaoXianType中文名标线类型表说明保存标线类型信息字段名数据类型及长度中文含义约束备注idint编号主键namevarchar50类型名称图4-3-7标线类型表表名BiaoXian中文名标线信息表说明保存标线信息字段名数据类型及长度中文含义约束备注idint编号主键typeint标线类型外键BiaoXianTypephotoi__ge标线__namevarchar225标线名称contentvarchar225标线内容图4-3-7标线信息表第四章系统实现
5.1用户登录进入系统后,可以看到用户登录界面(其文件为login.jsp)图5-1用户登录登录以后可以进行法律法规管理、标志标线管理、汽车构造管理、理科练习管理、术科要点管理等操作用户登录后的页面如下图图5-2系统首页
5.2导航栏在导航栏中,做了几个对系统信息管理的页面,如图5-6所示图5-4导航栏
5.2系统功能操作栏法律法规管理页面如下图5-4法律法规管理添加法律页面如下图5-5添加法律标志表现管理页面如下图5-4标志标线管理添加法律页面如下图5-5添加法律第五章测试与维护
5.1测试的任务与目标
5.
1.1测试的任务在软件投入生产性运行之前,尽可能多地发现软件中的错误
5.
1.2测试的目标1测试的目的是为了发现程序中的错误而执行程序的过程2好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案3成功的测试是发现了到今为止尚未发现的错误的测试
5.2测试方案设计测试方案是测试阶段的关键技术问题所谓测试方案包括预定要测试的功能应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据测试有两种方法功能测试和结构测试功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作本系统__过程进行的测试步骤如下
5.
2.1模块测试即单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评价模块的下述五个特点
(1)模块接口;
(2)局部数据结构;
(3)重要的执行路径;
(4)出错处理通路;
(5)影响上述各方面特性的边界条件.模块测试主要由代码审查和软件测试两部分组成
5.
2.2集成测试包括系统测试和子系统测试集成测试是组装软件的系统技术,主要目标是发现与接口有关的问题集成测试有两种方法非渐增式和渐增式,但比较而言,渐增式方法比较好,因为编写的测试软件较少,开销较小,较早地发现模块间的接口错误,错误位置容易判断,测试更__因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法
5.
2.3验收测试这一步是验证软件的有效性目的是向未来的用户表明系统能够象预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果
(1)功能和特性与用户的要求有差距
(2)功能和性能与用户要求一致,软件是可以接受的这个阶段发现的问题往往和需求分析阶段的差距有关
5.
2.4平行运行这个阶段发现的问题往往和需求分析阶段的差距有关所谓平行运行就是同时运行新__出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果目的有
(1)可以在准生产环境中运行新系统而有不冒风险;
(2)用户能有一段熟悉新系统的时间;
(3)可以验证用户指南和使用手册之类的文档;
(4)能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标
5.3测试遇到的问题以及解决办法数据库连接不上,查询结果不能按照想象的输出解决办法:首先查看数据库驱动是否__,JDBC的代码是否正确,一定要保证打开一个连接,一定要在操作完成以后关闭这个链接404错误的出现解决办法:这个错误一般是URL出现了问题,因此首先去分析的你业务流程,理清一条思路,然后去检查在为一个Servlet跳转的时候它所指定的那个URL是否正确500错误的出现出现原因:在我们不考虑服务器有问题的情况下,一般情况是我们的代码中出现语法错误,这样的错误是在解析class文件时导致的错误解决办法:首先去看异常提示,有针对性的在代码中添加断点分步调试
5.4系统维护软件维护是软件生命周期的最后一个阶段,处于系统投入生产性运行以后的时期中,所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程软件的维护有适应性维护;完善性维护;改正性维护;预防性维护本系统为适应维护的需要,采用如下措施
(1)软件配置程序源代码;
(2)__过程文档齐全;
(3)设计过程中各模块均考虑或预留完整性和可维护性接口等部分
(4)本软件的模块化,详细设计的文档、源代码内部的文档有详细说明、注释均可提高可维护性;
(5)尽量松散〈低偶合〉,高内聚谢辞在整个毕业设计期间,要特别感谢xx老师毕业设计的整个过程中,x__师一直都非常认真负责的督促着我的工作,他细心的指导,耐心的教导,并且生活中也非常关心我们没有他们的指导,也没有我们现在的成果,真诚的感谢他!另外,还要感谢身边的同学支持与鼓励以及各位网友的鼎力帮助同时感谢同寝室的aaa和bbb两位同学在毕业设计期间给了我莫大的帮助,使我在最后关头顺利地完成毕业设计最后再次向所有帮助和支持我的老师同学表示真诚的感谢____【1】孙鑫Servlet/Jsp深入详解——基于Tomcat的Web__电子工业出版社
2008.8【2】CayS.Horst__nn、CaryCornell美J__a2核心技术机械工业出版社原书第7版
2007.4【3】孙卫琴精通Hibernate J__a对象持久化技术详解http://search.dangdang.com/rd.aspid=__91366clsid=key=hibernate\t_blank电子工业出版社
2005.5【4】唐汉明深入浅出MySQL数据库__、优化与管理维护人民邮电出版社
2008.4【5】孙卫琴TOMCAT与J__AWEB__技术详解第2版电子工业出版社
2009.1【6】架构科技DREAMWE__ER8中文版完全自学手册http://item.taobao.com/spu-7001811-2251672268-
1.htm\t_blank电子工业出版社
2006.7【7】__轻量级J__aEE企业应用实战——Struts2+Spring+Hibernate整合__http://search.dangdang.com/rd.aspid=20420954clsid=key=hibernate\t_blank电子工业出版社
2008.11附录程序部分后台代码Hibernate的配置文件!DOCTYPEhibernate-configurationPUBLIC-//Hibernate/HibernateConfigurationDTD
3.0//ENhttp://hibernate.sour__forge.net/hibernate-configuration-
3.
0.dtdhibernate-configurationsession-factorypropertyname=hibernate.connection.urljdbc:jtds:sqlserver://localhost:1433;DatabaseName=CarSystem/propertypropertyname=hibernate.connection.driver_classnet.sour__forge.jtds.jdbc.Driver/propertypropertyname=hibernate.connection.usernamesa/propertypropertyname=hibernate.connection.password/propertypropertyname=hibernate.dialectorg.hibernate.dialect.SQLServerDialect/propertypropertyname=hibernate.current_session_context_classthread/propertypropertyname=show_sqltrue/property__ppingresour__=com/pojo/BiaoXian.hbm.xml/__ppingresour__=com/pojo/BiaoXianType.hbm.xml/__ppingresour__=com/pojo/Choi__.hbm.xml/__ppingresour__=com/pojo/FaLv.hbm.xml/__ppingresour__=com/pojo/___nDuan.hbm.xml/__ppingresour__=com/pojo/QiChe.hbm.xml/__ppingresour__=com/pojo/QiCheType.hbm.xml/__ppingresour__=com/pojo/ShuKe.hbm.xml/__ppingresour__=com/pojo/User.hbm.xml//session-factory/hibernate-configurationWeb.xml的配置文件xmlversion=
1.0encoding=UTF-8web-appversion=
2.5xmlns=http://j__a.sun.com/xml/ns/j__aeexmlns:xsi=http://___.w
3.org/2001/XMLSche__-instan__xsi:sche__Location=http://j__a.sun.com/xml/ns/j__aeehttp://j__a.sun.com/xml/ns/j__aee/web-app_2_
5.xsdservletservlet-nameI__geServlet/servlet-nameservlet-classcom.util.I__geServlet/servlet-class/servletservletservlet-nameFaLv/servlet-nameservlet-classcom.servlet.FaLvServlet/servlet-class/servletservletservlet-nameChoi__/servlet-nameservlet-classcom.servlet.Choi__Servlet/servlet-class/servletservletservlet-name___nDuanServlet/servlet-nameservlet-classcom.servlet.___nDuanServlet/servlet-class/servletservletservlet-nameShuKeServlet/servlet-nameservlet-classcom.servlet.ShuKeServlet/servlet-class/servletservletservlet-nameBiaoXianServlet/servlet-nameservlet-classcom.servlet.BiaoXianServlet/servlet-class/servletservletservlet-nameQiCheServlet/servlet-nameservlet-classcom.servlet.QiCheServlet/servlet-class/servletservletservlet-nameShuKeOther/servlet-nameservlet-classcom.servlet.ShuKeOther/servlet-class/servletservletservlet-nameBiaoXianOther/servlet-nameservlet-classcom.servlet.BiaoXianOther/servlet-class/servletservletservlet-nameQiCheOther/servlet-nameservlet-classcom.servlet.QiCheOther/servlet-class/servletservletservlet-nameRandomServlet/servlet-nameservlet-classcom.util.RandomServlet/servlet-class/servletservletservlet-nameLoginServlet/servlet-nameservlet-classcom.servlet.LoginServlet/servlet-class/servletservlet-__ppingservlet-nameLoginServlet/servlet-nameurl-pattern/login/url-pattern/servlet-__ppingservlet-__ppingservlet-nameRandomServlet/servlet-nameurl-pattern/RandomServlet/url-pattern/servlet-__ppingservlet-__ppingservlet-nameQiCheOther/servlet-nameurl-pattern/QiCheOther/url-pattern/servlet-__ppingservlet-__ppingservlet-nameBiaoXianOther/servlet-nameurl-pattern/BiaoXianOther/url-pattern/servlet-__ppingservlet-__ppingservlet-nameShuKeOther/servlet-nameurl-pattern/ShuKeOther/url-pattern/servlet-__ppingservlet-__ppingservlet-nameQiCheServlet/servlet-nameurl-pattern/QiChe/url-pattern/servlet-__ppingservlet-__ppingservlet-nameBiaoXianServlet/servlet-nameurl-pattern/BiaoXian/url-pattern/servlet-__ppingservlet-__ppingservlet-nameShuKeServlet/servlet-nameurl-pattern/ShuKe/url-pattern/servlet-__ppingservlet-__ppingservlet-name___nDuanServlet/servlet-nameurl-pattern/___nDuan/url-pattern/servlet-__ppingservlet-__ppingservlet-nameChoi__/servlet-nameurl-pattern/Choi__/url-pattern/servlet-__ppingservlet-__ppingservlet-nameFaLv/servlet-nameurl-pattern/FaLv/url-pattern/servlet-__ppingservlet-__ppingservlet-nameI__geServlet/servlet-nameurl-pattern/i__geServlet/url-pattern/servlet-__ppingfilterfilter-nameCharacterEncodingFilter/filter-namefilter-classcom.servlet.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valuegbk/param-value/init-param/filterfilter-__ppingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-__ppingwelcome-file-listwelcome-filelogin.jsp/welcome-file/welcome-file-list/web-app__nager接口packagecom.__nager;importj__a.util.List;importcom.pojo.User;@SuppressWarningsuncheckedpublicinte_____O__ect__nager{publicvoids__eO__ectO__ecto__ect;publicListgetO__ectListO__ecto__ect;publicO__ectgetO__ectO__ecto__ectinti;publicvoidupdateO__ectO__ecto__ect;publicvoiddeleteO__ectO__ecto__ect;publicListgetUtilStringhql;publicbooleancheckUserUseruser;}__nager接口实现类packagecom.__nager;importj__a.util.List;importorg.hibernate.Query;importorg.hibernate.Session;importcom.cn.util.HibernateUtils;importcom.pojo.User;@SuppressWarningsuncheckedpublicclassO__ect__nagerImplimplementsO__ect__nager{publicvoids__eO__ectO__ecto__ect{Sessionsession=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;session.s__eo__ect;session.getTransaction.commit;}catchEx__ptione{e.printStackTra__;session.getTransaction.rollback;}}publicvoidupdateO__ectO__ecto__ect{Sessionsession=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;session.updateo__ect;session.getTransaction.commit;}catchEx__ptione{e.printStackTra__;session.getTransaction.rollback;}}publicvoiddeleteO__ectO__ecto__ect{Sessionsession=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;session.deleteo__ect;session.getTransaction.commit;}catchEx__ptione{e.printStackTra__;session.getTransaction.rollback;}}publicListgetO__ectListO__ecto__ect{Sessionsession=null;Listlist=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;Queryquery=session.createQueryfrom+o__ect.getClass.getName;list=query.list;session.getTransaction.commit;returnlist;}catchEx__ptione{e.printStackTra__;session.getTransaction.rollback;returnnull;}}publicO__ectgetO__ectO__ecto__ectinti{Sessionsession=HibernateUtils.getSession;session.beginTransaction;o__ect=session.loado__ect.getClassi;session.getTransaction.commit;returno__ect;}publicListgetUtilStringhql{Sessionsession=null;Listlist=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;Queryquery=session.createQueryhql;list=query.list;session.getTransaction.commit;returnlist;}catchEx__ptione{e.printStackTra__;session.getTransaction.rollback;returnnull;}}publicbooleancheckUserUseruser{Sessionsession=null;Listlist=null;try{session=HibernateUtils.getSessionFactory.getCurrentSession;session.beginTransaction;Queryquery=session.createQueryfromUserwhereusername=andpassword=;query.setString0user.getUsername;query.setString1user.getPassword;list=query.list;session.getTransaction.commit;ifnull!=listlist.size0returntrue;}catchEx__ptione{e.printStackTra__;}returnfalse;}}用户实体类packagecom.pojo;publicclassUser{privateintid;privateStringusername;privateStringpassword;publicintgetId{returnid;}publicvoidsetIdintid{this.id=id;}publicStringgetUsername{returnusername;}publicvoidsetUsernameStringusername{this.username=username;}publicStringgetPassword{returnpassword;}publicvoidsetPasswordStringpassword{this.password=password;}}用户实体类的配置文件xmlversion=
1.0!DOCTYPEhibernate-__ppingPUBLIC-//Hibernate/Hibernate__ppingDTD
3.0//ENhttp://hibernate.sour__forge.net/hibernate-__pping-
3.
0.dtdhibernate-__ppingpackage=com.pojoclassname=Usertable=t_useridname=idgeneratorclass=native//idpropertyname=username/propertyname=password//class/hibernate-__pping。