1、小区车辆管理系统院 系北方软件学院专 业计算机科学与技术(软件工程)班 级5233105学 号200502331152姓 名冯咀志指导教师郑凤仁负责教师沈阳航空工业学院2007年6月沈阳航空工业学院毕业设计(论文)摘 要小区车辆管理系统是一款对小区内车辆进行管理的软件,旨在提高车辆管理的效率、减少管理费用。本文首先介绍小区车辆管理系统的研究背景和意义;通过当前停车场的发展趋势和其它相关软件产品的不足,两个方面阐明本软件的价值,分析讨论开发车辆管理软件的意义和主要功能;并从软件的安全性、易用性、稳定性等方面分析软件开发过程中应该注意的问题,指出小区车辆管理系统能提高小区的管理效率和节省资金。然后
2、,分析讨论数据库系统的基本功能以及数据库技术在小区车辆管理系统中的应用,并结合实际情况分析数据的设计方法。最后针对小区车辆管理系统运行过程中可能出现的问题提出了解决方案,并从管理思想、软件、系统三个概念层次对小区车辆管理系统的开发与维护作了概括。本软件采用Java语言和SQLServer2000数据库开发而成。关键词: 车辆管理;数据库系统;Java;SQLServer2000AbstractResidence community vehicles management system is a software which manage residential community vehicl
3、es. Seek to improve management efficiency and reduce management costs. This paper introduces Residence community Vehicle Management System research background and significance.Analyze the shortage of the current trend of development in car parking and other relevant software products , Clarify the s
4、oftware value From two aspects. Discussed the development of vehicle management software significance and the main function. And analyze the software development process from software security, usability, stability and so on. It indicate residence community vehicles management system can improve the
5、 management of district efficiency and save money .Then discuss the basic database functions and database technology in the district vehicle management system applications. Integrate with the actual situation, analyze the data design method. Finally Residence community vehicles management system ope
6、ration may arise in the course of the proposed solutions .And from the management thinking, software, system the concept of three-level summarize district vehicles for the development and maintenance. The software is designed and developed by Java language and SQLServer2000 .Keywords:vehicles manage
7、ment, Database System,java,SQLServer2000目 录1 总论11.1 系统开发的背景51.1.1 价格因素51.1.2 人的因素61.2 系统开发的意义和目的61.3 开发环境61.3.1 硬件配置及外设设备与配置61.3.2 开发语言、应用软件平台及语言71.3.3 系统的主要功能82 结构设计92.1 系统开发的思想与原则92.1.1 系统概述92.1.2 系统开发方法介绍92.1.3 系统调研与可行性分析102.1.4 可靠性分析概述102.1.5 技术可行性分析102.2 系统软件的结构设计112.2.1 结构设计112.2.2 系统功能112.2.3
8、 数据结构122.3 详细设计132.3.1程序设计思想与原则132.3.2 程序软件结构设计142.3.3 数据库设计223 系统编码243.1 系统原码及说明244 系统评介274.1 系统测试274.2 系统的优点及技术特征294.3 系统的不足及改进方案305 结束语31参考文献32致 谢331 总论据有关数据统计,中国2004年的汽车保有量约2000万辆,2005年汽车保有量已达到2500万辆左右,平均年增长约为10%。但随之而来的,车多位少、停车难的问题也日渐突出,成为当前社会普遍的关注点,以沈阳来说,现有机动车数量急剧增长,而车位却增长缓慢,停车位严重短缺可见一斑。 为此,近几年
9、,中国大部分城市都在兴建停车场或扩建车位。随着新世纪经济持续健康快速发展,以及加入WTO后私人购车高峰期的即将到来,交通需求将显著增加,停车设施的水平直接影响到城市的交通运行效率和生活环境品质,停车设施的过度短缺、布局不合理和管理不规范,都将对提高城市的综合竞争力产生不利影响。因此,从长远发展目标来看,结合城市布局结构的调整,建立和完善与城市社会经济发展相适应的城市停车系统,是十分紧迫和必要的。面对市场需求的拉动,厂商们是否了解到用户对停车场管理系统关注的是什么?未来有何新需求? 1.1 系统开发的背景曾几何,国外停车场产品在市场上占据了主要的地位,如速宾、AAMANO、DESIGNA、CAS
10、ALE等品牌,但随着近年来国内厂商加大了对市场的开发以及产品技术的逐渐成熟,国内停车场产品在市场上已取得于相当不错的表现,目前市场上也是以选择本土产品为主流。 1.1.1 价格因素其中,价格是最重要的原因。据了解,国外一套普通规模的停车场管理系统高达到30-40万。即使是在国内一般也要在10万以内,有着3-4倍的差距。显然即使是使用国产软件,这个价格对于大多数小区来说也很难被接受。1.1.2 人的因素另外,与外国软件相比国内系统操作界面完全汉化,这种本土化的软件更适合一般非专业人员的操作、维护,而且在售后服务方面,更能提供及时的服务等等。1.2 系统开发的意义和目的正是考虑到以上几个因素,也是
11、为了填补当前大型车辆管理软件价格高,而且有许多功能的对于小型停车场用不上的空白。我决定开发一套真正适合中小型停车场的软件。首先它的用户对象是小区、超市、商场、中小型公司等车辆不是很多的用户。其次本软件的价格不会很高,甚至可以以共享的方式提供给用户使用,因为这类用户不可能为一个车辆管理软件付很多钱,他们最主要目地是够用、稳定就好。最后本软件的使用力求简单化,操作傻瓜化。用户通过鼠标点按就可以实现全部操作。因为这种小型停车场不大可能对管理员进行专门的培训,更不能聘用一个专业计算机的人来管理系统。1.3 开发环境一个好的开发环境可以加快我们的开发速度,下面分别介绍我的硬件开发环境和软件开发环境。1.
12、3.1 硬件配置及外设设备与配置硬件环境的好坏是我保证我们完成开发的先决条件,因为JAVA程序运行的时候很占内存,所以对内存的要比较高,在这里我们推荐内存至少要512MB。而现在的许多IDE运行时需要做大量的CPU运算,所以CPU配置应该为P4 2.4G或AMD AthlonXP 2500+以上。硬件环境备注CPU:AMD Athlon 3000+硬盘:希捷160G SATA内存:金邦 512MB显卡:七彩虹 X550XT因为JBuilder对硬件要求比较高所以内存至少要达到512MB,推荐1GB。表1.1 硬件环境表1.3.2 开发语言、应用软件平台及语言软件环境的好坏直接影响着我们开发软件
13、的效率、稳定性和安全性。Eclips我就不细说了,有大量的程序员都用它来开发就足以说明它的非凡了。在这里我要说的是NetBeans,由于起步比较晚再加上前几个版本的性能平平,所以有很多人对它不是很了解。但是自从5系列推出以后它的性能有了质的改变。不仅因为是纯JAVA开发的IDE,它还集成了Tomcat等企业级开发插件,所以不需要再去找外挂的插件。更令人激动的为了配合NetBeans,SUN公司的在JDK1.6加入了一个新的布局管理器。用NetBeans和JDK1.6可以很容易地开发图形界面,就像你曾经熟悉的VB一样。软件环境备注OS:WindowsXP ProfessionalIDE:Ecli
14、ps3.2.2JBuilder2006 NetBeans5.5开发语言:Java(JDK 6.0)数据库:SQLServer2000利用JBuilder和NetBeans可以很容易地做出图形用户界面,再利用Eclips的良好代码编辑能力,对生成的编码进行修改。表1.2 软件环境表1.3.3 系统的主要功能在进行了充分的市场调研和对实际需求的认真分析后,确定本系统的定位应该是利用计算机与有效的管理手段来减少管理人员的工作量,管理员可以很方便地通过本软件进行复杂的数据操作。对于普通用户可以方便地进行查询操作。2 结构设计一个清晰明白的结构可以保证我们在开发过程最大优化我们的资源,并能保证功能模块不
15、被遗漏。所以在任何项目开发之前都要先设计一个合理的组织结构,然后根据结构图有次序、有步骤地进行开发。2.1 系统开发的思想与原则2.1.1 系统概述为实出分工明确,也为防止非法用户的越权操作,本系统主要分为两个层次的用户,一个是系统管理员另一个是普通用户。1. 管理员用户这是本系统的最高权限用户,拥有对系统的完全控制权限。包括对普通用户查询,对新用户和新车位进行登记,对新用户进行添加,对用户资料的内容进行修改,对用户进行删除,修改普通用户对系统的使用权限等操作。2. 普通用户最基本用户只拥有查询权限,在普通提供了正确的车牌号和密码后,系统会返回用户的基本资料。但普通用户不可以对这些资料进行操作
16、。2.1.2 系统开发方法介绍本系统采用JAVA语言编写,为了更好地休现本语言面向对象的特点,本系统采用面向对象的、模块化的设计方法,这也是当前比较高效、流行的设计模式。本系统的主要功能模块封装在单独的类中,这种分布式的开发方式不但能提高开效率,还有利于功能的单独测试,更容易发现和改正错误。常用的操作都封装在公有方法中,这样当其它模块需要实现某个操作时,就可以直接去调用那个方法。以实现代码最大限度的重用。2.1.3 系统调研与可行性分析在结合了当前的实际市场需求和今后的发展趋势后,我认为本软件的市场前景将会非常好。因为现在国内外很少有这种专门针对小区等小型停车场的软件,而大型软件不仅购买费用高
17、、对硬件要求高而且维护不方便,更重要的是用户不能很快掌握,还需要进行专门的培训。这对于小型用户来说是很难接受的。本软件正是从价格、易用性等方面而专门做的优化。2.1.4 可靠性分析概述为了使软件安全稳定,在选择语言和工具方面尽量选择那些可靠成熟的产品。JAVA是一种安全高效的编程语言,不但加强了对异常的管理,而且还有完善的垃圾回收机制。因此程序员不必担心在C或C+中防不胜防的内存泄漏的情况出现。用JAVA开发出来的程序还具有很好的可移植性,不必担心在Windows上开的产品拿到别的系统上就不能运行了。在数据库的选择上我用的是微软的SQLServer2000,虽然现它最的版本是2005,但是考虑
18、到2000是一款经过多年使用的、经过考验的产品。为了系统的稳定最终还是选择了它。2.1.5 技术可行性分析在技术上虽然有许多语言能用来开发本软件,比如:C、C+、VB、PB等,但是这些并不一定是最好的。用VB或PB开发固然可以简化很多工作,尤其是在界面的制作上可以省去很大的一部分精力,就连事件的代码都可以由开发工具自动生成,但是这两种语言的可移植性并不好,这就在无形中限制了产品的使用范围。用C或C+虽然能提高运行速度,但是考虑到它们极为不安全的指针,还是放弃了。因为在硬件迅速发展的今天,软件上一点点速度的差别已经微乎其微了。至于Java,因为我学过一学期的JAVA,应该说有一定的基础,但是一直
19、没有亲自实践一次的机会,而且我也喜欢JAVA这种语言。程序员可以用JDK中的现成方法来完成许多工作,而且使用这些成熟的方法不但能加快我们的开发速度,还能大减少出错的可能。最后,最重要的还是看中它的安全性和可移植性。这不仅是为了日后的维护方便,也是对用户的负责。2.2 系统软件的结构设计下面来介绍一下本系统的结构,为了方便用户管理,在开发软件的最初我就力求系统使用起来简单方便,而功能要尽量全面。使用户在不涉及后台数据库的情况下就能通过软件对数据库进行各种操作。2.2.1 结构设计本系统的业务流程如图2.1用户业务流程图所示。小区车辆管理系统系统登录欢迎界面用户操作显示结果数据库验证数据库操作图2
20、.1 用户业务流程图2.2.2 系统功能为了提高安全性和便于管理,本软件分为管理员和普通用户两类用户。其中普通用户只具有查询功能。管理员用户拥有对系统的所有操作权限如查询、登记、添加、修改、删除、更改权限等操作。2.2.3 数据结构对于这种涉及到数据操作的软件项目来说,数据库的逻辑结构的设计是重要的,可以说软件开发中很大一部分是数据库的设计。一个设计良好的数据库不仅能方便我们存储,而且还能大减少我们在程序中的代码量。有许多功能在数据库中实现起来要比我们在程序中实现安全方便的多。如果一个数据库的逻辑关系不明确,很容易造成插入异常、读脏数据等情况的发生,而这些又常常是很难在使用过程中发现的。直到造
21、成严重损失才发现为失已晚。本软件数据库的E-R图如图2.2所示。所属车主车辆ID号姓名联系方式车牌号车辆信息交费情况楼号/门牌号存放车位号ID号验证码图2.2 E-R图2.3 详细设计经过上面的精心准备后,下面进入具的设计阶段。本软件的HIPO图如果图2.3所示。信息查询用户登记删除记录修改记录变更权限添加记录小区车辆管理系统图2.3 HIPO图2.3.1程序设计思想与原则本着简单、高效、实用的原则同时也为了尽最大限度地发挥JAVA语言面对象的特点,本程序采用模块化、分布式的设计方式。为了提高开发的效率同时也为了减少代码量,本程序尽量减少窗口程序的数量。因为不必要的窗口不仅需要很长的开时间,同
22、时生成的大量代码会使整个系统的代码显得非常庸肿,降低系统的运行速度。最重要的是用户同时开打开多个窗口不仅会占用大量计算机资源,还方便于用户的操作。虽然本软件设有两类用户权限,但是为了提高效率,在主界面的设计上采用普通用户和系统管理员共用一个界面的方法。这就需要设定普通用户登录时可以使用的操作和不可以使用的操作。虽然这样做需要在用户登录时做一个判断,并且在数据库中添加一个标识用户身份的数据项,但是它带来的好处是显而易见的。至始至终本系统的风格都很简洁,主要的界面只有两个,系统登录和主功能界面。2.3.2 程序软件结构设计本程序软件的主要结构分为三个大部分。首先当用户运行程序时弹出一个欢迎界面,当
23、用户点击界面上任意一点后进入登录界面,当用户输入了正确的用户名和密码后,便可进入主界面。在登录界面,系统会根据用户所提供的信息自动判断用户的身份,然后授予不同权限用户以不同的操作能力。下面就分别来介绍一下这三个部分的具体设计过程。首先是欢迎界面。这是用户运行程序时看到的第一个界面。这上面主要介绍了与本软件和作者相关的一些信息。如:软件的名称、制作人、指导老师、版本号、开发时间和联系方式等基本信息。用户可以通过这个界面对软件有个基本了解。为了给用户一个良好的第一印象,我特别地用PhotoshopeCS做了一张图来做背景。本界面的设计宗旨是视觉上美观大方,内容上要能够提供详细、清晰的信息。如图2.
24、4欢迎界面。图2.4 欢迎界面接下来就是登录界面了。这里是保护系统安全的大门,因此它的设计不要求多么漂亮,而是要保证代码的安全性。这个界面很朴素,只有用户的登录输入框和确定与退出两个按钮。其效果如图2.5登录界面。图2.5 系统结构图为了提高安全性,防止非法用户通过反汇编等手段从程序中猜密码。所以用户的密码不是在存在程序中,而是在数据库中。通过用户输入的用户名从数据库中取出相应的密码,只有这两项都正确才能通过验正。为了方便用户使用,本程序还会针对用户输入的不同错误而做出相应的提示。如果用户提供的用户名在数据库中存在,而密码错误,系统会提示用户密码不正确。如图2.6密码错误图。图2.6 密码错误
25、图当用户输入了正确的验正信息后,便可进入本系统的主功能界面了。因为用户分为两面种不同的权限,而这两类用户又要共用一个界面,所以根据对用户身份的判断系统会显示给用户两种不同的界面,一种为普通用户界面,一种为管理界面。系统的大部分功能都是在这个界面上实现的包括操作和显示结果,这样做的好处有很多。首先它很节省代码,用户操作起来很方便,不用费力地再去功能菜单中找相应的功能选项,而且显示结果也在同一个界面上使用户一目了然地查看结果。但是这样一来设计就显得很重要,如果设计的布局稍有不合理便会显得杂乱无章,当用户看到这种界面时便会无从下手,使软件的易用性降低。下面就来看看这个界面,因为管理员和普通用户用的是
26、同一个界面,不同的是以管理员身份登录后,功能选项为可用,而以用户身份登录则为不可用所以为了节省篇幅只给出具有代表性的管理员界面。为了使显示的信息能够清晰,我把界面分成三部分。其中最上端为查询,因为这是用户最常用的操作,所以把它放在最醒目的位置。中间为基本信息部分,这里显示的是用户有关的各项信息,因为这里面的许多内容要经常改变和查看,所以把它们放在中间。最下面是管理员关心的内容了,也是本程序主要功能的实现所在。为了更好的区分不同的功能区域,我用二种不同的颜色把它们区分开来。具休的如图2.7管理员界面图。图2.7 管理员界面图不论管理员或者普通用户进入本界面时都会看到当前小区内车辆管理的一些基本信
27、息。如当前车场中总的车辆数、当前可用的空位和提示那些用户欠费了及他们欠费的时间。这些信息大大地方便了管理员对车辆的管理。当管理员或用户输入车牌号和密码并按查询按钮后就可以查询信息了,这个操作是公用的,不须要权限。如果用户的输入有错误则提示出错信息。如图2.8查询出错图。图2.8 查询出错图如果用户的输入通过验正,则显示出此用户的详细信息。如图2.9查询结果图图2.9 查询结果图下面来分别介绍管理员的功能。首先是登记功能。设置这项功能的主要目的是为了实现用户对车位的预定,因为存在这样的用户,现在没有车,但是以后会买,所以它们会预定一个车位却不能确定车辆的详细信息,如车牌号、车型、车辆信息等。这样
28、信息不全的用户不能实现添加操作。还有小区的车位并不是固定不变的,随着小区规模的不断扩大,车位也会因为需求的增加而增加,这时候也需要动态地对数据库中的车位进行增加,这也是登记功能的又一个用处。当然为了体现良的操作性、和安全性。系统会对用户输入的内容进行核对,当用户没有输入任何信息而进行登记时,系统会提示用户ID号或存车位不可为空。如图2.10所示。图2.10 登记信息为空图当用户输入的ID号或存车位在数据中已存在,则此ID号和存车位不能进行登记。此时会显示ID号或存车位已存在的错误。如图2.11所示。图2.11 登记信息已存在图当用户输入的存车位在数据不存在,则显示登记成功信息。如图2.12所示
29、。图2.12 登记成功图接下来是添加功能。此项功能的作用是把用户的完整信息添加到数据库,所以勿必要求用户输入的每项信息都是完整的。如果用户漏填了某项信息则会显示出错信息。如图2.13图2.13 出错信息图如果用户添加的用户ID或存车位与数据中已有的数据重复,则会显示ID号或存车位已存在的出错信息,图略。如果用户成功添加,则会显示添加成功信息,如图2.14所示。图2.14 添加成功图接下来是修改功能。因为它实现的功能比较多,而且涉及到数据库的安全问题。所以这是本软件中最不难设计的一个功能。首先它实现的是基本修改功能,包括除了ID号和存车位以外的任意一项功能。而管理员在里主要关心的是用户的计费,所
30、以它可以更改用户的交费日期,这就实现了用户的续费功能。当用户修改操作成功时,如图2.15所示。图2.15 修改成功图考虑到管理的人性化和对小区内车位管理进行优化,用户还可以在当前的可用车位中更换一个自己想要的车位。由于这涉及到多表,和主键关系的操作,所以当用户更改车位的同时,ID号也要进行更改,如果要保留原来的ID不变,就要先执行删除操作再进修改。图略。接下来是删除功能。这项功能实现的是把用户从数据库中彻底删除,这项操作是不可逆的,因此操作之前要慎重考虑。考虑到实际的应用环境,本功能的实现分为两情况。一种是正常情况,即管理员通过用户提供的车牌号和密码查询出此用户,然后再对此用户进行删除操作,此
31、时要求用户的信息必须是完整的。别一种是比较极端的情况,比如有些用户在长时间的托欠存车费不交,当管理员想删除此用户时,用户拒绝提供密码。这时管理员就可以直接根据车牌号而不需要密码就可以实现删除操作。当然这种情况侵犯了用户的个人隐私,应该尽量避免。当管理员删除操作成功后,会显示如图2.16所示的删除成功信息。图2.16 删除成功图最后是变更权限功能。随着小区内车辆的不断增多,系统管理与维护的劳动强度也会越来越大,这时若还由一个人来管理就显得捉襟见肘了,管理效率也会下降。因此本项功能主要就是实现了允许多个用户以管理员权限对系统进行管理,本来赋予权限与回收权限是两个功能,但是为了简化操作也为了方便用户
32、管理,我把这两个功能用一个按钮来实现。当用户选择了一个用户进行此操作时,在数据库中会对此用户当前的权限进行变更,如果原来是普通用户则变成管理员;如果原来是管理员则变成管理员。应该注意的是,此项功能的完成也是建立在查询结果的基础上的,这样做虽然看起来有点麻烦、有点多此一举,但是这样做却对系统多增加了一层保护措施。操作成功的结果如图2.17权限更改成功图所示。图2.17 权限更改成功图2.3.3 数据库设计为了简化数据库的操作,本数据库主要设有两个实体,车主和车辆。具休的实体如图2.17车主实体E-R图和图2.18车辆实体E-R图所示。车主实体ID姓名门牌号验证码身份标识联系方式图2.18 车主实
33、体E-R图车辆实体MID车牌号存放车位号交费情况车辆信息图2.19 车辆实体E-R图现在需要将上面的数据库结构概念转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。小区车辆管理系统数据库中各个表格的设计结果见表2.1车主表和表2.2车辆表。列名数据类型可否为空说 明IDvarchar(20)Not Null主键姓名varchar(10)Null门牌号varchar(10)Null验证码varchar(10)Null身份标识int(4)Null联系方式varchar(20)Nul
34、l表2.1车主表列 名数据类型可否为空说 明MIDvarchar(20)Null车牌号varchar(10)Null存放车位号varchar(10)Not Null主键交费情况datetime(8)Null车辆信息varchar(200)Null表2.2车辆表3 系统编码下面把开发过程中一些关键代码写在下面。3.1 系统原码及说明首先来介绍一下有关数据操作的代码。Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con = DriverManager.getConnection(jdbc:odbc:XX);Statement smt
35、= con.createStatement();ResultSet rs = smt.executeQuery(SELECT 验证码 FROM 车主表 WHERE ID=+ IDI);这是数据库操作中的主要代码,包括加载驱动、连接、传送查询语句和取结果等操作。接下来是判断交费情况的代码。String sql = SELECT 交费情况,车牌号 FROM 车辆表;Statement smt = con.createStatement();ResultSet rs = smt.executeQuery(sql);jTextArea2.append(n_n);jTextArea2.append(欠费
36、车辆 + tt欠费时间(天)n);jTextArea2.append(-);while (rs.next() jcm = rs.getDate(1);if (jcm != null) dat = jcm.getTime() - td;dat = dat / 86400000;if (dat = 0 & result != ) result = n + rs.getString(2) + tt + dat;jTextArea2.append(result);jTextArea2.append(n-);这段代码的主要目的是在主界面加载的时候判断当前可用的空车位。其中判断的依据是车费到期的时间与当前
37、时间做差值,再把这个值转换成天数。最后是修改功能的代码,这是本系统比较难实现的一个部分,所以代码也比较复杂。具体的如下所示。/ 普通修改String sql1 = UPDATE 车主表 SET 姓名= + xingming + ,门牌号=+ menpaihao + ,验证码= + mima + ,身份标识=0,联系方式=+ lianxifansi + WHERE ID= + idh + ;String sql2 = UPDATE 车辆表 SET 车牌号= + chepaihao + ,交费情况=+ jiaofeiqingkuang + ,车辆信息= + cheliangxinxi+ WHERE
38、 MID= + idh + ;/车位修改String sql4 = UPDATE 车辆表 SET MID= + idh + ,车牌号= + chepaihao+ ,交费情况= + jiaofeiqingkuang + ,车辆信息=+ cheliangxinxi + WHERE 存放车位号= + chunchewei + ;String sql5 = UPDATE 车辆表 SET MID=null,车牌号=null,交费情况=null,车辆信息=null WHERE 存放车位号=+ chuncheweihao + ;/ /getText()方法返回的是什么?/if (!(idh.equals()
39、 | mima.equals() | xingming.equals()| menpaihao.equals() | chunchewei.equals()| chepaihao.equals() | lianxifansi.equals()| cheliangxinxi.equals() | jiaofeiqingkuang.equals() Statement smt1 = con.createStatement();/ /if (chuncheweihao.equals(chunchewei) smt1.executeUpdate(sql1);smt1.executeUpdate(sql
40、2);JOptionPane.showMessageDialog(this, 修改成功!, 操作信息,JOptionPane.INFORMATION_MESSAGE); else smt1.executeUpdate(sql1);smt1.executeUpdate(sql4);smt1.executeUpdate(sql5);JOptionPane.showMessageDialog(this, 修改成功!, 操作信息,JOptionPane.INFORMATION_MESSAGE);因为用户进行修改可能是普通信息的修改也可能是车位的修改,而车位又是不可以被删除的,若用户修改的是车位,那么此
41、用户在车辆表中的旧信息也要被删除,同时新的车位上要完整地修改成此用户的信息。所以在执行修改的时候要对用户的修改类型做个判断,再调用相应的处理方法。4 系统评介4.1 系统测试经过几个月的努力,程序终于出来了,虽然主要功能模块已经实现,但现在还是大功告成的时候。因为把这些模块拼装起后,谁也不能保证不会出问题。为了对自己的程序也是对用户负责,程序拿出去之前一定要做认真仔细的测试,及早发现问题及早处理。测试是一件很枯燥、乏味的事情,要想到各种可能的情况发生。这一步占去了我做这个项目的一半时间,不断的有错误发现,不断的要去改。下面是我最后一次做的几个测试用例,虽然不很全面,但是对绝于大多数的情都已经想
42、到了。4.1.1运行主程序。正常实现,并有欢迎界面弹出,当单击窗体的时候进入登录界面。4.1.2登录模块 4.1.2.1输入的用户名在数据库中不存在。提示此用户名不存在。此项功能实现正常。 4.1.2.2输入的用户名在数据库中存在,但密码不存在。提示密码不正确。此项功能实现正常。 4.1.2.3输入的用户名和密码在数据库中都不存在。提示此用户不存在此项功能实现正常。 4.1.2.4输入正确的管理账号和密码。提示通过验证,进入管理员功能主界面。此项功能实现正常。 4.1.2.5输入正确的普通用户账号和密码。提示通过验证,进入普通用户功能主界面。此项功能实现正常。 4.1.2.6不做任何操作,点击
43、退出按钮。正常退出。此项功能实现正常。4.1.3普通用户主模块 4.1.3.1输入正确的车牌号和密码。实现查询功能,显示出此用户的各种信息。此项功能实现正常。. 4.1.3.2输入错误的车牌号和密码。提示用户输入错误。此项功能实现正常。 4.1.3.3普通用户试图对其它功能项进行操作。功能按钮为灰色不可用,普通用户不能越权操作。此项功能实现正常。4.1.4管理员主模块 4.1.4.1查询功能 4.1.1输入正确的车牌号和密码。实现查询功能。此项功能实现正常。 4.1.2输入错误的车牌号和密码。提示出错。此项功能实现正常。 4.1.4.2登记功能 4.2.1输入正确的信息。添加到数据库。此项功能
44、实现正常。(备注:此项功能主要用于对新加车位的登记和新用户对车位的预定等操作,只要存车位不可为空即可。) 4.2.2输入错误码的信息。提示ID号已存在错误。此项功能实现正常。(备注:ID号不可与数据库中的已有记录重复。) 4.2.3输入错误码的信息。提示出错。此项功能实现正常。(备注:存车位不可与数据库中已存在的车位重复。) 4.1.4.3添加功能 4.1.4.3.1填写正确完整的信息。实现添加功能。此项功能实现正常。(备注:填写每项用户信息必须是完整的。) 4.1.4.3.2填写不完整的信息。提示出错信息。此项功能实现正常。 4.1.4.3.3填写错误的信息。提示出错信息。此项功能实现正常。(备注:存车位不可与数据库中已存在的车位重复。) 4.1.4.4修改功能 4.1.4.3.1修改正确完整的修改信息。实现修改功能。此项功能实现正常。(备注:填写每项用户信息必须是完整的。) 4.1.4.3.2