汽车租赁系统项目报告.docx

上传人:b****2 文档编号:11362523 上传时间:2023-05-31 格式:DOCX 页数:49 大小:1.33MB
下载 相关 举报
汽车租赁系统项目报告.docx_第1页
第1页 / 共49页
汽车租赁系统项目报告.docx_第2页
第2页 / 共49页
汽车租赁系统项目报告.docx_第3页
第3页 / 共49页
汽车租赁系统项目报告.docx_第4页
第4页 / 共49页
汽车租赁系统项目报告.docx_第5页
第5页 / 共49页
汽车租赁系统项目报告.docx_第6页
第6页 / 共49页
汽车租赁系统项目报告.docx_第7页
第7页 / 共49页
汽车租赁系统项目报告.docx_第8页
第8页 / 共49页
汽车租赁系统项目报告.docx_第9页
第9页 / 共49页
汽车租赁系统项目报告.docx_第10页
第10页 / 共49页
汽车租赁系统项目报告.docx_第11页
第11页 / 共49页
汽车租赁系统项目报告.docx_第12页
第12页 / 共49页
汽车租赁系统项目报告.docx_第13页
第13页 / 共49页
汽车租赁系统项目报告.docx_第14页
第14页 / 共49页
汽车租赁系统项目报告.docx_第15页
第15页 / 共49页
汽车租赁系统项目报告.docx_第16页
第16页 / 共49页
汽车租赁系统项目报告.docx_第17页
第17页 / 共49页
汽车租赁系统项目报告.docx_第18页
第18页 / 共49页
汽车租赁系统项目报告.docx_第19页
第19页 / 共49页
汽车租赁系统项目报告.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汽车租赁系统项目报告.docx

《汽车租赁系统项目报告.docx》由会员分享,可在线阅读,更多相关《汽车租赁系统项目报告.docx(49页珍藏版)》请在冰点文库上搜索。

汽车租赁系统项目报告.docx

汽车租赁系统项目报告

封面:

XX大学毕业设计(论文)

 

题目:

汽车租赁系统的设计与实现

指导教师:

职称:

 

学生姓名:

学号:

专业:

院(系):

完成时间:

 

年月日

1.项目背景3

1.1项目开发目标3

1.2项目来源3

1.3开发目标3

2.项目设计5

2.1项目总体设计5

2.2技术框架设计16

2.3功能模块设计16

3.项目功能描述18

3.1项目功能列表18

3.2项目功能实现19

4.项目总结34

4.1项目技术总结34

4.2技术创新及特点35

 

1.项目背景

1.1项目开发目标

通过开发该项目,加深自己对ssh框架的理解和应用,加强自己对jquery,json的使用,熟练掌握css来为页面进行美化,熟悉oracle数据库的配置和使用。

使自己在学校中所学的技术融合在一起、使自己学的更加深入、更加直接,从而让自己能更好的完成项目的编写。

1.2项目来源

实训项目

1.3开发目标

1.3.1允许管理人员登录、使用该系统。

1.3.2系统根据登录用户的权限生成不同的功能菜单。

其中超级管理员的权限最大、可以使用全部功能菜单-----(1、用户管理2、客户管理3、汽车管理4、业务管理5、业务统计6、系统管理)。

1.3.2允许超级管理员使用用户管理功能、对用户信息进行增、删、改、查等操作。

1.3.3允许超级管理员及其他管理人员使用客户管理功能、对客户信息进行增、删、改、查等操作。

1.3.4允许超级管理员及其他管理人员使用汽车管理功能、对汽车信息进行增、删、改、查等操作。

1.3.5允许超级管理员及其他管理人员使用业务管理功能、对出租单、检查单信息进行增、删、改、查等操作。

1.3.6允许超级管理员及其他管理人员使用业务统计功能、对当月应还汽车信息进行查看。

同时还可查看汽车信息、出租单信息、用户信息等信息的统一预览。

1.3.7允许超级管理员及其他管理人员使用系统管理功能、对角色、日志信息进行增、删、改、查等操作。

1.3.8允许用户更改自己的密码。

1.3.9没有登录的用户不能使用系统功能。

1.3.10软件结构图示:

 

 

图1:

软件结构图

 

2.项目设计

