车辆租赁管理系统.docx
《车辆租赁管理系统.docx》由会员分享,可在线阅读,更多相关《车辆租赁管理系统.docx(23页珍藏版)》请在冰点文库上搜索。
![车辆租赁管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/027a89f0-7df2-4be8-a776-9f75558c01c0/027a89f0-7df2-4be8-a776-9f75558c01c01.gif)
车辆租赁管理系统
车辆租赁管理系统
摘要:
随着车辆工业的发展和汽车的普及,汽车租赁成为近年来兴起的一个新兴行业,使用汽车租赁管理系统可以规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。
另外,随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。
原来的数据处理手工操作,工作量大,出错率高,出错后不易更改。
租车公司采取手工方式对车辆租借情况进行人工管理,由于信息比较多,信息的管理工作混乱而又复杂,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。
本次设计立足于以上原则建立了一个租车公司车辆管理系统,使车辆管理工作规范化,系统化,程序化,避免车辆管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的实现对车辆信息的管理。
本系统用户面向各租赁汽车企业的工作人员和相关领导,主要功能包括系统用户管理、日常业务信息管理和车辆及客户信息管理等。
关键字:
汽车租赁,系统管理,struts.
Carrentalmanagementsystem
abstract:
withthevehicleindustrydevelopmentandthepopularizationofcars,carrentalinrecentyears,theriseofanewindustry,usingcarrentalmanagementsystemcanregulatethemanagementandoperationofenterprises,reduceoperatingcostsandimproveefficiency.Inaddition,withthepopularizationandapplicationofcomputers,today'smanagementpushedupanotch,graduallyachievingthepaperlessoffice,fromtheoriginalmanualrecordsmanagementmodelforcomputerintegratedmanagement.Originaldataprocessingmanualworkloadandhigherrorrates,errorswhicharenoteasilychanged.Carrentalcompanytakingartificialmanagementmanualforvehicleleasing,duetomoreinformation,managementoftheinformationconfusingandcomplicated,ifyouwanttomakeaquery,you'llhavereadinmanyofthedata,lookup,resultinginquerytimeconsumingandlaborious.
Thisdesignisbasedontheprinciplesabovesetupacarrentalcompanyvehiclemanagementsystem,makethestandardizationofvehiclemanagement,systematic,programmedtoavoidvehiclesatrandom,improvingthespeedandaccuracyoftheinformation,inatimely,accurateandeffectiverealizationofvehicleinformationmanagement.Rentalcarcompaniestothissystemofuser-orientedstaffandleadership,mainfeaturesincludeusermanagement,day-to-dayoperationsofthesystemandvehicleinformationmanagementandcustomerinformationmanagement.
Keywords:
carrental,systemmanagement,andStruts.
目录
绪论1
第一章系统功能1
1.1功能描述1
1.2功能分析与模块划分2
1.2.1系统用例图2
1.2.2车辆信息输入2
1.2.3列出所有车辆;3
1.2.4删除车辆;3
1.2.5租车;3
1.2.6出租的列表;3
1.2.7还车4
1.2.8统计租金4
第二章数据库设计方案4
2.1表的设计4
2.2创建表5
2.2.1创建autos表的代码5
2.2.2创建leases表的代码5
第三章详细设计6
3.1struts结构6
3.2基于struts的车辆租赁管理系统7
3.3Struts部件7
3.4项目工程文件说明8
3.5输入车辆信息的部件实现9
3.5.1代码实现9
3.5.2模块跳转实现流图10
3.6输入租车信息的部件实现11
3.6.1代码实现11
3.5.2模块跳转实现流图11
3.7还车模块跳转实现流图12
3.8分类统计模块跳转实现流图12
3.9对数据库操作的一些类的方法功能介绍12
第四章测试运行13
4.1 系统测试的方法与步骤13
4.2运行界面展示14
4.3输入车辆信息测试16
4.4输入租车信息测试16
总结17
绪论
现代科学的发展,使计算机进入了几乎一切领域。
从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机。
当今社会的数据信息管理离不开计算机技术的支持。
如何实现对数据信息快捷、有效、实用的管理,是软件开发业追求的目标。
今天,随着社会生产的发展,人民生活水平的提高,汽车租赁已成为一个极具市场潜力的行业,面对飞速发展的租赁市场,传统的人工租赁管理方式在进行繁多的业务信息处理时显得极不适应,因此,人们对于运用计算机来辅助协调和管理租赁工作的需求正在逐步提高。
随着社会物质条件的改善,生产生活节奏的加快,人们越来越意识到时间的重要性,在工作中,生活中越来越注重如何节省时间,提高效率。
因为工作和生活的缘故,在必要的时候向汽车出租公司提出租赁车辆的服务要求,已成为大众广为认可和接受的行为和选择。
在这种社会需求的强力带动下,汽车租赁市场出现了前所未有的一片繁荣景象。
各个汽车租赁公司门庭若市,业务激增。
然而在繁忙的景象背后,却也暴露汽车租赁公司在处理业务信息时以人工方式为主所带来的诸如:
效率低下,管理混乱,失误增多等诸多弊端。
在实践中,汽车租赁行业的业主们逐渐意识到在租赁行业中借助计算机引入信息管理的重要性,并开始不断提高自身的素质和高科技在工作中的投入,以改善信息的管理,提高服务效率。
汽车租赁管理就是对车辆信息和客户信息的管理,主要包括车辆的出租状态、车辆的基本信息、车辆的投保情况、车辆的出厂情况、客户信息的管理等。
由于这些过程间的关系复杂,有一对一的关系,一对多的关系,也有多对多的关系,所有这些工作使汽车车管理工作变得量大而又复杂,以前包括现在还有很多租赁公司采用人工管理,直接导致了错误的产生,服务质量的低下。
汽车租赁管理系统的开发使得这一状况得了根本的改善。
这套管理系统包括涵盖了车辆租赁业务的各个方面。
使得汽车租赁服务可以快速、规范地完成,节省了人力物力,提高了服务质量和经济效益。
第一章系统功能
1.1功能描述
租车公司车辆信息管理系统旨在用计算机和网络对车辆进行管理。
公司工作人员可以查询某位客户、某辆车的租借情况,还可以对当前车辆的租借情况进行一些统计,以便全面掌握车辆的流通情况。
客户可直接查看租车公司车辆信息,还可以进行本人租借情况的查询和维护部分个人信息。
其主要的功能描述如下:
<1.管理车辆基本信息,增加/删除/列表;
<2.能进行租车/还车操作;
<3.按车辆类别统计租金。
车辆基本信息包括:
车辆类别(大客/面包/轿车),品牌型号,车牌号,租车价格;
租车时应记录:
租车日期,车辆id,客户名称;
还车时应记录:
还车日期。
1.2功能分析与模块划分
1.2.1系统用例图
图1-1系统用例图
1.2.2车辆信息输入
用户可以录入车辆信息,车辆信息表包括
id(自动编号)categorymodelnopriceflag
每个字段的含义及解释
id:
定义为主键自动增长
category:
车辆的类别,以下拉列表的形式给出列表的内容包括三种类型大客车、面包车、小轿车
model:
车辆的型号
no:
车辆的车牌号
price:
租车的价格单位为/元
flag:
用来标记车辆的出租状态
1.2.3列出所有车辆;
当输入车辆信息后,将跳转到车辆信息列表页,把数据库中所有的车辆信息取出来显示到前台的jsp页面,并根据多表连接来判断这些车辆的出租状态,也就是说这些车辆有没有被出租
1.2.4删除车辆;
在车辆信息列表页中有删除车辆信息的链接,根据autos表中的id来删除车辆信息,删
除后,跳转到原来的页面。
1.2.5租车;
首先判断哪些车辆没有被出租出去,然后把没有被出租的车辆显示在租车页面的下拉列表中,此时用户只需要填写出租人的姓名就可以租车了,其实后台数据库已经把出租的车辆信息写进了数据库中的leases表,这一动作包括这些信息被写进了数据库id(自动编号),customer(客户姓名),leasedate(出租日期),retured(是否还车),returned(还车日期)
1.2.6出租的列表;
被出租的车辆信息及出租的日期,出租人等一些信息通过多表连接查询显示到出租列表页面
1.2.7还车
在出租列表页面每条信息的后面都有还车链接,点击连接将进行还车操作,后台数据库将根据id将相应的retured字段的值改为还车标记(0表示未还,1表示已经还了)
1.2.8统计租金
根据车辆的类别来统计租金,并把统计的结果显示在统计页面
第二章数据库设计方案
2.1表的设计
a)车辆信息autos(id,category类别,model型号,no车牌号,price租车价格)
表2.1autostrada表
Filed
Type
Key
Null
Id
Number
Pri
No
Category
Nvarhar2(50)
No
Model
Nvarhar2(50)
No
No
Number
No
Price
Nvarhar2(50)
Yes
b)租车信息leases(id,autoId车辆id,customer客户名称,leaseDate租车日期,returned是否还车?
,returnDate还车日期)
表2.2leases表
Filed
Type
Key
Null
Id
Number
Pri
No
Autoid
Number
No
Customer
Nvarhar2(50)
No
Leasesdate
Date
Yes
Returned
Number
Yes
Returndate
Date
Yes
2.2创建表
2.2.1创建autos表的代码
createtableAUTOS
(
idNUMBERnotnull,
categoryNVARCHAR2(50)notnull,
modelNVARCHAR2(50)notnull,
noNVARCHAR2(50)notnull,
priceBINARY_DOUBLE
)
tablespaceTABLESPACE_B
pctfree10
initrans1
maxtrans255
storage
(
initial64K
next1M
minextents1
maxextentsunlimited
);
2.2.2创建leases表的代码
createtableLEASES
(
idNUMBERnotnull,
autoidNUMBERnotnull,
customerNVARCHAR2(50)notnull,
leasedateDATE,
returnedNUMBERdefault0,
returndateDATE
)
tablespaceTABLESPACE_B
pctfree10
initrans1
maxtrans255
storage
(
initial64K
next1M
minextents1
maxextentsunlimited};
第三章详细设计
3.1struts结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSPModel2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。
在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图3-1显示了Struct实现的MVC框架。
其中:
视图:
就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。
此外,通常将Strcut框架中的ActionFormBean也划为视图模块中,ActionFormBean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。
Struct框架利用ActionFormBean来进行视图和控制器之间表单数据的传递。
Strcut框架将用户输入的表单数据保存在ActionFormBean中,将它传递给控制器,控制器可以对ActionFormBean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionFormBean的信息,重新设置HTML表单。
控制器:
控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心组件。
是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。
Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。
模型:
模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
3.2基于struts的车辆租赁管理系统
表3.1
基于struts的车辆租赁管理系统
M
MyDB.
CarDB.
AllValue
BackcarForm.
InputAutoForm.
LeaseForm
UpdateForm
V
InputAuto.jsp
LeaseAuto.jsp
Leaseok.jsp
Listcar.jsp
ListLeased.jsp
Statresult.jsp
C
inputAutoAction
listCarAction
ListLeaseAction
listLeasedAction
listStatAction
3.3Struts部件
表3.2
功能
页面
Action
Form-bean
1.输入车辆信息
InputAuto.jsp
InputAutoAction
category,model,no,price
2.车辆信息列表
ListCar.jsp
ListCarAction
/
3.删除车辆信息
ListCar.jsp
UpdateAction
Id
4.租车
LeaseAuto.jsp
ListLeasedAction
AutoId,coustomer,leasedate
5.还车
Listleased.jsp
BackcarAction
Id
6分类统计
Statresult.jsp
StateAction
/
3.4项目工程文件说明
表3.3
目录
文件
说明
Src/chenxin
MyDB
封装了数据库访问
CarDB
封装对数据库表的操作
CharCodingFilter
用于支持中文输入的过滤器
AllValue
分装了数据库字段所有用到的属性
ApplicationResources.properties
资源文件
Src/chenxin/action
BackcarAction.java
还车
InputAutoAction.java
输入车辆信息
LeaseAction.java
租车
ListCarAction.java
显示车辆信息
ListLeaseAction.java
显示可以被租的车
ListLeasedAction.java
显示一租的车辆信息
StatAction.java
分类统计租金
UpdateAction.java
删除车辆信息
Src/chenxin/form
BackcarForm.java
还车时所用到的id属性
InputAutoForm.java
封装了车辆信息的一些字段
LeaseForm.java
封装借车用的id
UpdateForm.java
封装删除车辆信息所用的id
WebRoot
head.jsp
用<%@includefile=””%>命令,在每个页面包含这个文件用作菜单导航
end.jsp
每个页面包含的尾部文件
inputAuto.jsp
用户输入车辆信息页面
leaseAuto.jsp
用户租借车辆页面
leaseok.jsp
显示租借成功信息页面
listcar.jsp
显示车辆信息列表页面
listleased.jsp
显示已租的车辆信息页面
statresult.jsp
统计显示页面
Web-INFO
Web.xml
Struts配置文件
Strus-config.xml
Web项目的配置文件
image
Bank.jpg.head.gifend.gif
网页中用到的图片
3.5输入车辆信息的部件实现
3.5.1代码实现
输入车辆信息的数据验证InputAutoForm.java文件中的validate方法
如果不符合和则返回到inputAuto.jsp页面输出错误提示信息
主要验证判断所输入的车辆型号和车牌是否为空的错误验证
和输入的价格是否为数字类型的验证
publicActionErrorsvalidate(ActionMappingmapping,
HttpServletRequestrequest){
//TODOAuto-generatedmethodstub
ActionErrorserrors=newActionErrors();
if(model==null||model.length()==0){
errors.add("model_error",newActionMessage("model_error"));
}
if(no==null||no.length()!
=7){
errors.add("no_error",newActionMessage("no_error"));
}
//判断所输入的车辆型号和车牌是否为空的错误验证
try{
if(!
(Double.parseDouble(price)>=100&&Double.parseDouble(price)<=2000)){
errors.add("price1",newActionMessage("price1"));
}
}catch(NumberFormatExceptione){
//TODOAuto-generatedcatchblock
System.out.println(e);
errors.add("price1",newActionMessage("price1"));
returnerrors;
}
//输入的价格是否为数字类型的验证
returnerrors;
}
3.5.2模块跳转实现流图
图3-2
3.6输入租车信息的部件实现
3.6.1代码实现
输入租车信息的验证LeaseForm.java中的validate方法
如果不符合验证规则将返回到leaseAuto.jsp页面并输出错误提示信息,如果验证通过将跳转到leaseok.jsp页面显示租车成功的信息
验证所输入的用户名是否为空
publicActionErrorsvalidate(ActionMappingmapping,
HttpServletRequestrequest){
//TODOAuto-generatedmethodstub
ActionErrorserrors=newActionErrors();
if(customer==null||customer.length()==0){
errors.add("customer_error",newActionMessage("customer_error