机构公务车辆标准管理系统的设计和实现_第1页
机构公务车辆标准管理系统的设计和实现_第2页
机构公务车辆标准管理系统的设计和实现_第3页
机构公务车辆标准管理系统的设计和实现_第4页
机构公务车辆标准管理系统的设计和实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计机构公务车辆管理系统设计与实现姓名:李姓名:李辉学号:12070002班级:12计算机1专业:计算机科学与技术所在系:计算机工程系指引教师:梁颖

毕业设计机构公务车辆管理系统设计与实现姓名:姓名:李辉学号:12070002班级:12计算机1专业:计算机科学与技术所在系:计算机工程系指引教师:梁颖

机构公务车辆管理系统设计与实现摘要近年来经济突飞猛进,汽车作为当代最为重要交通工具,在机构单位中得以普及,单位车辆数目已经远远不止简朴几辆,与此同步就产生了车辆资源合理分派与维护等问题。机构公务车辆管理系统运用当代化计算机管理手段,不但可以对车辆使用进行合理管理,并且对车辆维护状况进行跟踪记录,这对于单位车辆责任到人,费用清晰,避免责任混乱、费用虚假等一系列相应问题解决。系统重要功能涉及:车辆信息管理、驾驶员管理、工作人员管理及出车信息管理。本系统前台重要使用JSP作为开发语言,后台使用SQLServer-作为数据库管理系统,开发环境是MyEclipse-8.5,服务器采用Apache-Tomcat-7.0.67,开发出一种基于Web技术B/S构造机构公务车辆管理系统。核心词:车辆;管理系统;JSP;B/S构造

DesignandImplementationoftheOfficialVehicleManagementSystemABSTRACTWiththeeconomygrowing,thevehicleasthemostimportantmeansoftransportationinenterprisesandinstitutions,thepopularityofthevehicle,theunithasbeenfarmorethanthenumberofsimpleseveralcars,atthesametimeithasavehicleresourcesrationalallocationanduseof.Enterprisevehiclemanagementsystemtheuseofmoderncomputermanagementmeans,cannotonlyforuseinavehicleforrationalmanagement,butalsoforvehicleusagetrackingrecordfortheunittothevehicle,theresponsibilitytothepeople,thecostclear,avoidresponsibilityconfusion,falsechargessuchasaseriesofproblemsolving.Themainfunctionsofthesysteminclude:vehiclemanagement,drivermanagementandvehicleinformationmanagement.ThefrontofthesystemusingJSPasadevelopmentlanguage,theuseofSQLServerasadatabasemanagementsystem,thedevelopmentenvironmentisMyEclipse,serverusingtomcat,developedaWebtechnologybasedonB/Sstructureofenterprisevehiclemanagementsystem.KeyWords:Vehicle;ManagementSystem;JSP;B/SStructure