2.1项目总体设计

2.1.1项目设计模式设计

项目使用软件设计模式中的MVC设计模式;

其中Model层是普通的java类,该类中只包含属性和属性的get和set方法,而且类中的每个属性均对应数据库表中的一个字段;

View层为jsp页面,页面美化是html+css共同完成,为了提高客户体验度,项目中使用jquery框架。

Controller层,有struts1框架负责控制,同时整合hibernate,spring框架,共同完成系统业务处理,流程控制。

2.1.2项目包设计

图2:

包模块图

图3:

页面模块图

commons包中放与分页相关的类和系统系统静态常量类。

domain包中放系统的实体类。

exception包放系统的异常处理类。

persist包中放持久化操作类。

service包中放业务处理类。

web.actions包中放struts1的action类。

web.filters包中放判断用户是否登录、用户是否有权限的过滤器类。

web.listener包中放控制用户只能不能同时登录多台。

web.resources包中放系统properties资源文件。

js包中放js文件。

css包中放css文件。

images包中放项目使用的图片。

2.1.3项目功能设计

首先有用户登录功能,用户登录后系统根据权限控制功能,为用户生成不同的操作菜单,当用户的操作超出自己权限时系统能拒绝用户操作,并给用户友好的权限不足提示。

对于超级管理员,它拥有系统全部的管理功能;包括:

1)用户管理2)客户管理3)汽车管理4)业务管理5)业务统计6)系统管理7)修改密码

对于其他普通管理员,它的系统权限则是通过超级管理员通过系统管理菜单中的角色管理功能给他授权。

对于客户租车业务,系统提供租车人员信息录入、车辆信息查询。

最后出租单生成入库,生成出租单等一系列功能。

完成租车所需的全部功能。

对于客户还车业务,系统提供出租单的信息显示,用户通过可以更改出租单状态、完成还车业务。

系统中的车辆信息是用户通过汽车管理菜单中的添加汽车功能录入车辆信息的。

同时提供车辆信息的删除、修改、查找等操作。

系统中的用户信息是超级管理员通过用户管理菜单中的添加用户功能录入用户信息的。

同时提供车辆信息的删除、修改、查找等操作。

系统中的客户信息是超级管理员或用户通过客户管理菜单中的添加客户功能录入客户信息的。

同时提供客户信息的删除、修改、查找等功能。

2.1.4项目流程设计

a)登录流程图:

图4:

登录流程图

b)用户、客户、汽车、出租单、检查单、角色、日志等信息的查询流程图:

图5:

查询流程图

c)用户、客户、汽车、出租单、检查单、角色信息添加流程图:

图6:

添加流程图

d)用户、客户、汽车、出租单、检查单、角色信息修改流程图:

图7:

修改流程图

e)用户、客户、汽车、角色、日志信息删除流程图:

图8:

删除流程图

f)用户权限控制流程图:

图9:

权限控制流程图

g)用户退出流程图:

图10:

退出流程图

2.1.5系统数据库设计

a)表之间的关联关系:

图11:

表关系图

b)表字段说明

表1:

用户信息表

表名

USERS

字段名

类型

长度

是否为空

主键/外键

备注

USERNAME

VARCHAR2()

40

主键

用户名

IDENTITY

VARCHAR2()

40

用户身份证

FULLNAME

VARCHAR2()

40

全名

SEX

NUMBER

1

性别0男、1女

ADDRESS

VARCHAR2()

40

地址

PHONE

NUMBER

40

电话

POSITION

VARCHAR2()

40

职位名称

USERLEVEL

NUMBER

40

外键

管理员id、外键关联ROLES表的

ROLEID

USERPWD

VARCHAR2()

40

密码

表2:

权限表

表名

ROLES

字段名

类型

长度

是否为空

主键/外键

备注

ROLEID

NUMBER

40

主键

角色id

ROLENAME

VARCHAR2()

40

角色名称

表3:

菜单表

表名

MENUS

字段名

类型

长度

是否为空

主键/外键

备注

MENUID

NUMBER

40

主键

菜单id

MENUNAME

VARCHAR2()

40

菜单名称

MENUURL

VARCHAR2()

40

菜单路径

FATHERID

NUMBER

40

父菜单id

表4:

功能表

