[毕业设计论文]小区车辆管理系统
小区车辆管理系统
院 系
专 业
班 级 学 号 姓 名
指导教师
负责教师
北方软件学院 计算机科学与技术(软件工程) 5233105 [1**********]2 冯咀志 郑凤仁
沈阳航空工业学院
2007年6月
摘 要 小区车辆管理系统是一款对小区内车辆进行管理的软件,旨在提高车辆管理的效率、减少管理费用。本文首先介绍小区车辆管理系统的研究背景和意义;通过当前停车场的发展趋势和其它相关软件产品的不足,两个方面阐明本软件的价值,分析讨论开发车辆管理软件的意义和主要功能;并从软件的安全性、易用性、稳定性等方面分析软件开发过程中应该注意的问题,指出小区车辆管理系统能提高小区的管理效率和节省资金。然后,分析讨论数据库系统的基本功能以及数据库技术在小区车辆管理系统中的应用,并结合实际情况分析数据的设计方法。最后针对小区车辆管理系统运行过程中可能出现的问题提出了解决方案,并从管理思想、软件、系统三个概念层次对小区车辆管理系统的开发与维护作了概括。
本软件采用Java语言和SQLServer2000数据库开发而成。
关键词: 车辆管理;数据库系统;Java;SQLServer2000
1
Abstract
Residence community vehicles management system is a software which manage residential community vehicles. 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 software 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 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 operation 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 management, Database System,java,SQLServer2000
2
目 录
1 总论 ................................................................................................................................... 5
1.1 系统开发的背景 ........................................................................................................ 5
1.1.1 价格因素 .............................................................................................................. 5
1.1.2 人的因素 .............................................................................................................. 6
1.2 系统开发的意义和目的 ............................................................................................ 6
1.3 开发环境 .................................................................................................................... 6
1.3.1 硬件配置及外设设备与配置 .............................................................................. 6
1.3.2 开发语言、应用软件平台及语言 ...................................................................... 7
1.3.3 系统的主要功能 .................................................................................................. 8
2 结构设计 ........................................................................................................................... 9
2.1 系统开发的思想与原则 ............................................................................................ 9
2.1.1 系统概述 .............................................................................................................. 9
2.1.2 系统开发方法介绍 .............................................................................................. 9
2.1.3 系统调研与可行性分析 .................................................................................... 10
2.1.4 可靠性分析概述 ................................................................................................ 10
2.1.5 技术可行性分析 ................................................................................................ 10
2.2 系统软件的结构设计 .............................................................................................. 11
2.2.1 结构设计 ............................................................................................................ 11
2.2.2 系统功能 ............................................................................................................ 11
2.2.3 数据结构 ............................................................................................................ 12
2.3 详细设计 .................................................................................................................. 13
2.3.1程序设计思想与原则 ......................................................................................... 13
2.3.2 程序软件结构设计 ............................................................................................ 14
2.3.3 数据库设计 ........................................................................................................ 22
3 系统编码 ......................................................................................................................... 24
3.1 系统原码及说明 ...................................................................................................... 24
4 系统评介 ......................................................................................................................... 27 3
4.1 系统测试 .................................................................................................................. 27
4.2 系统的优点及技术特征 .......................................................................................... 29
4.3 系统的不足及改进方案 .......................................................................................... 30
5 结束语 ............................................................................................................................. 31
参考文献 ......................................................................................................................... 32 致 谢 ............................................................................................................................. 3333
4
1 总论
据有关数据统计,中国2004年的汽车保有量约2000万辆,2005年汽车保有量已达到2500万辆左右,平均年增长约为10%。但随之而来的,车多位少、停车难的问题也日渐突出,成为当前社会普遍的关注点,以沈阳来说,现有机动车数量急剧增长,而车位却增长缓慢,停车位严重短缺可见一斑。
为此,近几年,中国大部分城市都在兴建停车场或扩建车位。随着新世纪经济持续健康快速发展,以及加入WTO后私人购车高峰期的即将到来,交通需求将显著增加,停车设施的水平直接影响到城市的交通运行效率和生活环境品质,停车设施的过度短缺、布局不合理和管理不规范,都将对提高城市的综合竞争力产生不利影响。因此,从长远发展目标来看,结合城市布局结构的调整,建立和完善与城市社会经济发展相适应的城市停车系统,是十分紧迫和必要的。面对市场需求的拉动,厂商们是否了解到用户对停车场管理系统关注的是什么?未来有何新需求?
1.1 系统开发的背景
曾几何,国外停车场产品在市场上占据了主要的地位,如速宾、AAMANO、DESIGNA、CASALE等品牌,但随着近年来国内厂商加大了对市场的开发以及产品技术的逐渐成熟,国内停车场产品在市场上已取得于相当不错的表现,目前市场上也是以选择本土产品为主流。
1.1.1 价格因素
其中,价格是最重要的原因。据了解,国外一套普通规模的停车场管理系统高达到30-40万。即使是在国内一般也要在10万以内,有着3-4倍的差距。显然即使是使用国产软件,这个价格对于大多数小区来说也很难被接受。
5
1.1.2 人的因素
另外,与外国软件相比国内系统操作界面完全汉化,这种本土化的软件更适合一般非专业人员的操作、维护,而且在售后服务方面,更能提供及时的服务等等。
1.2 系统开发的意义和目的
正是考虑到以上几个因素,也是为了填补当前大型车辆管理软件价格高,而且有许多功能的对于小型停车场用不上的空白。我决定开发一套真正适合中小型停车场的软件。首先它的用户对象是小区、超市、商场、中小型公司等车辆不是很多的用户。其次本软件的价格不会很高,甚至可以以共享的方式提供给用户使用,因为这类用户不可能为一个车辆管理软件付很多钱,他们最主要目地是够用、稳定就好。
最后本软件的使用力求简单化,操作傻瓜化。用户通过鼠标点按就可以实现全部操作。因为这种小型停车场不大可能对管理员进行专门的培训,更不能聘用一个专业计算机的人来管理系统。
1.3 开发环境
一个好的开发环境可以加快我们的开发速度,下面分别介绍我的硬件开发环境和软件开发环境。
1.3.1 硬件配置及外设设备与配置
硬件环境的好坏是我保证我们完成开发的先决条件,因为JAVA程序运行的时候很占内存,所以对内存的要比较高,在这里我们推荐内存至少要512MB。而现在的许多IDE运行时需要做大量的CPU运算,所以CPU配置应该为P4 2.4G或AMD AthlonXP 2500+以上。
6
表1.1 硬件环境表
1.3.2 开发语言、应用软件平台及语言
软件环境的好坏直接影响着我们开发软件的效率、稳定性和安全性。Eclips我就不细说了,有大量的程序员都用它来开发就足以说明它的非凡了。在这里我要说的是NetBeans,由于起步比较晚再加上前几个版本的性能平平,所以有很多人对它不是很了解。但是自从5系列推出以后它的性能有了质的改变。不仅因为是纯JAVA开发的IDE,它还集成了Tomcat等企业级开发插件,所以不需要再去找外挂的插件。更令人激动的为了配合NetBeans,SUN公司的在JDK1.6加入了一个新的布局管理器。用NetBeans和JDK1.6可以很容易地开发图形界面,就像你曾经熟悉的VB一样。
表1.2 软件环境表 7
1.3.3 系统的主要功能
在进行了充分的市场调研和对实际需求的认真分析后,确定本系统的定位应该是利用计算机与有效的管理手段来减少管理人员的工作量,管理员可以很方便地通过本软件进行复杂的数据操作。对于普通用户可以方便地进行查询操作。 8
2 结构设计
一个清晰明白的结构可以保证我们在开发过程最大优化我们的资源,并能保证功能模块不被遗漏。所以在任何项目开发之前都要先设计一个合理的组织结构,然后根据结构图有次序、有步骤地进行开发。
2.1 系统开发的思想与原则
2.1.1 系统概述
为实出分工明确,也为防止非法用户的越权操作,本系统主要分为两个层次的用户,一个是系统管理员另一个是普通用户。
1.管理员用户
这是本系统的最高权限用户,拥有对系统的完全控制权限。包括对普通用户查询,对新用户和新车位进行登记,对新用户进行添加,对用户资料的内容进行修改,对用户进行删除,修改普通用户对系统的使用权限等操作。
2.普通用户
最基本用户只拥有查询权限,在普通提供了正确的车牌号和密码后,系统会返回用户的基本资料。但普通用户不可以对这些资料进行操作。
2.1.2 系统开发方法介绍
本系统采用JAVA语言编写,为了更好地休现本语言面向对象的特点,本系统采用面向对象的、模块化的设计方法,这也是当前比较高效、流行的设计模式。本系统的主要功能模块封装在单独的类中,这种分布式的开发方式不但能提高开效率,还有利于功能的单独测试,更容易发现和改正错误。常用的操作都封装在公有方法中,这样当其它模块需要实现某个操作时,就可以直接去调用那个方法。以实现代码最大限度的重用。
9
2.1.3 系统调研与可行性分析
在结合了当前的实际市场需求和今后的发展趋势后,我认为本软件的市场前景将会非常好。因为现在国内外很少有这种专门针对小区等小型停车场的软件,而大型软件不仅购买费用高、对硬件要求高而且维护不方便,更重要的是用户不能很快掌握,还需要进行专门的培训。这对于小型用户来说是很难接受的。本软件正是从价格、易用性等方面而专门做的优化。
2.1.4 可靠性分析概述
为了使软件安全稳定,在选择语言和工具方面尽量选择那些可靠成熟的产品。JAVA是一种安全高效的编程语言,不但加强了对异常的管理,而且还有完善的垃圾回收机制。因此程序员不必担心在C或C++中防不胜防的内存泄漏的情况出现。用JAVA开发出来的程序还具有很好的可移植性,不必担心在Windows上开的产品拿到别的系统上就不能运行了。在数据库的选择上我用的是微软的SQLServer2000,虽然现它最的版本是2005,但是考虑到2000是一款经过多年使用的、经过考验的产品。为了系统的稳定最终还是选择了它。
2.1.5 技术可行性分析
在技术上虽然有许多语言能用来开发本软件,比如:C、C++、VB、PB等,但是这些并不一定是最好的。用VB或PB开发固然可以简化很多工作,尤其是在界面的制作上可以省去很大的一部分精力,就连事件的代码都可以由开发工具自动生成,但是这两种语言的可移植性并不好,这就在无形中限制了产品的使用范围。用C或C++虽然能提高运行速度,但是考虑到它们极为不安全的指针,还是放弃了。因为在硬件迅速发展的今天,软件上一点点速度的差别已经微乎其微了。至于Java,因为我学过一学期的JAVA,应该说有一定的基础,但是一直没有亲自实践一次的机会,而且我也喜欢JAVA这种语言。程序员可以用JDK中的现成方法来完成许多工作,而且使用这些成熟的方法不但能加快我们的开发速度,还能大减少出错的可能。最后,最重要的还是看中它的安全性和可移植性。这不仅是为了日后的维护方便,也是对用户的负责。
10
2.2 系统软件的结构设计
下面来介绍一下本系统的结构,为了方便用户管理,在开发软件的最初我就力求系统使用起来简单方便,而功能要尽量全面。使用户在不涉及后台数据库的情况下就能通过软件对数据库进行各种操作。
2.2.1 结构设计
本系统的业务流程如图2.1用户业务流程图所示。
图2.1 用户业务流程图
2.2.2 系统功能
为了提高安全性和便于管理,本软件分为管理员和普通用户两类用户。其中普通用户只具有查询功能。管理员用户拥有对系统的所有操作权限如查询、登记、添加、修改、删除、更改权限等操作。
11
2.2.3 数据结构
对于这种涉及到数据操作的软件项目来说,数据库的逻辑结构的设计是重要的,可以说软件开发中很大一部分是数据库的设计。一个设计良好的数据库不仅能方便我们存储,而且还能大减少我们在程序中的代码量。有许多功能在数据库中实现起来要比我们在程序中实现安全方便的多。如果一个数据库的逻辑关系不明确,很容易造成插入异常、读脏数据等情况的发生,而这些又常常是很难在使用过程中发现的。直到造成严重损失才发现为失已晚。本软件数据库的E-R图如图2.2所示。
图2.2 E-R图
12
2.3 详细设计
经过上面的精心准备后,下面进入具的设计阶段。本软件的HIPO图如果图
2.3所示。
图2.3 HIPO图
2.3.1程序设计思想与原则
本着简单、高效、实用的原则同时也为了尽最大限度地发挥JAVA语言面对象的特点,本程序采用模块化、分布式的设计方式。为了提高开发的效率同时也为了减少代码量,本程序尽量减少窗口程序的数量。因为不必要的窗口不仅需要很长的开时间,同时生成的大量代码会使整个系统的代码显得非常庸肿,降低系统的运行速度。最重要的是用户同时开打开多个窗口不仅会占用大量计算机资源,还方便于用户的操作。虽然本软件设有两类用户权限,但是为了提高效率,在主界面的设计上采用普通用户和系统管理员共用一个界面的方法。这就需要设定普通用户登录时可以使用的操作和不可以使用的操作。虽然这样做需要在用户登录时做一个判断,并且在数据库中添加一个标识用户身份的数据项,但是它带来的好处是显而易见的。至始至终本系统的风格都很简洁,主要的界面只有两个,系统登录和主功能界面。
13
2.3.2 程序软件结构设计
本程序软件的主要结构分为三个大部分。首先当用户运行程序时弹出一个欢迎界面,当用户点击界面上任意一点后进入登录界面,当用户输入了正确的用户名和密码后,便可进入主界面。在登录界面,系统会根据用户所提供的信息自动判断用户的身份,然后授予不同权限用户以不同的操作能力。下面就分别来介绍一下这三个部分的具体设计过程。
首先是欢迎界面。这是用户运行程序时看到的第一个界面。这上面主要介绍了与本软件和作者相关的一些信息。如:软件的名称、制作人、指导老师、版本号、开发时间和联系方式等基本信息。用户可以通过这个界面对软件有个基本了解。为了给用户一个良好的第一印象,我特别地用PhotoshopeCS做了一张图来做背景。本界面的设计宗旨是视觉上美观大方,内容上要能够提供详细、清晰的信息。如图
2.4欢迎界面。
图2.4 欢迎界面
14
接下来就是登录界面了。这里是保护系统安全的大门,因此它的设计不要求多么漂亮,而是要保证代码的安全性。这个界面很朴素,只有用户的登录输入框和确定与退出两个按钮。其效果如图2.5登录界面。
图2.5 系统结构图
为了提高安全性,防止非法用户通过反汇编等手段从程序中猜密码。所以用户的密码不是在存在程序中,而是在数据库中。通过用户输入的用户名从数据库中取出相应的密码,只有这两项都正确才能通过验正。为了方便用户使用,本程序还会针对用户输入的不同错误而做出相应的提示。如果用户提供的用户名在数据库中存在,而密码错误,系统会提示用户密码不正确。如图2.6密码错误图。
图2.6 密码错误图
15
当用户输入了正确的验正信息后,便可进入本系统的主功能界面了。因为用户分为两面种不同的权限,而这两类用户又要共用一个界面,所以根据对用户身份的判断系统会显示给用户两种不同的界面,一种为普通用户界面,一种为管理界面。系统的大部分功能都是在这个界面上实现的包括操作和显示结果,这样做的好处有很多。首先它很节省代码,用户操作起来很方便,不用费力地再去功能菜单中找相应的功能选项,而且显示结果也在同一个界面上使用户一目了然地查看结果。但是这样一来设计就显得很重要,如果设计的布局稍有不合理便会显得杂乱无章,当用户看到这种界面时便会无从下手,使软件的易用性降低。
下面就来看看这个界面,因为管理员和普通用户用的是同一个界面,不同的是以管理员身份登录后,功能选项为可用,而以用户身份登录则为不可用所以为了节省篇幅只给出具有代表性的管理员界面。为了使显示的信息能够清晰,我把界面分成三部分。其中最上端为查询,因为这是用户最常用的操作,所以把它放在最醒目的位置。中间为基本信息部分,这里显示的是用户有关的各项信息,因为这里面的许多内容要经常改变和查看,所以把它们放在中间。最下面是管理员关心的内容了,也是本程序主要功能的实现所在。为了更好的区分不同的功能区域,我用二种不同的颜色把它们区分开来。具休的如图2.7管理员界面图。
16
图2.7 管理员界面图
不论管理员或者普通用户进入本界面时都会看到当前小区内车辆管理的一些基本信息。如当前车场中总的车辆数、当前可用的空位和提示那些用户欠费了及他们欠费的时间。这些信息大大地方便了管理员对车辆的管理。当管理员或用户输入车牌号和密码并按查询按钮后就可以查询信息了,这个操作是公用的,不须要权限。如果用户的输入有错误则提示出错信息。如图2.8查询出错图。
图2.8 查询出错图
17
如果用户的输入通过验正,则显示出此用户的详细信息。如图2.9查询结果图
图2.9 查询结果图
下面来分别介绍管理员的功能。
首先是登记功能。设置这项功能的主要目的是为了实现用户对车位的预定,因为存在这样的用户,现在没有车,但是以后会买,所以它们会预定一个车位却不能确定车辆的详细信息,如车牌号、车型、车辆信息等。这样信息不全的用户不能实现添加操作。还有小区的车位并不是固定不变的,随着小区规模的不断扩大,车位也会因为需求的增加而增加,这时候也需要动态地对数据库中的车位进行增加,这也是登记功能的又一个用处。当然为了体现良的操作性、和安全性。系统会对用户18
输入的内容进行核对,当用户没有输入任何信息而进行登记时,系统会提示用户ID号或存车位不可为空。如图2.10所示。
图2.10 登记信息为空图
当用户输入的ID号或存车位在数据中已存在,则此ID号和存车位不能进行登记。此时会显示ID号或存车位已存在的错误。如图2.11所示。
图2.11 登记信息已存在图
当用户输入的存车位在数据不存在,则显示登记成功信息。如图2.12所示。
图2.12 登记成功图
接下来是添加功能。此项功能的作用是把用户的完整信息添加到数据库,所以勿必要求用户输入的每项信息都是完整的。如果用户漏填了某项信息则会显示出错信息。如图2.13
19
图2.13 出错信息图
如果用户添加的用户ID或存车位与数据中已有的数据重复,则会显示ID号或存车位已存在的出错信息,图略。如果用户成功添加,则会显示添加成功信息,如图2.14所示。
图2.14 添加成功图
接下来是修改功能。因为它实现的功能比较多,而且涉及到数据库的安全问题。所以这是本软件中最不难设计的一个功能。首先它实现的是基本修改功能,包括除了ID号和存车位以外的任意一项功能。而管理员在里主要关心的是用户的计费,所以它可以更改用户的交费日期,这就实现了用户的续费功能。当用户修改操作成功时,如图2.15所示。
图2.15 修改成功图
2
考虑到管理的人性化和对小区内车位管理进行优化,用户还可以在当前的可用车位中更换一个自己想要的车位。由于这涉及到多表,和主键关系的操作,所以当用户更改车位的同时,ID号也要进行更改,如果要保留原来的ID不变,就要先执行删除操作再进修改。图略。
接下来是删除功能。这项功能实现的是把用户从数据库中彻底删除,这项操作是不可逆的,因此操作之前要慎重考虑。考虑到实际的应用环境,本功能的实现分为两情况。一种是正常情况,即管理员通过用户提供的车牌号和密码查询出此用户,然后再对此用户进行删除操作,此时要求用户的信息必须是完整的。别一种是比较极端的情况,比如有些用户在长时间的托欠存车费不交,当管理员想删除此用户时,用户拒绝提供密码。这时管理员就可以直接根据车牌号而不需要密码就可以实现删除操作。当然这种情况侵犯了用户的个人隐私,应该尽量避免。当管理员删除操作成功后,会显示如图2.16所示的删除成功信息。
图2.16 删除成功图
最后是变更权限功能。随着小区内车辆的不断增多,系统管理与维护的劳动强度也会越来越大,这时若还由一个人来管理就显得捉襟见肘了,管理效率也会下降。因此本项功能主要就是实现了允许多个用户以管理员权限对系统进行管理,本来赋予权限与回收权限是两个功能,但是为了简化操作也为了方便用户管理,我把这两个功能用一个按钮来实现。当用户选择了一个用户进行此操作时,在数据库中会对此用户当前的权限进行变更,如果原来是普通用户则变成管理员;如果原来是管理员则变成管理员。应该注意的是,此项功能的完成也是建立在查询结果的基础上的,这样做虽然看起来有点麻烦、有点多此一举,但是这样做却对系统多增加了一层保护措施。操作成功的结果如图2.17权限更改成功图所示。
21
图2.17 权限更改成功图
2.3.3 数据库设计
为了简化数据库的操作,本数据库主要设有两个实体,车主和车辆。具休的实体如图2.17车主实体E-R图和图2.18车辆实体E-R图所示。
图2.18 车主实体E-R图
图2.19 车辆实体E-R图
2
2
现在需要将上面的数据库结构概念转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。小区车辆管理系统数据库中各个表格的设计结果见表2.1车主表和表2.2车辆表。
表2.1车主表
表2.2车辆表
23
3 系统编码
下面把开发过程中一些关键代码写在下面。
3.1 系统原码及说明
首先来介绍一下有关数据操作的代码。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:XX");
Statement smt = 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("欠费车辆" + "\t\t欠费时间(天)\n");
jTextArea2.append("---------------------------------------");
while (rs.next()) {
jcm = rs.getDate(1);
if (jcm != null) {
dat = jcm.getTime() - td;
dat = dat / 86400000;
if (dat
result = "\n" + rs.getString(2) + "\t\t" + dat;
24
jTextArea2.append(result);
jTextArea2
.append("\n---------------------------------------"); } } }
这段代码的主要目的是在主界面加载的时候判断当前可用的空车位。其中判断的依据是车费到期的时间与当前时间做差值,再把这个值转换成天数。
最后是修改功能的代码,这是本系统比较难实现的一个部分,所以代码也比较复杂。具体的如下所示。
// 普通修改
String sql1 = "UPDATE 车主表 SET 姓名='" + xingming + "',门牌号='" + menpaihao + "',验证码='" + mima + "',身份标识=0,联系方式='"
+ lianxifansi + "' WHERE ID='" + idh + "'";
String sql2 = "UPDATE 车辆表 SET 车牌号='" + chepaihao + "',交费情况='" + jiaofeiqingkuang + "',车辆信息='" + cheliangxinxi
+ "' WHERE 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("") || mima.equals("") || xingming.equals("")
|| menpaihao.equals("") || chunchewei.equals("")
|| chepaihao.equals("") || lianxifansi.equals("")
|| cheliangxinxi.equals("") || jiaofeiqingkuang.equals(""))) {
Statement smt1 = con.createStatement();
// //////////////////////////////////////////////////////////
25
if (chuncheweihao.equals(chunchewei)) {
smt1.executeUpdate(sql1);
smt1.executeUpdate(sql2);
JOptionPane.showMessageDialog(this, "修改成功!", "操作信息",
JOptionPane.INFORMATION_MESSAGE);
} else {
smt1.executeUpdate(sql1);
smt1.executeUpdate(sql4);
smt1.executeUpdate(sql5);
JOptionPane.showMessageDialog(this, "修改成功!", "操作信息",
JOptionPane.INFORMATION_MESSAGE);
}
因为用户进行修改可能是普通信息的修改也可能是车位的修改,而车位又是不可以被删除的,若用户修改的是车位,那么此用户在车辆表中的旧信息也要被删除,同时新的车位上要完整地修改成此用户的信息。所以在执行修改的时候要对用户的修改类型做个判断,再调用相应的处理方法。
26
4 系统评介
4.1 系统测试
经过几个月的努力,程序终于出来了,虽然主要功能模块已经实现,但现在还是大功告成的时候。因为把这些模块拼装起后,谁也不能保证不会出问题。为了对自己的程序也是对用户负责,程序拿出去之前一定要做认真仔细的测试,及早发现问题及早处理。测试是一件很枯燥、乏味的事情,要想到各种可能的情况发生。这一步占去了我做这个项目的一半时间,不断的有错误发现,不断的要去改。下面是我最后一次做的几个测试用例,虽然不很全面,但是对绝于大多数的情都已经想到了。
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不做任何操作,点击退出按钮。正常退出。此项功能实现正常。
27
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输入正确的信息。添加到数据库。此项功能实现正常。(备注:此项功能主要用于对新加车位的登记和新用户对车位的预定等操作,只要存车位不可为空即可。)
4.2.2输入错误码的信息。提示ID号已存在错误。此项功能实现正常。(备注:ID号不可与数据库中的已有记录重复。)
4.2.3输入错误码的信息。提示出错。此项功能实现正常。(备注:存车位不可与数据库中已存在的车位重复。)
4.1.4.3添加功能
4.1.4.3.1填写正确完整的信息。实现添加功能。此项功能实现正常。(备注:填写每项用户信息必须是完整的。)
4.1.4.3.2填写不完整的信息。提示出错信息。此项功能实现正常。 28
4.1.4.3.3填写错误的信息。提示出错信息。此项功能实现正常。(备注:存车位不可与数据库中已存在的车位重复。)
4.1.4.4修改功能
4.1.4.3.1修改正确完整的修改信息。实现修改功能。此项功能实现正常。(备注:填写每项用户信息必须是完整的。)
4.1.4.3.2填写一个当前未占用的存车位。实现修改功能。此项功能实现正常。(备注:本功能主要用来实现用户更换存车位。)
4.1.4.3.3填写错误的信息。提示出错信息。此项功能实现正常。(备注:ID号和存车位不可与数据库中的已有记录重复。)
4.1.4.5删除功能
4.1.4.5.1根据查询的结果进行删除操作。实现删除功能。此项功能实现正常。(备注:所有信息必须是完整的。)
4.1.4.5.2不根据查询的结果而是按照车牌号删除用户。实现删除功能。此项功能实现正常。(备注:在某些特殊情况下,如车主长时间欠费不交,又拒绝提拱密码,而不能按4.1.4.5.1中的正常方式删除的情况。)
4.1.4.6变更权限功能
4.1.4.6.1选择一个用户,当按下此按钮时更改当前权限。权限改变。此项功能实现。(备注:用户的信息必须完整才可以使用本功能,当对某用户使用本操作时,如果原来是管理员则变为普通用户,如果原来是普通用户则变为管理员。)
4.1.4.6.2没有选择用户。提示出错信息。此项功能实现正常。
4.2 系统的优点及技术特征
虽然本程序只是作为一次毕业设计的项目实践,但是开发的从头到尾都是严格按照真实情况进行摸拟的。比如从开始的市场调查、需求分析、背景分析都是做过认真分析的。而且以当前的情况和发展趋势来看,这种小型的停车场管理系统的需求随着社会的发展、私家车拥有量的增长会有很大的需求量的。但是现在真正的适 29
合这种小型停车场而开发软件还不多,而且通常都价格不菲。本软件可以说弥补了这个空白吧。首先它足够的简单,即使没有学过计算机和数据库的非专业人员也可以轻松操作;它的体积足够小(只有几兆大小),对硬件的要求足够低,一台简单配置的计算机就可以很流畅地运行。这和那些大型的车辆管理软件,动辄就需要上百兆空间,需要大量的相关配套设备,甚至有些还需要有专门的服务器来技持形成了鲜明的对比。
4.3 系统的不足及改进方案
由于时间紧张,再加上我的水平有限,所以程序中难免有不尽人意的地方。比如程序的外观面,如果有时间可以制作专门的窗口和按钮贴图,这样程序会显得更美观。由于开发经验不足,有些代的编写技巧掌握的不好,以至于有大量的代码冗余。其中有些命名也不合规范,这是给我印象最深刻的一点。设计窗体的时候胡乱地对元件进行命名,结果当用到这些元件时就无从下手,甚至找不到。所以编码的规范化是非常重要的。当然这个程序只是实现了车辆管理的基本功能,如果有时间还可以再增加一些附加功能,使软件在功能上更充实,更人性化。
30
5 结束语
经过几个月的努力终于完成了小区车辆管理系统的开发。虽然它的功能还很单薄,虽然它还有不尽人意的地方。但毕竟它是自己亲手做出来的,即使有缺点心里还是很自豪。回首这几个月感慨万千,虽然很累但是觉得自己的努力没有白费。在这当中学会了许多东西,不仅是专业知识还有做事的态度。原来在书本上模糊不清的概念和自己想当然的东西拿到实际应用中来就通通不管用了,可以说实践是检验自己知识掌握情况最好标准。我不仅明白了在学习过程中勤动手操作的重要性。同时端正了做事的态度。本来在JAVA连接数据库这方面我是不会的。虽然以前也想学学这方面的知识,但是一直没学成。不仅是因为自己懒还因为不敢去接触,这次毕业设计因为涉及到数据库操作,所以不得不硬着头皮去学。实际尝试过才发现,其实JAVA连接数据库是非常简单的,几条语句就能实现。于是我得了结论,有些时候我们不成功不是因为我们没有能力,而是因为我们懒惰,因为我们不敢去尝试。这次毕业设计对我来说是一次难得的煅炼机会,而在这当中所学到的东西对我来说是受用一生的。
31
参考文献
[1]《Java面向事件编程》出版社:清华大学出版社 作者:Kim B.Bruce/Andrea
Pohoreckyj Danyluk/Thomas P.Murtagh 杨战伟 出版日期:2007年2月
[2]《JavaScript入门经典(第4版)》出版社:人民邮电出版社 作者:[美]Michael
Moncur 王军 出版日期:2007年3月
[3]《Java数据库系统开发案例精选》出版社:人民邮电出版社 作者:王国辉/吕海
涛/李钟尉 出版日期:2007年3月
[4]《Java程序设计(第二版)》 出版社:人民邮电出版社 作者:朱喜福 出版日
期:2007年3月
[5]《精通Java—JDK、数据库系统开发、Web开发》 出版社:人民邮电出版社 作
者:王晓悦 出版日期:2007年2月
[6]《Java完全自学手册》 出版社:机械工业出版社 作者:马军/王灏 出版日
期:2007年1月
[7]《Java课程设计案例精编》 出版社:清华大学出版社 作者:张广彬/孟红蕊/
张永宝 出版日期:2007年1
[8]《Java+SQL Server项目开发实践》 出版社:中国铁道出版社 作者:苏年乐/张学志/李金才 出版日期:2006年11月
32
致 谢
首先要感谢培养我的母校和孜孜不倦地教我们知识的各位老师,没有你们的辛勤汗水和谆谆教诲就没有我今天的成绩。特别要感谢我的导师郑老师,在毕业设计的制作过程中给了我很大的帮助,多次在程序的开发进行不下去的时候给我宝贵的指点。还有张老师,在检查程序的时候及时指出我在设计上的缺陷和考虑欠缺的地方,使我能及时地进行改正。正是因为有这许许多多老师给予我的无私帮助才保证了程序的顺利完成。
其次要感谢我身边的同学,每当遇到解决不了的困难的时候都有同学帮我一起分析;每当因为挫折而灰心的时候都有同学给予我鼓励。正是从他们身上使我学到了很多东西。
在这里再一次向那些一直关心、帮助我的表示感谢。
33