目录TOC\o"1-2"\t"标题3,3,标题4,4"第一章 绪论 11.1 课题背景 11.2目和意义 11.3开发工具及技术 11.3.1开发工具 11.3.2JSP简介 21.3.3JavaScript简介 21.3.4Struts2简介 21.3.5Hibernate简介 3第二章 需求分析 42.1需求调研 42.2可行性分析 42.2.1技术可行性 42.2.2经济可行性 42.2.3操作可行性 42.2.4法律可行性 52.3系统顾客用例图 52.3.1后台管理员用例图 52.3.2前台顾客用例图 52.4设计思想 62.5性能需求 62.5.1系统安全性 62.5.2数据间参照完整性 62.6界面需求 6第三章 系统分析与设计 83.1 功能模块构造设计 83.1.1管理员功能构造设计 83.1.2前台顾客功能构造设计 93.2数据库设计 93.2.1概念构造设计 93.2.2逻辑构造设计 113.2.3数据库连接原理 12第四章 系统详细设计与实现 144.1系统操作流程 144.2系统登陆页面实现 144.3后台功能某些 164.3.1车辆信息管理 174.3.2驾驶员信息管理 214.3.3出车信息管理 244.3.4系统管理 274.3.5修改密码 284.3.6退出系统 29第五章系统测试 305.1系统测试目与意义 305.2测试过程 305.2.1主页面登录模块测试 305.2.2中文乱码问题解决 315.3其她错误 33结论 34参照文献 35致谢 36 绪论课题背景国内经济近些年来发展迅猛,致使人民生活水平迅速提高,人们在物资层面购买力随之提高,汽车俨然成为人们必不可少生活工具。特别是对于拥有数目庞杂车辆机构单位,公务车管理已成为单位工作事务中一项重要工作,为了让管理人员及时知晓每一辆车实时状况,提高车辆使用效率,减少费用支出,防止公车私用等弊端,成为各个单位亟需解决重要难题。为了规范机构单位内部公务车制度,提高公务车管理质量,使公务车管理透明化,更好服务于广大公务人员状况下,咱们必要要开发一套专门用于机构公务车辆管理系统,可以集中管理车辆出行,维修,事故,违章等寻常信息,使机构进入车辆管理信息化,科学化,规范化。同步可以达到节约人力,物力,财力效果。1.2目和意义如今机构单位规模庞大,车辆逐渐成为最普遍,最实用,最便捷交通工具,在机构单位中已经不能置之不顾,单位车辆数目、种类大幅度增长,给单位带来不少困扰,管理上问题也凸显出来,例如车辆使用和调度问题,车辆维护费用和监管定位等问题,已经不再是以往简朴记录就可以完毕。为了良好地解决诸如此类繁琐问题,咱们必要应用计算机强大数据解决能力和存储能力,才可以达到减少人力财力来解决这些问题目。因而,正是在这样状况下,开发机构公务车辆管理系统是可行,并且是必要。1.3开发工具及技术1.3.1开发工具本次设计采用比较流行Java开发工具MyEclipse-8.5.加通用小型服务器Tomcat进行毕业项目设计,设计过程中前台重要采用比较成熟JSP技术完毕,下面对MyEclipseEnterpriseWorkbench、Apache-Tomcat-7.0.67以及SQLServer-数据库进行简要论述。[1]MyEclipseMyEclipse-8.5是款性能先进合用于Java项目开发工具,拥有J2EEEclipse插件集合,MyEclipse功能强大,支持广。它是功能丰富J2EE集成开发环境,涉及编码、调试、测试和发布功能,支持HTML,JSP,CSS,JS,SQL,SSH等众多开发工具和框架。TomcatApache-Tomcat-7.0.67是一种小型已经连接完备轻量级应用服务器,在中小型系统和并发访问顾客诸多公司开发下被广泛使用,开发和调试JSP程序惯用平台服务器。可以这样以为,为机器上修改好Apahce服务器配备文献,可运用它响应HTML页面访问祈求。Tomcat某些是Apache服务器扩展,咱们用是已经搭建完善Apache-Tomcat,详细集成过程当前尚有待学习,但它是独立运营,当运营tomcat时是作为一种与Apache单独运营独立进程。[2]SQLServerSQLServer提供了对机构单位基本架构高档别完美支持,针对项目应用各种功能与解决方案可以提供可用性和良好地性能。针对大数据以及数据仓库,SQLServer提供从数TB到数百TB全面端到端解决方略。其长处是可以协助众多拥有大量数据顾客迅速地实现各种数据检索和匹配,释放公司工作承担。对于本次设计,采用SQLServer作为本次数据库开发软件已经绰绰有余。1.3.2JSP简介JavaServerPages技术重要采用了Java编程语言编写类XMLtags和Scriptlets,来封装动态网页逻辑,其实质是一种简化了Servlet设计。JSP将网页设计与网页逻辑构造显示分离,重用组件设计得到完美支持,使Web应用程序开发变得简朴迅速。JSP技术长处涉及系统多平台良好支持;可伸缩性强大;多样化和功能强大开发工具支持;一次编写,处处运营;支持服务器端组件。[3]1.3.3JavaScript简介JavaScript是一种广泛应用于相对安全客户端脚本语言,基于事件驱动和对象。Javascript使得顾客和网页之间实现了一种实时、动态、交互关系,在本系统中采用了较多JS技术,使网页包括活跃元素和精彩内容。[4]1.3.4Struts2简介运用Struts升级版本Struts2目是协助咱们在运用Modle-View-Controller设计模型来节约开发Web页面时间,通过采用JS/JSP技术,实现了基于J2EE\o"Web"Web应用Model-View-Controller设计模式。应用框架Web\o"Framework"Framework,是MVC典型设计模式中一种典型案例。[5]它长处体当前:Struts2基于MVC架构,框架构造清晰,开发流程便于理解,开发人员可以控制开发过程;使用OGNL进行参数传递;强大拦截器;以便于测试;以便于扩展插件机制;全局成果与声明式异常。[6]1.3.5Hibernate简介Hibernate是一种基于Java开源对象关系映射框架,它对JDBC进行轻量封装,采用ORM映射机制,使得Java开发人员可以随心所欲使用对象编程思维来操作数据库。Hibernate具革命意义是,Hibernate可以在应用于EJBJ2EE架构中取代CMP,完毕数据持久化任务。[7]

