版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)题目:基于停车场车辆引导系统学生姓名XXX学号XXXXXXXX分院名称XXXXXXXX专业班级XXXXX指导教师XXXX填写日期XXXX年XX月摘要随着我国社会经济的迅猛发展,私家车越来越多,对停车场的需求越多越大。车辆的增多,无疑给基于停车场车辆引导带来了巨大的挑战,如何准确快速的对停车场信息进行管理成为急需解决的问题。伴随着计算机技术的成熟,停车场车辆引导系统应运而生,此系统可以有效的解决以上问题,使停车场车辆引导工作系统化、高效化。本基于停车场车辆引导系统主要针对基于停车场车辆引导而开发,具有灵活的一体化设计方式,圆满完成了整个系统的全面设计。系统实现了管理员模块和用户模块两大部分,系统分工明确,功能齐全,可以快速的记录停车场相关的各种信息,并进行及时的管理,能够有效的提高基于停车场车辆引导效率。本基于停车场车辆引导系统JSP技术开发,同时采用MYSQL数据库系统来实现对于数据的存储,充分保证了系统的稳定性、安全性。关键词:基于停车场车辆引导,JSP技术,MYSQL数据ABSTRACTWiththerapiddevelopmentofChina'ssocietyandeconomy,therearemoreandmoreprivatecars,andthegreaterthedemandforparkinglots.Theincreaseofvehicleshasundoubtedlybroughthugechallengestoparkinglotmanagement.Howtoaccuratelyandquicklymanageparkinglotinformationhasbecomeanurgentproblem.Withthematurityofcomputertechnology,parkinglotvehicleguidancesystemshaveemergedatthehistoricmoment.Thissystemcaneffectivelysolvetheaboveproblemsandmakeparkinglotvehicleguidanceworksystematicandefficient.Thisparkinglotvehicleguidancesystemismainlydevelopedforparkinglotmanagement.Ithasaflexibleintegrateddesignmethodandsuccessfullycompletestheoveralldesignoftheentiresystem.Thesystemimplementstwoparts,theadministratormoduleandtheusermodule.Thesystemhasacleardivisionoflaborandcompletefunctions.Itcanquicklyrecordvariousinformationabouttheparkinglotandperformtimelymanagement,whichcaneffectivelyimprovetheefficiencyofparkinglotmanagement.ThisparkinglotmanagementsystemisdevelopedwithJSPtechnology.Atthesametime,MYSQLdatabasesystemisusedtorealizedatastorage,whichfullyguaranteesthestabilityandsecurityofthesystem.Keywords:parkinglotmanagement,JSPtechnology,MYSQLdata
目录1引言 11.1课题背景 11.2研究现状 11.3研究目标 11.4论文组织结构 22系统关键技术 32.1JSP技术 32.2JAVA技术 32.3B/S结构 32.4MYSQL数据库 43系统分析 63.1可行性分析 63.1.1技术可行性 63.1.2经济可行性 63.1.3操作可行性 63.1.4法律可行性 63.2系统性能分析 73.3系统功能分析 73.3.1管理员功能模块 73.3.2用户功能模块 73.4系统流程分析 83.4.1登录流程 83.4.2添加信息流程 83.5系统界面分析 94系统设计 114.1系统概要设计 114.2系统结构设计 114.3数据库设计 114.3.1数据库E-R图设计 124.3.2数据库表设计 135系统的实现 155.1登录模块的实现 155.2修改密码模块的实现 155.3用户管理模块的实现 155.4车位管理模块的实现 165.5停车卡管理模块的实现 175.6进出记录模块的实现 175.7发送挪车通知模块的实现 175.8进出车牌查询模块的实现 185.9用户模块的实现 185.10我的停车卡信息模块的实现 195.11空闲车位查看模块的实现 206系统测试 226.1程序测试 226.2测试的重要性 226.3测试特性 226.4测试结论 23结论 24致谢 25参考文献 26PAGE26引言课题背景随着汽车业的迅速发展,汽车是人们出行的必备品,给人们出行带来了极大的便利,但在停车问题上,一直是人们关注的焦点。随着停车场需求的增加,停车场规模也越来越大,停车场的越来越多,这在查找停车场方面面临着严峻的挑战,传统的模式基于文本、纸张的管理,已经无法满足当今停车场的发展需求,效率低,容易出错,这使得急需对停车场车辆引导体系进行改革。计算机的引入、成熟,越来越多基于计算机平台的管理系统被人们使用,基于停车场车辆引导系统也不例外,使用计算机平台对停车场相关信息进行管理,给停车场车辆引导人员带来了方便,是管理走向现代化的标志。首先,有利于管理者摆脱信息紊乱的管理工作。计算机及其管理软件的运用,使停车场车辆引导的速度和效率呈几何倍数提高,推动了基于停车场车辆引导现代化的发展,有利于更好的为用户服务。同时也提高了管理工作人员的自身素质,管理者要通过各种方式和途径不断加强自身的学习和提高,以及适应变化的工作环境和管理方式。随着停车场规模的扩大,停车量日益增加,用户在停车方面需求也在不断增加,使得基于停车场车辆引导负担越来越重,因此,结合管理系统的发展,针对基于停车场车辆引导,开发了本基于停车场车辆引导系统。研究现状随着约翰.冯.诺依曼创建出第一台计算机,成为20世纪最先进的科学技术发明之一开始,人类进入了一个新的世界,开始了一个互联网的年代[10]。第一台计算机占地庞大,处理速度慢,而且只能用于进行科学计算,开机一次都需要浪费很多时间,并且使用必须是专业的人员,都是代码算法,非常的不方便。自从微软公司创建了操作系统开始,人们可以可视化的进行电脑操作,电脑的用途也多样化起来。进而新的互联网出现在了大家的面前,人们可以利用计算机来实现繁琐的计算和信息管理。网络的发展都为基于停车场车辆引导系统的设计与实现提供了良好的基础,在网络和计算机的大力发展下,基于停车场车辆引导系统开始出现,基于停车场车辆引导系统是借助网络和计算机的无纸媒体,既节省了纸张的浪费,又保证了基于停车场车辆引导的实时性,管理人员可以第一时间对其停车场相关信息进行管理,提高基于停车场车辆引导效率。研究目标基于停车场车辆引导系统应用计算机作为平台,其主要优点是具有传统基于的纸张文本方式所没有的优点,传统的基于停车场车辆引导方式不但费时费力,而且基于停车场车辆引导效率差,而基于停车场车辆引导系统可以借助计算机快速的进行基于停车场车辆引导,大大缩短了基于停车场车辆引导的时间,提高了基于停车场车辆引导效率。在本次毕业设计中,使用了JSP技术,MYSQL数据库,构建了本基于停车场车辆引导系统。本基于停车场车辆引导系统的开发目标如下:(1)操作简便、界面良好:简单明了的页面布局,方便管理员和用户进行停车场收费相关信息的全面管理。(2)即时可见:实现信息"即时发布、即时见效"的功能。(3)功能的完善性,满足了管理员和用户不同用户的功能需求。论文组织结构第一章主要是简单的介绍下设计本网站的研究背景、研究现状及研究目标,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。第二章主要是介绍在设计过程中所涉及到的技术。第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。第四章网站系统设计,主要介绍了网站结构的设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。系统关键技术JSP技术JSP全名为JavaServerPages,是一种动态网页技术标准,可以简单的理解为前端页面中加入Java程序语言[1],而Servlet是JSP的技术基础,通过Servlet技术和后端进行数据传输交互,以html的页面返回数据,它主要的优点是可以跨平台运行,JSP主要包含request对象,response对象,session对象,application对象等[3]。程序开发有前端的开发,当然也有程序后台的开发,开发程序后台也是需要精通一些前端的开发技术的,所以程序开发人员在程序开发技术上需要广泛学习并运用。在Java程序开发中,JSP这种运用在服务端的开发技术,跟asp还有php等程序开发常用的动态网页技术一样,都需要经过服务器的编译操作,然后把编译好的数据传给百度浏览器,360浏览器等客户电脑上安装的浏览器上面进行解释,最后才是转换成大家平时所见的静态网页。也就是说大家经常所见到的网页页面其实是经过了很多操作过程的。在程序员眼里,JSP也能近似地看成是java+html的组合,但jsp归根结底地来说它本身就是servlet技术[7]。通常在程序的页面编写过程中,大部分都会使用到out.write()这个编码语句来输出数据信息,这样的操作第一比较麻烦,第二写出来的代码在结构上比较混乱,在后期进行程序维护时,消耗时间也比较长,所以这个写法在后来不是很受欢迎。然而使用JSP技术编码就能解决这些问题,因为在JSP文件中可以运用到html这个标签,在进行程序运行时,JSP引擎就能把JSP文件进行转译得到servlet。因此只要是Java程序开发员,要想快速高效地完成程序开发工作,都会熟练使用JSP技术[11]。JAVA技术Java是一种多用途并且强大的编程语言,可用于开发运行在移动设备、台式计算机以及服务器端的软件。Java已及其流行。Java只要编写一次,无论什么地方都可以运行启动[2]。Java语言是应用很广泛的语言,用它编写出的程序十分可靠安全,并且可以在任何系统平台运行[10]。java在线程机制上也是十分简便,其多线程的机制可以在某一时间内同时执行多个任务不会出现中断,巧妙使用这一特性可以让程序具有更好的实时行为和交互性。Java可以是高级语言,在c++语言的基础上,取其精华去其糟粕,使其更加强大与实用。Java编程语言提供自动的垃圾回收机制,使程序员可以不用担心内存管理。B/S结构B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库[9]。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。B/S框架是目前被广泛采用的一种先进的框架结构,它是一种基于互联网的程序架构。当前的使用已经非常广泛,突破了传统的C/S结构的模式,给程序开发的模式带来新的技术革命。它是随着互联网技术的不断发展而发展起来的。随着互联网技术的不断发展,各种政务网站已经不能单独在一台电脑上使用和运行了,所以基于互联网的模式就逐步的发展起来了,并且得到了大规模的应用。图2-1B/S模式三层结构图MYSQL数据库本次开发的基于停车场车辆引导系统使用的数据库是MYSQL数据库,这个数据库是国外微软公司提出来的具有一定扩展性以及性能高的数据库[4。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的[14]。MYSQL数据库特点:(1)C和C++中使用和测试,以确保源代码的编译器的便携性和灵活性。(2)支持多种操作系统AIX的,FreeBSD下,HP-UX,Linux和MacOS中,Novell公司的Netware,OpenBSD系统,OS/2裹时,Solaris,Windows等(3)提供了用于不同的编程语言的API。编程语言,如C,,C++,Python和Java的,的Perl,PHP,埃菲尔铁塔,Ruby和Tcl的。(4)以及使用的CPU资源来支持多线程(5)算法优化查询SQL,切实提高搜索速度(6)网络上的客户端和服务器可以用来编程任何独立的编程环境,也有中国,GB2312,BIG5,日文写作,一般基金,用于支持多国语言,并且可以嵌入在数据表和其他软件shift_jis访问柱可以用作的名称(7)TCP/IP,ODBC和JDBC数据库,并提供连接到其他(8)管理工具的管理,控制和优化数据库的操作(9)可以数以千万计的记录在一个大的数据库系统分析可行性分析可行性分析目的是根据所开发系统的用户需求,明确研究方向和目标。通过详细的分析调查以及系统的框架设计功能模块分析,找到可行的方法。技术可行性技术可行性主要是考虑开发系统所使用的技术条件能否能够顺利的进行系统的开发工作。硬件和软件设施是否能够满足开发者的需求等等。软件方面,本系统以JSP为开发工具,与MYSQL数据库管理系统紧密结合。由于JSP的开发平台使用起来非常便利,功能很强大,因此,开发本基于停车场车辆引导系统的软件开发平台是完全可行的。硬件方面,科技飞速发展的今天,硬件方面更新的速度越来越快,网络技术的飞速进步使得网络传输的速度也越来越快,价格越来越低,安全性越来越高,所以其硬件平台也完全能满足此基于停车场车辆引导系统开发的需要。经济可行性经济可行性主要是研究和分析系统的投入和产出的关系,非常明了问题不能产出大于投入。基于停车场车辆引导系统主要采用JSP开发,免费,开源,登录基于停车场车辆引导系统即可进行操作,使用方便快捷。同时也能够提升设计的作用,基于停车场车辆引导系统对计算机配置的条件要求很低,即使是网吧淘汰下来的计算机也能够满足需要,因此,本系统在经济上是完全具有可行性的。操作可行性本基于停车场车辆引导系统的界面简单易操作,用户只要平时有在用过电脑,都能进行访问和操作。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。所以系统在操作上具有很高的可行性。法律可行性本基于停车场车辆引导系统开发的所有技术资料都为合法,知识产权问题不会发生在开发过程中,而且没有抄袭其他相关系统,不会有侵犯版权的问题。所以在开发过程中不会涉及法律责任。综上所述,设计一个基于停车场车辆引导系统具有效率高,操作简便,降低成本等优点,所以,建立一个基于停车场车辆引导系统是必要可行的。系统性能分析(1)系统的存储性:因为是基于停车场车辆引导系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂,这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。(4)系统稳定性:开发的基于停车场车辆引导系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。系统功能分析本基于停车场车辆引导系统主要实现的功能模块包括用户功能模块和管理员功能模块两大部分,具体功能分析如下。管理员功能模块管理员用例图如图3-1所示。图3-1管理员用例图用户功能模块用户用例图如图3-2所示。图3-2用户用例图系统流程分析登录流程用户要想进入本系统,必须进行登录操作。用户登录流程图如图3-3所示。图3-3登录流程图添加信息流程管理员和用户登录后均可进行添加信息操作,添加信息流程如图3-4所示。图3-4添加信息流程图系统界面分析用户界面指的是用户直接看到的图形界面也称为前端设计。用户界面的好坏直接影响到用户操作时的体验、效率,愉快性,而且用户界面设计不当还会导致无法很好的发挥出系统的性能。本系统的用户界面采用的是JSP写的页面,通过在JSP中内嵌JAVA代码和调用外部JS代码,实现前后端的数据交互。1.界面元素常见的用户界面都会包括:整体页面的主颜色,字体的大小,字体的颜色,整体页面的布局,主要功能在页面上的布局位置,重要的输入界面和输出界面,人机交互界面。用户界面采用的主颜色,还有整体的布局的美观和功能布局的位置是否符合人性的设计都会直接的影响到用户对本系统软件的认同度。2.用户角色界面的设计必须建立在用户的角度,只有把自己当作用户思考人们的使用习惯和爱好的时候,才能开发出一个围绕用户的界面。通过调查用户的操作习惯,并将收集而来的纷乱复杂信息,进行总结,抽象得出满足用户的用户界面模型。3.需求变化人们的审美和习惯爱好,总是在不断的改变着。故要根据不同用户的喜好,操作习惯作不同的需求设计分析,作出更加符合的用户口味的操作界面。从而得到用户的认可。4.界面原型设计的前期通过快速的创建界面原型,通过同学的建议一点一点的改进用户界面从快速的达到理想的效果。用户界面的设计原则要满足以下几点:(1)页面简洁,操作简单。(2)对于用户而言,浏览信息比记忆信息更友好。(3)从用户的角度思考,才能让用户更好的接纳。(4)利用当今已经流行的页面设计,让用户快速的学会操作。5.安全性问题安全性问题应该是人们最看重的。用户界面上输入的信息不会被别人窃取,还有若输入的时候出现错误页面必须能够回退。系统设计系统概要设计基于停车场车辆引导系统的特点就是利用Browser/Server(B/S)结构,为基于停车场车辆引导提供了一个网络管理平台,提高基于停车场车辆引导效率。系统的优势在于系统简单、功能强大、扩展能力良好以及能够方便的跨地域操作等性能。系统的网络应用原理示意图如图4-1所示:图4-1系统的网络应用原理示意图系统结构设计系统的设计和划分是系统的核心研究问题,以确定整体结构和功能模块。该系统的结构化设计的思想,是自顶向下的方式将系统分成若干个子系统,以及反过来的子系统分成模块,其被划分成子模块,层划分各计算机可执行模块可迄今用作一个单独的程序。本基于停车场车辆引导系统结构图如图4-2所示。图4-2系统结构图数据库设计本基于停车场车辆引导系统采用的是MYSQL数据库,数据存储快,因为是基于停车场车辆引导系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱[2],设计好的数据库首先就需要先把各个实体之间的关系表达明确。数据库E-R图设计在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。通过上述分析对数据库的需求,与系统概念模型的特点及开发方法相结合,我们可以建立E-R模型图,本系统的E-R图如下图所示:(1)管理员信息实体属性图如图4-3所示图4-3管理员实体属性图(2)停车卡信息实体属性图如图4-4所示:图4-4停车卡信息实体属性图(3)用户信息实体属性图如图4-5所示:图4-5用户信息实体属性图(4)车位信息实体属性图如图4-6所示:图4-6车位信息实体属性图数据库表设计基于停车场车辆引导系统采用MYSQL数据库系统进行系统数据的储存,下面介绍数据库中的各个表的详细信息。表4-1t_admin管理员信息表列名数据类型长度允许空是否主键说明idint11否是编号usernamevarchar100是否账号passwordvarchar100是否密码表4-2t_card停车卡信息表列名数据类型长度允许空是否主键说明idint11否是编号cardNamevarchar100是否账号customerIdvarchar11是否所属用户cpvarchar100是否所属车牌beginDatedatetime是否开始日期endDatedatetime是否结束日期statusvarchar100是否状态表4-3t_customer用户信息表列名数据类型长度允许空是否主键说明idint11否是编号usernamevarchar100是否用户名passwordvarchar100是否密码customerNamevarchar100是否姓名headPicvarchar100是否头像phonevarchar100是否电话agevarchar100是否年龄sexvarchar100是否性别表4-4t_cw车位信息表列名数据类型长度允许空是否主键说明idint11否是编号cwbhvarchar100是否车位编号weizhivarchar100是否位置lcvarchar100是否楼层cpvarchar100是否车牌statusvarchar100是否状态系统的实现登录模块的实现管理员和用户要想进入本基于停车场车辆引导系统必须登录系统,在登录界面输入用户名、密码进行登录操作,系统登录界面展示如图5-1所示。图5-1系统登录界面图登录页面是login.jsp页面,该页面主要包括两个input输入框(username,password)和一个select下拉框以及一个登录button按钮。用户输入用户名和密码之后点击登录按钮。程序会调用loginCheck方法进行判断检查,用户名密码之类的是否为空,为空则禁止登录,不为空则程序会进行后台数据的请求${ctx}/customerLogin/save.html。functionloginCheck(){ varusername=$("#login_username").val(); varpassword=$("#login_password").val(); vartype=$("#type").val(); if(username==''||password==''){ alert('用户名和密码必须填写'); returnfalse; } <%-- varlogin_yzm=$("#login_yzm").val(); if(login_yzm==''){ alert('验证码不能为空'); returnfalse; } varphone=$("#customer_phone").val(); if(!_isMobile(phone)){ alert('电话手机号码格式不正确'); returnfalse; } varsfz=$("#customer_sfz").val(); if(!_isIdCardNo(sfz)){ alert('身份证身份证格式不正确'); returnfalse; } --%> varaa=""; varbb=""; if(type=='用户'){ aa="${ctx}/customerLogin/save.html"; bb="${ctx}/customer/index.html"; }elseif(type=='普通用户'){ aa="${ctx}/ptadminLogin/save.html"; bb="${ctx}/ptadmin/index.html"; }else{ aa="${ctx}/adminLogin/save.html"; bb="${ctx}/admin/index.html"; } $.ajax({ type:"POST", async:false,//设置同步方式 cache:false, url:aa, data:$("#login_form").serializeArray(), success:function(result){ result=eval("("+result+")"); if(result.status=='true'||result.status==true){ if(result.msg=='1'){ alert('登录成功'); window.location.href=bb; }elseif(result.msg=='0'){ alert('密码或用户名错误'); }elseif(result.msg=='5'){ alert('验证码错误,请重新输入'); reloadcode(); $("#login_yzm").val(""); } } } }); }修改密码模块的实现管理员和用户登录后均可进行修改密码操作,修改密码界面如图5-2所示。图5-2修改密码界面修改密码页面是password.jsp页面。该页面主要包括三个input输入框(username,password)button按钮。用户输入原始密码和新密码之后点击登录按钮。程序会调用save方法进行判断检查,如果密码输入为空或者密码不正确,则会给出提示,如果正确则会调用changePassword.html连接进行更新密码的操作。functionsave(src){ varoldPassword=$("#oldPassword").val(); varnewPassword=$("#newPassword").val(); varnewPasswordConfirm=$("#newPasswordConfirm").val(); if(oldPassword==''){ alert('旧密码不能为空'); returnfalse; } if(newPassword==''){ alert('新密码不能为空'); returnfalse; } if(newPasswordConfirm==''){ alert('确认密码不能为空'); returnfalse; } if(newPasswordConfirm!=newPassword){ alert('两次密码输入不一致'); returnfalse; } $.post("changePassword.html",$("#form1").serializeArray(),function(result){ result=eval("("+result+")"); if(result.status=="true"||result.status==true){ alert('修改成功'); window.location.reload(); }else{ alert('旧密码不对,请重新输入'); } }); }用户管理模块的实现管理员可进行用户管理操作,界面展示如图5-4所示。图5-3用户管理界面管理员登录成功之后可以查看用户的信息,点击左侧的功能菜单,会调用用户查询页面,查询结果保存在list结合里面,然后放在request属性里面进行返回,页面通过对list集合的遍历进行展示publicStringlist(Modelmodel,HttpServletRequestrequest,Stringflag,Stringusername,StringcustomerName,Stringsex)throwsException{ //selectdate_format(insertDate,'%Y-%m-%d%H:%i:%s') //CONVERT(varchar,insertDate,120) //to_char(insertDate,'yyyy-mm-dd,hh24:mi:ss') Stringsql="selecta.*fromt_customerawhere1=1"; if(username!=null&&!"".equals(username)){ sql+="andusernamelike'%"+username+"%'"; } if(customerName!=null&&!"".equals(customerName)){ sql+="andcustomerNamelike'%"+customerName+"%'"; } if(sex!=null&&!"".equals(sex)){ sql+="andsex='"+sex+"'"; } sql+="orderbyiddesc"; Listlist=db.queryForList(sql); request.setAttribute("list",list); return"/admin/customer/list"; }车位管理模块的实现管理员可以进行车位信息的新增修改和删除,并且可以进行状态操作,界面如图5-4所示。图5-4车位管理界面管理员可以进行新增车位信息,其界面展示如图5-6所示。图5-5车位新增界面管理员登录之后,点击左边的功能菜单,可以对车位信息进行添加和管理操作。在管理页面负责展示车位的信息,添加页面进行数据的添加。@RequestMapping(value="/list") publicStringlist(Modelmodel,HttpServletRequestrequest,Stringflag,Stringusername,StringptadminName,Stringsex)throwsException{ //selectdate_format(insertDate,'%Y-%m-%d%H:%i:%s') //CONVERT(varchar,insertDate,120) //to_char(insertDate,'yyyy-mm-dd,hh24:mi:ss') Stringsql="selecta.*fromt_ptadminawhere1=1"; if(username!=null&&!"".equals(username)){ sql+="andusernamelike'%"+username+"%'"; } if(ptadminName!=null&&!"".equals(ptadminName)){ sql+="andptadminNamelike'%"+ptadminName+"%'"; } if(sex!=null&&!"".equals(sex)){ sql+="andsex='"+sex+"'"; } sql+="orderbyiddesc"; Listlist=db.queryForList(sql); request.setAttribute("list",list); return"/admin/ptadmin/list"; }停车卡管理模块的实现管理员可以进行停车卡信息的新增修改和删除,界面如图5-4所示。图5-6停车卡管理界面管理员点击停车卡管理进行停车卡管理页面。@RequestMapping(value="/list") publicStringlist(Modelmodel,HttpServletRequestrequest,Stringflag,StringcardName,Stringcp,Stringstatus)throwsException{ //selectdate_format(insertDate,'%Y-%m-%d%H:%i:%s') //CONVERT(varchar,insertDate,120) //to_char(insertDate,'yyyy-mm-dd,hh24:mi:ss') Stringsql="selecta.*,(selectcustomerNamefromt_customerbwherea.customerId=b.id)customerNamefromt_cardawhere1=1"; if(!"1".equals(flag)){ sql+="andcustomerId="+getCustomer(request).get("id"); } if(cardName!=null&&!"".equals(cardName)){ sql+="andcardNamelike'%"+cardName+"%'"; } if(cp!=null&&!"".equals(cp)){ sql+="andcplike'%"+cp+"%'"; } if(status!=null&&!"".equals(status)){ sql+="andstatus='"+status+"'"; } sql+="orderbyiddesc"; Listlist=db.queryForList(sql); request.setAttribute("list",list); return"/admin/card/list"; }进出记录模块的实现管理员可以进行进出记录信息的查看,界面如图5-7所示。图5-7进出记录界面管理员查看进出信息,点击左侧功能菜单,进行数据的查询,查询出数据之后,进行保存,然后页面进行遍历@RequestMapping(value="/list") publicStringlist(Modelmodel,HttpServletRequestrequest,Stringflag,Stringcp,Stringflag2,Stringpaytype,Stringlx)throwsException{ //selectdate_format(insertDate,'%Y-%m-%d%H:%i:%s') //CONVERT(varchar,insertDate,120) //to_char(insertDate,'yyyy-mm-dd,hh24:mi:ss') Stringsql="selecta.*fromt_jiluawhere1=1"; if(!"1".equals(flag)){ sql+="andexists(select1fromt_cardbwhereb.cp=a.cpandb.customerId='"+getCustomer(request).get("id")+"')"; } if(cp!=null&&!"".equals(cp)){ sql+="andcplike'%"+cp+"%'"; } if(flag2!=null&&!"".equals(flag2)){ sql+="andflag2='"+flag2+"'"; } if(paytype!=null&&!"".equals(paytype)){ sql+="andpaytype='"+paytype+"'"; } if(lx!=null&&!"".equals(lx)){ sql+="andlx='"+lx+"'"; } sql+="orderbyiddesc"; Listlist=db.queryForList(sql); request.setAttribute("list",list); return"/admin/jilu/list"; }发送挪车通知模块的实现管理员可以进行挪车通知的发送,界面如图5-8所示。图5-8挪车通知界面发送挪车模块是选择接收人然后输入标题和内容进行信息的发送工作。@RequestMapping(value="/editSave") publicResponseEntity<String>editSave(Modelmodel,HttpServletRequestrequest,Longid,Stringflag ,IntegercustomerId,IntegertoId,Stringtitle,StringheadPic,Stringcontent,StringinsertDate,Stringstatus)throwsException{ intresult=0; if(id!=null){ Stringsql="updatet_messagesettoId=?,title=?,headPic=?,content=?whereid=?"; result=db.update(sql,newObject[]{toId,title,headPic,content,id}); }else{ Stringsql="insertintot_message(customerId,toId,title,headPic,content,insertDate,status)values(?,?,?,?,?,now(),?)"; result=db.update(sql,newObject[]{null,toId,title,headPic,content,"未读"}); } if(result==1){ returnrenderData(true,"操作成功",null); }else{ returnrenderData(false,"操作失败",null); } }进出车牌查询模块的实现系统管理员可以进行输入车牌进行查询进出时间,界面如图5-9所示。图5-9进出车牌查询界面可以对进出的信息进行查询,输入车的信息,然后就可以查询出相关的信息@RequestMapping(value="/edit") publicStringedit(Modelmodel,HttpServletRequestrequest,Longid,Stringflag)throwsException{ if(id!=null){ //修改 Stringsql="select*fromt_ptadminwhereid=?"; Mapmap=db.queryForMap(sql,newObject[]{id}); model.addAttribute("map",map); }Stringsql=""; return"/admin/ptadmin/edit"; }用户模块的实现用户可以通过web进行访问,也可以进行自适应手机进行访问,其界面展示如图5-10所示。图5-10用户界面用户登录成功之后,进入用户的工作台,在这个页面主要展示用户的一些基本信息和功能菜单我的停车卡信息模块的实现用户可以进行我得停车卡信息的查看,界面如图5-11所示。图5-11我的停车卡信息界面用户可以查看自己的停车卡,点击菜单,从session里面获取登录人的信息,然后进行查看。@RequestMapping(value="/edit") publicStringedit(Modelmodel,HttpServletRequestrequest,Longid,Stringflag)throwsException{ if(id!=null){ //修改 Stringsql="select*fromt_cardwhereid=?"; Mapmap=db.queryForMap(sql,newObject[]{id}); model.addAttribute("map",map); }Stringsql="";sql="select*fromt_customer";model.addAttribute("customerList",db.queryForList(sql)); return"/admin/card/edit"; }空闲车位查看模块的实现用户可以进行查看空闲车位,界面如图5-12所示。图5-12空闲车位查看信息界面空闲车位查看,是点击菜单,展现出目前没有被使用的车位@RequestMapping(value="/show") publicStringshow(Modelmodel,HttpServletRequestrequest,Longid,Stringflag)throwsException{ Listlist1=db.queryForList("select*fromt_cwwherelc='一楼'"); request.setAttribute("list1",list1); Listlist2=db.queryForList("select*fromt_cwwherelc='二楼'"); request.setAttribute("list2",list2); Listlist3=db.queryForList("select*fromt_cwwherelc='三楼'"); request.setAttribute("list3",list3); Listlist4=db.queryForList("select*fromt_cwwherelc='四楼'"); request.setAttribute("list4",list4); return"/admin/cw/show"; }系统测试程序测试在设计系统的过程中难免会出现一些不可避免的错误,而这些错误或缺陷则可能造成用户的厌恶和厌烦,所以这时候我们需要对此系统进行测试。在系统测试中我们基于两个不同的立场对系统进行测试,从用户的立场出发,普遍希望在测试运行中能够直接显示出系统的错误,而从系统开发者的立场中,更希望软件测试中不存在任何问题,这样体现出一个软件系统的稳定性。一功能测试:从功能测试中我们首先要检测软件系统的功能是否能够满足用户的需求,如满足功能要求,我们则对系统进行完善,如不满足,则继续按照需求增添功能。二性能测试:从性能测试中我们主要对系统的稳定性能进行测试,在系统运行过程中我们一定要保证系统运行的稳定性,使系统能够正常运行。三安全测试:在安全测试中我们要保证账号登录安全性,所以要求系统能够保证对个人登录用户信息和用户操作等方面的安全要求,同时要保证系统减少安全漏洞,提高系统的安全性能。测试的重要性对于程序系统而言,在事实上,无论采用的是哪种语言或者技术,系统中不可避免地会出现或多或少的错误。在编写过程中仔细校正,可以在很大程度上降低错误的出现,但是依然不能完全杜绝系统设计中可能出现的错误,因此就需要通过一次次的测试来将错误找出来,并加以改正[1]。同时,仅仅几次的测试往往是不够的,在程序的开发中,实际上进行测试的工作量是非常大的,甚至可以相当于二次创作。然后,在实际测试中也会存在一些难题,通常会使得我们难以进行下一步测试,或者无法进行多次测试而敷衍了事,其中包括:(1)测试工作繁琐而细致,需要认真仔细地校对,并且需要反复查看同一个部分。(2)对自己编写的程序难以看出其中的错误。(3)测试工作难以带给人以成就感,没有完成程序编写的满足感。以上几点都会在实际测试过程中或多或少带来影响,从而影响该系统的最终开发和应用,因此对于程序开发者而言,需要端正态度,虚心学习,主动承认自身的错误,并且善于改正,才能将程序的开发实现最大程度的完善。测试特性到此整个完整的系统设计完成了,但这个程序的工作还没有完全做完,功能都不知道是否能按设计的实现,需要进行系统测试,从而表明本系统中是否存在错误和不足之处,以便让用户更好的接受该系统。虽然测试并不能完全的暴露出系统的所有问题,但也可以使系统的错误和不足降到最低,如果不测试就直接投入使用,将会造成严重的后果,经济方面也会有很大的损失。系统测试的特性如下:(1)挑剔性:测试是为了找出系统的错误,因此,在系统测试时我们要严格苛刻,十分挑剔。(2)复杂性:测试是一个非常复杂的过程,在设计测试用例时,需要细致和高度技巧的高能工作,稍微不注意就可能会顾此失彼,发生疏漏。(3)不彻底性:虽然系统经过测试,但测试仍然会存在不够彻底的问题,测试不能保证系统后期运行完整无误,所以要在后期不断的检查、修改[10]。(4)经济性:通场这种测试称为“选择测试(SelectiveTesting)”。在测试时要遵守经济性的原则。测试结论经过对上述的测试结果分析,本基于停车场车辆引导系统满足基于停车场车辆引导的要求和需求。系统界面友好、功能齐全,系统运行后很稳定,可靠,也具有数据加密的功能,满足安全性。所有基本功能齐全,整体感觉还是比较清晰明了,功能板块上面在测试期间都逐个测试了一遍,基本没有发现功能上面存在的操作逻辑问题以及内容实现问题,操作简单,系统运行性能良好,因此程序能够达到用户需求文档要求的内容,是一个值得推广的大众化的基于停车场车辆引导系统。程序可以投入运行使用。结论在这次毕业设计中,我发现在生活和工作中,网络和数据库应用隐藏着巨大的潜力。在学校的四年中,我全力学习计算机网络专业知识和本文使用,我相信所有困难终都会被解决的。毕业设计是最能体现出我们所学知识的应用情况,是对我们大学期间所学知识的应用巩固和提高的时刻。设计基于停车场车辆引导系统的过程不仅仅是对我学计算机知识的一次考验,更是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《脊柱的运动解剖》课件
- 第6单元 科技文化与社会生活(A卷·知识通关练)(解析版)
- 中华传统文化宣传教育2
- 双十二时尚之道
- 驶向辉煌共创精彩
- 音乐制作师劳动合同三篇
- 深部护理科护士的工作总结
- 竞选班干部的演讲稿模板集锦八篇
- 2023年-2024年安全管理人员安全教育培训试题附答案(A卷)
- 2024年企业主要负责人安全培训考试题附参考答案【突破训练】
- 幼儿园讲解海军知识新版ppt
- T∕CDHA 9-2022 热力管道安全评估方法
- 试验前准备状态检查报告
- 理正深基坑之钢板桩受力计算
- 国家开放大学电大专科《中国当代文学》期末试题及答案
- 广东话粤语姓名拼音大全
- 闸门及启闭机安装专项施工方案
- 应征公民体格检查表(征兵)
- 钢筋位置及保护层厚度检测ppt课件
- 岩石坚固性和稳定性分级表
- CNC程序控制管理办法
评论
0/150
提交评论