表名

FUNS

字段名

类型

长度

是否为空

主键/外键

备注

FUNID

NUMBER

40

主键

功能id

FUNNAME

VARCHAR2()

40

功能名称

FUNURL

VARCHAR2()

40

功能路径

MENU_ID

NUMBER

40

外键

所属菜单id、管理MENUS表中的MENUID

表5

表名

ROLES_MENUS

字段名

类型

长度

是否为空

主键/外键

备注

ROLE_ID

NUMBER

40

主键、外键

角色id、关联ROLES表的主键ROLEID

MENU_ID

NUMBER

40

主键、外键

菜单id、关联MENUS表中的主键MENUID

表6:

汽车信息表

表名

CARS

字段名

类型

长度

是否为空

主键/外键

备注

CARNUMBER

VARCHAR2()

40

主键

汽车号码

CARTYPE

VARCHAR2()

40

汽车类型

COLOR

VARCHAR2()

40

汽车颜色

PRICE

NUMBER

40

汽车价格

RENTPRICE

NUMBER

40

汽车出租价格

DEPOIST

NUMBER

40

出租保证金

ISRENTING

NUMBER

1

是否归还0否、1是

DESCRIPTION

VARCHAR2()

40

汽车描述

表7:

出租单表

表名

RENTTABLE

字段名

类型

长度

是否为空

主键/外键

备注

TABLEID

NUMBER

40

主键

出租单id

IMPREST

NUMBER

40

预付金

SHOULDPAYPRICE

NUMBER

40

应付金额

PRICE

NUMBER

40

价格

BEGINDATE

DATE

开始时间

SHOULDRETURNDATE

DATE

因归还时间

RETURNDATE

DATE

归还时间

RENTFLAG

NUMBER

1

是否归还0否、1是

CUSTID

VARCHAR2()

40

外键

客户id、外键关联CUSTOMERS表中的IDENTITY

CARID

VARCHAR2()

40

外键

汽车id外键关联CARS表中的CARNUMBER

USERID

VARCHAR2()

40

外键

用户id、外键关联USERS表中的USERNAME

表8:

检查单表

表名

CHECKTABLE

字段名

类型

长度

是否为空

主键/外键

备注

CHECKID

NUMBER

40

主键

检查表id

CHECKDATE

DATE

检查日期

FIELD

VARCHAR2()

40

检查场地

PROBLEM

VARCHAR2()

40

问题

PAYING

NUMBER

40

支付金额

CHECKUSERID

VARCHAR2()

40

外键

用户表id、外键关联表USERS中的USERNAME字段

RENTID

NUMBER

40

外键

出租单id、外键关联表RENTTABLE中的TABLEID

表9:

客户信息表

表名

CUSTOMERS

字段名

类型

长度

是否为空

主键/外键

备注

IDENTITY

VARCHAR2()

40

主键

客户身份证号

CUSTNAME

VARCHAR2()

40

客户姓名

SEX

NUMBER

1

性别

ADDRESS

VARCHAR2()

40

地址

PHONE

NUMBER

40

电话

CAREER

VARCHAR2()

40

职业

CUSTPWD

VARCHAR2()

40

密码

 

2.2技术框架设计

系统技术框架包含web层:

struts1,ORM框架:

hibernate,AOP/IOC框架:

spring。

提高用户体验度使用的Jquery框架。

struts1框架在系统中主要负责表单数据封装成实体类的属性值。

从而省却程序员调用request.getParamater()一个个设置属性。

同时可以将实体类中的属性值使用struts1的标签显示到表单中。

通过配置struts.xml中的action节点可以简单有效的配置程序流程。

程序根据action方法的返回值就能完成跳转;用户不用使用request.forward()进行转发或调用response.sendRedict()方法进行重定向。

hibernate框架能为程序员很方便的操作实体类到数据库表字段、数据库表字段到实体类属性的映射处理。

hibernate框架将实体类的set、list、object处理为数据库表字段之间的外键关联关系、分别处理为1:

N,1:

1,N:

1,N:

N等关系。

hibernate框架为了提高系统效率、为用户提供两种抓取策略:

立即抓取、延迟加载。

配置为延迟加载的抓取策略,hibernate框架会在用户使用到该对象是才想数据库请求数据。