需求分析2.1需求调研当代是计算机网络技术飞速发展黄金时代,使得咱们管理模式产生变化,网络化管理成为信息时代重要标志和构成某些。摸索、研究并构建合用于计算机网络环境管理模式,是咱们计算机开发人员崇高使命。通过计算机,可以迅速反映车辆等资源使用状况。数据计算秉持着自动完毕,尽量减少人工干预原则,可以使用车信息规范化、透明化。因此开发一套高效率、安全机构公务车管理系统十分必要,因而这个机构公务车辆管理系统是值得开发。2.2可行性分析开发任何一种系统,都会受届时间、资源等方面限制。因而,在任何项目研发之前,都要进行可行性分析,这样可以减少项目开发风险,避免人力、物力和财力等资源挥霍。下面就技术、经济、操作和法律四个方面来探讨。2.2.1技术可行性本系统开发工具是MyEclipse-8.5和SQLSerive-数据库,应用开发语言是Java,重要采用是J2EE技术,简朴并且灵活。大学期间就学习了Java程序设计实用案例,大四期间也系统理解过SSH框架知识,机构公务车辆管理系统在代码上编写上有一定挑战性,但数据库设计和操作是本系统设计核心。大学必修软件工程,软件测试,UML统一建模语言等课程,以及每个学期完毕相相应课设,使我具备一定系统分析、设计和测试能力。因而,在系统实当前技术上完全具备可行性。[8]2.2.2经济可行性尽量选用免费并且开源开发工具和服务器,采用图书馆典型项目为案例,由于是开发成本相对较低B/S模式,而非成本费用较高C/S模式,因此从经济角度来讲是可行。2.2.3操作可行性系统操作界面简朴,页面数据输入大多数都是采用下拉框选取形式,更简便并且人性化是信息可以默认生成,无需人工输入,将繁琐数据输入变得更快并且对的性得以保证。时间格式输入采用是日历控件,操作简便,格式统一,对普通使用人员规定低,只需用微软操作系统,加之对本系统简朴简介即可进行工作,并且本系统界面可视化非常好,因此在软件实行上不存在难度。2.2.4法律可行性机构公务车辆管理系统是自行开发系统,是服务于机构单位,具备实际意义系统,所采用开发环境和使用数据库都是开源,不存在侵权等行为,即法律上是可行。综上所述,开发一种机构公务车辆管理系统与之前用车办法管理模式相比具备速度更快,操作更精确,节约开支,出行透明化等长处,因而建立机构公务车辆管理系统是可行。[9]2.3系统顾客用例图2.3.1后台管理员用例图管理员是系统核心顾客,涉及到四大功能模块,管理员对系统管理员顾客有着操作权限,可以及时反映动态车辆、司机及车辆使用状况。[10]管理员用例图如图2.1所示。图2.1管理员用例图Fig.2.1Administrator’sUseCaseDiagram2.3.2前台顾客用例图普通前台顾客是主体顾客,有三大功能模块,可以对个人信息进行修改,对公务车辆进行调用,归还等基本操作。前台顾客用例图如图2.2所示。图2.2普通顾客用例图Fig.2.2GeneralUserUseCaseDiagram2.4设计思想设计思想遵循如下几点:1.采用B/S模式进行开发,充分运用先后台层次分离长处,符合众多网页顾客习惯。2.采用面向对象开发与设计理念。发挥面向对象基本思想,有助于咱们对事件基本特性进行全面进一步剖析。3.借鉴模块化设计。模块化设计层次分明,功能明确,代码间互不干扰可重用率高。4.简朴以便系统界面。考虑到面向非计算机专业顾客使用困难等问题,设计界面必要和谐,条理清晰,操作简便。5.速度优先原则。由于此工具最重要评测原则就是运营速度,因而在设计过程中,详细过程尽量做到资源占用少,速度快。6.设计既要突出重点,又要细致周到。设计系统必要可以维护,各种API接口。[11]2.5性能需求2.5.1系统安全性机构公务车辆管理系统在权限要进行严格管控,详细规定如下:登录机构公务车辆管理系统进行管理操作,必要要有管理员权限,没有授权顾客不能通过系统管控数据信息,以保证系统严密性和数据安全性。2.5.2数据间参照完整性1.各种记录信息完整性,信息记录内容不能为空;2.各种数据间互相联系对的性;3.相似数据在不同记录中一致性。2.6界面需求良好界面设计当前已经成为衡量软件质量重要指标,一种好顾客界面可以增长顾客体验,提高工作效率。创立动态页面相对以便。顾客界面是指软件系统和顾客交互接口,普通涉及输出、输入、人机交互界面等。1.输出设计输出是由计算机对输入原始信息进行加工解决,筛选出高质量信息,并使之参照一定格式,以便管理者使用,因而数据筛选必要严格保证其对的性,错误数据只能带来错误导向,成果也将毫无意义。系统设计过程正好和实行过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是由于输出表格直接与顾客有关联,设计出发点应当是保障输出表格以便地为顾客服务,对的及时反映和构成用于各部门有用信息。输出设计原则是考虑既要全面反映不同管理层各项需要,又要简要扼要,不要将顾客需要和不需要都提供应顾客。2.输入设计输入数据收集和录入是比较耗费人力,且需要一定设备,容易出错。如果输入系统数据有错误,则解决后输出成果将毫无意义,因而输入数据对的与否对于整个系统质量好坏是具备决定性。输入设计应当参照如下原则:输入量应保持在能满足解决规定最低限度。输入量越少,错误率就越少,数据准备时间也减少;输入准备及输入过程应尽量容易进行,从而减少错误发生;尽量接近原数据发生点,以便使错误及时得以改正;输入数据尽早地用其解决所需形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而也许发生错误。[12]系统分析与设计功能模块构造设计本系统最大特点是使用操作简朴、和谐提示信息。本系统将实现如下基本功能:1.系统具备简洁大方页面,使用简便,和谐错误操作提示;2.管理员顾客具备系统管理、车辆信息管理、驾驶员信息管理、出车记录管理功能;3.具备较强安全性,避免顾客恶意操作。3.1.1管理员功能构造设计1.系统管理模块:在该模块中定义了管理员信息管理,其功能涉及管理员信息添加、查询、删除等操作;2.车辆信息管理模块:在该模块中定义了对车辆信息管理,其功能涉及车辆信息添加、查询、修改、删除等操作;3.驾驶员信息管理模块:在该模块中定义了对驾驶员信息管理,其功能涉及驾驶员信息添加、查询、修改、删除等操作;4.出车信息管理模块:在该模块中定义了对出车状况管理,其功能涉及出车状况添加、查询、修改、删除等操作。管理员顾客功能模块图如下图3.1所示。图3.1管理员顾客功能模块图Fig.3.1AdministratorUserFunctionModule3.1.2前台顾客功能构造设计1.个人信息修改模块:在该模块中定义了普通顾客信息管理,其功能涉及顾客个人信息添加、修改等操作。2.车辆选取调用模块:在该模块中为顾客提供了车辆信息总览,其功能涉及车辆借出、归还等操作。3.驾驶员总览模块:在该模块中定义了对驾驶员出行信息查看,其功能涉及驾驶员信息查询、调出等操作。4.出车信息模块:在该模块中定义了对出车状况记录,其功能涉及出车概况添加、查询、修改等操作。普通前台顾客功能模块图如下图3.2所示。图3.2普通权限顾客功能设计Fig.3.2OrdinaryPermissionsUsersFunctionDesign3.2数据库设计数据库作为计算机信息系统核心,在数据库管理系统支持下,进行信息采集、整顿、存储、检索、更新、加工、记录和传播等操作。数据库设计好坏直接影响到整个系统质量和效率。数据库设计需通过精心规划,普通参照需求分析、概念设计、逻辑设计、物理设计5个环节来完毕。3.2.1概念构造设计概念设计是指在数据分析基本上自底向上建立整个系统数据库概念构造,从顾客角度进行视图设计,然后将视图集成,最后对集成构造分析优化得到最后成果。概念设计目的是产生反映机构组织信息规定概念模式。概念模式是独立于数据库逻辑构造,独立于支持数据库DBMS,不依赖计算机系统,机构公务车辆管理系统E-R图如图3.1所示。图3.1机构公务车辆E-R图Fig.3.1AgencyOfficialVehiclesE-RDiagram

3.2.2逻辑构造设计数据库概念模型独立于任何特定数据库管理系统。因而,需要依照详细使用数据库管理系统特点进行转换。即转化为按计算机观点解决逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:每一种实体要转换成一种关系;所有主键必要定义非空;对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。依照E-R模型,机构公务车辆管理系统建立了如下逻辑数据构造,下面是各数据表详细阐明。1.车辆信息表重要是记录了车辆基本信息,表构造如表3.1所示。表3.1车辆信息表(t_che)Table3.1VehicleInformationTable(t_che)列名数据类型长度容许空与否主键阐明idint4否是编号chepaivarchar50否否车牌chexingvarchar50否否车型chuchangriqivarchar50否否出厂日期zaizhongliangvarchar50否否载重量siji_idint4否否司机信息2.司机信息表重要记录了司机基本信息,表构造如表3.2所示。表3.2司机信息表(t_siji)Table3.2DriverInformationTable(t_siji)列名数据类型长度容许空与否主键阐明idint4否是编号namevarchar50否否姓名sexvarchar50否否性别agevarchar50否否年龄telvarchar50否否电话addressvarchar50否否地址cardvarchar50否否身份证号

3.出车信息表重要是记录了出车状况基本信息,表构造如下表3.3所示。表3.3出车信息表(t_chuche)Table3.3VehicleInformationTable(t_chuche)列名数据类型长度容许空与否主键阐明idint4否是编号che_idint4否否车辆信息kaichushijianvarchar50否否开出时间huilaishijianvarchar50否否回来时间shiyouvarchar50否否事由4.管理员信息表重要记录管理员账号信息,涉及顾客名和密码,表构造如表3.4所示。表3.4管理员信息表(t_admin)Table3.4AdministratorInformationTable(t_admin)列名数据类型长度容许空与否主键阐明userIdint4否是编号userNamevarchar50否否顾客名userPwvarchar50否否密码3.2.3数据库连接原理本系统采用Hibernate框架对数据库进行管理。Hibernate是一种开放源代码对象关系映射框架。它提供了从Java类到数据表之间映射,也提供了数据查询和恢复机制。Hibernate可以大大减少操作数据库工作量。此外,Hibernate可以运用代理模式来简化载入类过程,这将减少运用HibernateQL从数据库提取数据代码编写量,从而节约开发时间和开发成本,Hibernate可以和各种Web服务器或者应用服务器良好集成,如今已经支持几乎所有流行数据库服务器。