这样就能很大程度上提高系统的反应时间和系统利用效率。

spring框架为项目各模块之间的解耦提供了很简便的使用。

通过spring框架的IOC功能、将个模块所需的bean通过注入方式就行解耦。

spring框架同时提供管理bean生命周期的功能。

通过spring框架的AOP功能,能很清楚的控制程序流程、完成程序执行的各种数据验证、异常处理等功能。

同时spring提供的数据库DDL操作的事物控制、同时提供跨数据库之间的事物控制等强大功能。

Jquery框架为程序员操作htmlDOM提供简单而强大的支持。

Jquery框架同时封装很多种AJAX方法、提高了代码复用程度、和代码编写效率。

2.3功能模块设计

2.3.1系统功能模块图

 

图22:

功能模块图

 

2.3.2功能模块详细说明

表10:

功能模块说明表

汽车租赁系统

序号

模块名称

子功能

备注

1

登录/退出模块

1、登录功能

用户使用系统前必须成功登录系统。

登录/退出模块为系统基本模块、为系统安全运行提供保障。

2、退出功能

更改用户的状态、完成日志记录等操作。

2

权限管理模块

规定用户只能操作自己权限内的功能。

3

用户管理模块

1、添加用户功能

添加用户信息

完成用户信息的增、删、改、查功能

2、查询用户功能

查询用户信息

3、修改用户功能

修改用户信息

4、删除用户功能

删除用户信息

4

客户管理模块

1、添加客户功能

添加客户信息

完成客户信息的增、删、改、查功能

2、查询客户功能

查询客户信息

3、修改客户功能

修改客户信息

4、删除客户功能

删除客户信息

5

汽车管理模块

1、添加汽车功能

添加汽车信息

完成汽车信息的增、删、改、查功能

2、查询汽车功能

查询汽车信息

3、修改汽车功能

修改汽车信息

4、删除汽车功能

删除汽车信息

6

业务管理模块

1、出租单管理功能

出租单信息的增、删、改、查

完成相应业务功能

2、检查单管理功能

检查单的增、改、查功能

3、出租业务功能

处理出租业务

4、还车业务功能

处理还车业务

7

业务统计模块

1、当月应还汽车功能

系统统计业务

8

系统管理模块

1、角色管理功能

角色信息的增、删、改、查功能

系统基础信息管理

2、日志管理功能

日志信息的查、删功能

9

个人信息管理模块

1、修改密码功能

个人信息管理模块

3.项目功能描述

3.1项目功能列表

表11:

项目功能列表

汽车租赁系统

序号

功能名称

所属模块

1

登录功能

登录/退出模块

2

退出功能

3

添加用户功能

用户管理模块

4

删除用户功能

5

修改用户功能

6

查询用户功能

7

添加客户功能

客户管理模块

8

删除客户功能

9

修改客户功能

10

查询客户功能

11

添加汽车功能

汽车管理模块

12

删除汽车功能

13

修改汽车功能

14

查询汽车功能

15

添加出租单功能

业务管理模块

16

修改出租单功能

17

查询出租单功能

18

添加检查单功能

业务管理模块

19

修改检查单功能

20

查询检查单功能

21

查询当月应还汽车功能

业务统计模块

22

添加角色功能

系统管理模块

23

删除角色功能

24

修改角色功能

25

查询角色功能

26

添加日志功能

系统管理模块

27

删除日志功能

28

查询日志功能

29

修改个人信息功能

个人信息管理模块

30

权限控制功能

权限管理模块

3.2项目功能实现

3.2.1登录功能

用户通过登录页面、输入登录用户名/密码/验证码信息后提交表单、页面js判断登录数据是否符合格式、如果数据不符合格式页面显示提示信息、并禁止表单提交。

当用户表单数据符合格式后表单提交、登录action获取表单数据并通过业务层调用持久层方法搜索数据库中数据、判断用户名/密码是否匹配。

如果匹配将用户信息存到session中、并跳转到首页。

否则跳转到登录页面并显示登录失败信息。

图23:

登录页面

3.2.2退出功能

登录成功用户、通过退出登录链接、访问退出登录action、退出登录action中删除session中存储的用户信息、并完成日志记录操作、跳转到登录页面。