Hibernate技术实质上是一种提供数据库服务中间件。它架构如图3.2所示。图3.2Hibernatre架构图Fig.3.2HibernatreArchitectureDiagramHibernate是运用数据库以及其她某些如Hibernate,properties,XMLMapping等来为应用程序提供数据持久化服务。[13]Hibernate具备很大灵活性,但它体系构造比较复杂,提供了好几种不同运营方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式仅仅使用了Hibernate一种最小子集;在全面解决体系中,对于应用程序来说,所有底层JDBC/JTAAPI都被抽象了,Hibernate会替你照管所有细节。

系统详细设计与实现在机构公务车管理系统生命周期中,通过了需求分析、系统设计等阶段之后,便开始了系统实行阶段。在系统分析和设计阶段,系统开发工作重要是集中在逻辑、功能和技术设计上,系统实行阶段要继承此前面各个阶段工作成果,将技术设计转化为物理实现,因而系统实行成果是系统分析和设计阶段结晶。[14]4.1系统操作流程程序操作流程如下图4.1所示。图4.1顾客操作流程图Fig.4.1UserOperationFlowchart4.2系统登陆页面实现1.描述:为了保证系统安全性,要先使用本系统必要先登陆到系统中,顾客需要对的账号和密码登录本系统。2.程序运营效果图如图4.2所示。图4.2系统登陆页面设计Fig.4.2SystemLandingPageDesign3.在登陆页面输入顾客名和密码以,点击提交按钮,跳转到登陆service中,在该service中会对顾客名,密码,验证码进行判断,验证通过进入相应页面,loginservice核心代码: publicStringlogin(StringuserName,StringuserPw,intuserType) { Stringresult="no"; if(userType==0)//超级管理员登陆 {Stringsql="fromTAdminwhereuserName=?anduserPw=?andtype='chaoji'"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } returnresult;}4.3后台功能某些1.描述:系统主页面:左方页面展示了管理员可操作四大功能,进入有关管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面均有相应子菜单。2.程序运营效果图如图4.3所示。图4.3管理员主页面Fig.4.3AdministratorHomePage在每个jsp页面将会对有关顾客进行拦截操作,这样可以提高安全性,防止顾客不通过登陆页面而进入任何子菜单页面:if(session.getAttribute("user")==null){out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>"); }

4.3.1车辆信息管理1.车辆信息添加(1)描述:管理员输入车辆有关对的信息后点击录入按钮,如果是没有输入完整车辆信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。(2)程序效果图如下图4.4所示。图4.4车辆信息添加Fig.4.4AddVehicleInformation2.车辆信息管理(1)描述:管理员点击左侧菜单“车辆信息管理”,页面跳转到车辆信息管理界面,调用后台action类查询出所有车辆信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应Jsp,显示出车辆信息。(2)程序效果图如下图4.5所示。图4.5车辆信息管理Fig.4.5VehicleInformationManagement车辆信息管理核心代码: publicStringcheAdd() { TCheche=newTChe(); che.setChepai(chepai); che.setChexing(chexing); che.setChuchangriqi(chuchangriqi); che.setZaizhongliang(zaizhongliang); che.setSiji_id(siji_id); che.setDel("no"); cheDAO.save(che); this.setMessage("操作成功"); this.setPath("cheMana.action"); return"succeed"; } publicStringcheMana() { ListcheList=cheDAO.getHibernateTemplate().find("fromTChewheredel='no'"); for(inti=0;i<cheList.size();i++) { TCheche=(TChe)cheList.get(i); che.setSiji(sijiDAO.findById(che.getSiji_id())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cheList",cheList); returnActionSupport.SUCCESS; } publicStringcheDel() { TCheche=cheDAO.findById(id); che.setDel("yes"); cheDAO.attachDirty(che); this.setMessage("删除成功"); this.setPath("cheMana.action"); return"succeed"; } publicStringcheEdit() { TCheche=cheDAO.findById(id); che.setChepai(chepai); che.setChexing(chexing); che.setChuchangriqi(chuchangriqi); che.setZaizhongliang(zaizhongliang); che.setSiji_id(siji_id); che.setDel("no"); cheDAO.attachDirty(che); this.setMessage("操作成功"); this.setPath("cheMana.action"); return"succeed"; } publicStringcheSearch() { StringBuffersql=newStringBuffer("fromTChewheredel='no'"); sql.append("andchepailike'%"+chepai+"%'"); sql.append("andzaizhonglianglike'%"+zaizhongliang+"%'"); System.out.println(sql.toString()+"^^^"); ListcheList=cheDAO.getHibernateTemplate().find(sql.toString()); for(inti=0;i<cheList.size();i++) { TCheche=(TChe)cheList.get(i); che.setSiji(sijiDAO.findById(che.getSiji_id())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cheList",cheList); returnActionSupport.SUCCESS; }3.车辆信息修改(1)描述:先是点击车辆信息管理,页面跳转到车辆信息管理界面,浏览所有车辆信息,点击要修改车辆信息,打开车辆信息修改页面,修改车辆信息。(2)程序效果图如下图4.6所示。图4.6车辆信息修改Fig.4.6VehicleInformationModification4.车辆信息删除(1)描述:先是点击车辆信息管理,页面跳转到车辆信息管理界面,浏览所有车辆信息,点击要删除车辆信息,点击确认按钮,完毕车辆删除操作。(2)程序效果图如下图4.7所示。图4.7车辆信息删除Fig.4.7VehicleInformationDeleted5.车辆信息修改查询(1)描述:先是点击车辆信息查询,页面跳转到车辆信息查询界面,输入查询条件,调用后台action,查询符合条件车辆信息。(2)程序效果图如下图4.8所示。图4.8车辆信息查询Fig.4.8VehicleInformationQuery4.3.2驾驶员信息管理1.驾驶员信息添加(1)描述:管理员输入驾驶员有关对的信息后点击录入按钮,如果是没有输入完整驾驶员信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。(2)程序效果图如下图4.9所示。图4.9驾驶员信息添加Fig.4.9AddDriverInformation2.驾驶员信息查看(1)描述:管理员点击左侧菜单“驾驶员信息管理”,页面跳转到驾驶员信息管理界面,调用后台action类查询出所有驾驶员信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应Jsp,显示出驾驶员信息。(2)程序效果图如下图4.10所示。图4.10驾驶员信息管理Fig.4.10DriverInformationManagement驾驶员信息管理核心代码: publicStringsijiAdd() { TSijisiji=newTSiji(); siji.setName(name); siji.setSex(sex); siji.setAge(age); siji.setTel(tel); siji.setAddress(address); siji.setCard(card); siji.setDel("no"); sijiDAO.save(siji); this.setMessage("操作成功"); this.setPath("sijiMana.action"); return"succeed";} publicStringsijiMana(){ ListsijiList=sijiDAO.getHibernateTemplate().find("fromTSijiwheredel='no'"); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("sijiList",sijiList); returnActionSupport.SUCCESS; } publicStringsijiDel() {TSijisiji=sijiDAO.findById(id); siji.setDel("yes"); sijiDAO.attachDirty(siji); this.setMessage("删除成功"); this.setPath("sijiMana.action"); return"succeed"; } publicStringsijiEdit() {TSijisiji=sijiDAO.findById(id); siji.setName(name); siji.setSex(sex); siji.setAge(age); siji.setTel(tel); siji.setAddress(address); siji.setCard(card); siji.setDel("no"); sijiDAO.attachDirty(siji); this.setMessage("操作成功"); this.setPath("sijiMana.action"); return"succeed";}3.驾驶员信息修改(1)描述:先是点击驾驶员信息管理,页面跳转到驾驶员信息管理界面,浏览所有驾驶员信息,点击要修改驾驶员信息,打开驾驶员信息修改页面,修改驾驶员信息。(2)程序效果图如下图4.11所示。图4.11驾驶员信息修改Fig.4.11ModificationofDriver'sInformation

4.驾驶员信息删除(1)描述:先是点击驾驶员信息管理,页面跳转到驾驶员信息管理界面,浏览所有驾驶员信息,点击要删除驾驶员信息,点击确认按钮,完毕驾驶员删除操作。(2)程序效果图如下图4.12所示。图4.12驾驶员信息删除Fig.4.12DriverInformationDeletion4.3.3出车信息管理1.出车信息添加(1)描述:管理员输入出车有关对的信息后点击录入按钮,如果是没有输入完整出车信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。(2)程序效果图如下图4.13所示。图4.13出车信息添加Fig.4.13TheBusInformationAdded2.出车信息查看(1)描述:管理员点击左侧菜单“出车信息管理”,页面跳转到出车信息管理界面,调用后台action类查询出所有出车信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应jsp,显示出出车信息。(2)程序效果图如下图4.14所示。图4.14出车信息管理Fig.4.14TheBusInformationManagement出车信息管理核心代码: publicStringchucheAdd() { TChuchechuche=newTChuche(); chuche.setChe_id(che_id); chuche.setKaichushijian(kaichushijian); chuche.setHuilaishijian(huilaishijian); chuche.setShiyou(shiyou); chuche.setDel("no"); chucheDAO.save(chuche); this.setMessage("操作成功"); this.setPath("chucheMana.action"); return"succeed"; } publicStringchucheMana() { ListchucheList=chucheDAO.getHibernateTemplate().find("fromTChuchewheredel='no'"); for(inti=0;i<chucheList.size();i++) { TChuchechuche=(TChuche)chucheList.get(i); chuche.setChe(cheDAO.findById(chuche.getChe_id())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("chucheList",chucheList); returnActionSupport.SUCCESS; } publicStringchucheDel() { TChuchechuche=chucheDAO.findById(id); chuche.setDel("yes"); chucheDAO.attachDirty(chuche); this.setMessage("删除成功"); this.setPath("chucheMana.action"); return"succeed"; } publicStringchucheEditPre() { TChuchechuche=chucheDAO.findById(id); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("chuche",chuche); returnActionSupport.SUCCESS;} publicStringchucheEdit() {TChuchechuche=chucheDAO.findById(id); chuche.setChe_id(che_id); chuche.setKaichushijian(kaichushijian); chuche.setHuilaishijian(huilaishijian); chuche.setShiyou(shiyou); chuche.setDel("no"); chucheDAO.attachDirty(chuche); this.setMessage("操作成功"); this.setPath("chucheMana.action"); return"succeed";}3.出车信息修改(1)描述:先是点击出车信息管理,页面跳转到出车信息管理界面,浏览所有出车信息,点击要修改出车信息,打开出车信息修改页面,修改出车信息。(2)程序效果图如下图4.15所示。图4.15出车信息修改Fig.4.15TheBusInformationChanges4.出车信息删除(1)描述:先是点击出车信息管理,页面跳转到出车信息管理界面,浏览所有出车信息,点击要删除出车信息,点击确认按钮,完毕出车删除操作。(2)程序效果图如下图4.16所示。图4.16出车信息删除Fig.4.16TheBusInformationisDeleted4.3.4系统管理

1.查询管理员信息(1)描述:点击系统管理菜单,右侧展示了所有系统管理员信息。重要涉及顾客名和密码。(2)程序效果图如图4.17所示。图4.17查询管理员Fig.4.17QueryManager2.添加管理员(1)描述:输入要添加管理员信息后来,点击添加按钮。两次输入密码必要相似。(2)程序效果图如图4.18所示。图4.18添加管理员Fig.4.18AddAdministrator4.3.5修改密码(1)描述:输入顾客名和顾客原有密码,输入新密码后来点击修改按钮即可修改密码成功。

(2)程序效果图如图4.19所示。图4.19修改密码Fig.4.19ModifyThePassword4.3.6退出系统1.描述:点此按钮回到系统主页面。2.核心代码:重要是通过javascript语句来实现,item_word[8][4]="退出系统";item_link[8][4]="javascript:window.open('../index.jsp','_self')";

第五章系统测试5.1系统测试目与意义系统测试是管理信息系统开发周期中一种十分重要而漫长阶段。其重要性体当前她是保证系统质量与可靠性最后关口,是对整个系统开发过程涉及系统分析、系统设计和系统实现最后审查。系统测试任务是尽量彻底检查出程序中错误,提高软件系统可靠性,其目是检查系统“做得如何”。这这阶段又可以分为三个环节:模块测试,测试每个模块程序与否对的;组装测试,测试模块之间接口与否对的;确认测试,测试整个软件系统与否满足顾客功能和性能规定。测试发现问题之后要通过调试找出错误因素和位置,然后进行改正。是基于系统整体需求阐明书黑盒测试,应覆盖系统随偶联合部件,系统测试是正对整个产品系统进行测试,目是验证系统与否满足了需求规格定义,找出需求规格不符合或与之矛盾地方。5.2测试过程在测试之初,由于将数据库中数据是随便输入,没有实用性,为了使系统更加完善,在系统测试过程中,本系统将一开始编程随便输入数据所有清理后,输入了某些有效测试数据,这样可以更真实反映系统功能实现状况。白盒测试:是通过程序源代码进行测试而不使用顾客界面。这种类型测试需要从代码句法发现内部代码在算法,溢出,途径,条件等等中缺陷或者错误,进而加以修正。黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序源代码或者很清晰地理解该软件源代码程序详细是如何设计。测试人员通过输入她们数据然后看输出成果从而理解软件如何工作。在测试时,把程序看作一种不能打开黑盆子,在完全不考虑程序内部构造和内部特性状况下,测试者在程序接口进行测试,它只检查程序功能与否按照需求。本文重要采用黑盒测试。这样不断发现问题,通过重复测试、调试,把问题一种个解决,最后系统可以正常运营。[15]5.2.1主页面登录模块测试黑盒测试重要流程:1.打开系统首页,输入错误登录信息2.登录3.输入对的登录信息4.登录5.测试成果测试过程如下表5.1所示。表5.1登录模块测试表Table5.1LoginModuleTestTable模块名称测试用例预期成果实际成果与否通过登录模块顾客名:null密码:null弹出错误提示,请输入顾客名登陆失败,提示请输入顾客名通过登录模块顾客名:m1密码:null弹出错误提示,请输入密码失败,提示输入密码通过登录模块顾客名:m1密码:1弹出错误提示,顾客名或者密码错误登陆失败,提示顾客名或者密码错误通过5.2.2中文乱码问题解决在程序中经常会遇到中文乱码状况,如果手动在Servlet和JSP页面进行设立,相称麻烦。因而,在程序开始就写了一种过滤器SetCharacterEncodingFilter。在web.xml中配备:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表达工程下所有页面都会有此过滤器解决</filter-mapping>相应SetCharacterEncodingFilter.java文献中重要代码,在初始化init()办法中定义:publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}在工具包util包中同样定义了DataFormate类来解决字符转换:publicstaticStringtoUni(StringgbStr){StringuniStr="";/*把字符串转换成uincode编码*/if(gbStr==null){gbStr="";}try{byte[]tempByte=gbStr.getBytes("GB2312");uniStr=newString(tempByte,"ISO8859_1");}catch(Exceptionex){}returnuniStr;}/*把字符串转换成Utf8编码*/publicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){sb.append(c);}else{byte[]b;try{b=Character.toString(c).getBytes("utf-8");}catch(Exceptionex){System.out.println(ex);b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0){k+=256;

温馨提示

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

评论

0/150

提交评论