图24:

退出页面

3.2.3添加用户功能

登录用户通过添加用户页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加用户action、添加用户action通过业务层访问持久层、并调用保存方法。

持久层将保存结果返回给添加用户action、如果添加成功将跳转到添加用户页面、并显示添加成功信息。

否则将跳转到添加用户页面、页面表单中数据将被保留下来、并显示添加失败信息。

图25添加用户页面

3.2.4删除用户功能

登录用户通过删除用户页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。

否则提交到删除用户action、删除用户action通过业务层访问持久层、并调用删除方法。

持久层将删除结果返回给删除用户action、如果删除成功、将跳转到查询用户action。

否则跳转到删除用户页面并显示删除失败信息。

图26删除用户页面

3.2.5修改用户功能

登录用户通过修改用户页面、提交表单、页面js判断信息是否被修改、如果没有修改过、则显示提示信息、提示用户信息没有修改不用保存、表单不提交。

否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。

否则访问修改用户action、修改用户action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改用户action、如果修改成功、将跳转到查询用户action。

否则跳转到修改用户页面并显示修改失败信息。

图27修改用户页面

3.2.6查询用户功能

登录用户通过查询用户页面、提交表单、页面js判断查询数据是否符合格式。

如果不符合格式、显示提示信息、表单不提交,否则访问查询用户action、查询用户action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询用户action、查询用户action将跳转到显示查询用户结果页面。

图28查询用户页面

3.2.7添加客户功能

登录用户通过添加客户页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加客户action、添加客户action通过业务层访问持久层、并调用保存方法。

持久层将保存结果返回给添加客户action、如果添加成功将跳转到添加客户页面、并显示添加成功信息。

否则将跳转到添加客户页面、页面表单中数据将被保留下来、并显示添加失败信息。

图29添加客户页面

3.2.8删除客户功能

登录用户通过删除客户页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。

否则提交到删除客户action、删除客户action通过业务层访问持久层、并调用删除方法。

持久层将删除结果返回给删除客户action、如果删除成功、将跳转到查询客户action。

否则跳转到删除客户页面并显示删除失败信息。

图30删除客户页面

3.2.9修改客户功能

登录用户通过修改客户页面、提交表单、页面js判断客户信息是否被修改、如果没有修改过、则显示提示信息、提示客户信息没有修改不用保存、表单不提交。

否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。

否则访问修改客户action、修改客户action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改客户action、如果修改成功、将跳转到查询客户action。

否则跳转到修改客户页面并显示修改失败信息。

图31修改客户页面

3.2.10查询客户功能

登录用户通过查询客户页面、提交表单、页面js判断查询数据是否符合格式。

如果不符合格式、显示提示信息、表单不提交,否则访问查询客户action、查询客户action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询客户action、查询客户action将跳转到显示查询客户结果页面。

图32查询客户页面

3.2.11添加汽车功能

登录用户通过添加汽车页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加汽车action、添加汽车action通过业务层访问持久层、并调用保存方法。

持久层将保存结果返回给添加汽车action、如果添加成功将跳转到添加汽车页面、并显示添加成功信息。

否则将跳转到添加汽车页面、页面表单中数据将被保留下来、并显示添加失败信息。

图33添加汽车页面

3.2.12删除汽车功能

登录用户通过删除汽车页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。

否则提交到删除汽车action、删除汽车action通过业务层访问持久层、并调用删除方法。

持久层将删除结果返回给删除汽车action、如果删除成功、将跳转到查询汽车action。

否则跳转到删除汽车页面并显示删除失败信息。

图34删除汽车页面

3.2.13修改汽车功能

登录用户通过修改汽车页面、提交表单、页面js判断汽车信息是否被修改、如果没有修改过、则显示提示信息、提示汽车信息没有修改不用保存、表单不提交。

否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。

否则访问修改汽车action、修改汽车action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改汽车action、如果修改成功、将跳转到查询汽车action。

否则跳转到修改汽车页面并显示修改失败信息。

图35修改汽车页面

3.2.14查询汽车功能

登录用户通过查询汽车页面、提交表单、页面js判断查询数据是否符合格式。

如果不符合格式、显示提示信息、表单不提交,否则访问查询汽车action、查询汽车actio

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2