汽车租赁系统的设计与实现设计Word格式文档下载.docx
《汽车租赁系统的设计与实现设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汽车租赁系统的设计与实现设计Word格式文档下载.docx(41页珍藏版)》请在冰豆网上搜索。
![汽车租赁系统的设计与实现设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-12/15/14c9209b-f128-450e-bd62-712086fd777f/14c9209b-f128-450e-bd62-712086fd777f1.gif)
1.2项目根源
实训项目
1.3开发目标
1.3.1同意管理人员登录、使用该系统。
系统依据登录取户的权限生成不一样的功能菜单。
此中超级管理员的权
限最大、能够使用所有功能菜单-----(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包中放业务办理类。
包中放struts1的action类。
包中放判断用户能否登录、用户能否有权限的过滤器
类。
包中放控制用户只好不可以同时登录多台。
包中放系统properties资源文件。
js包中放js文件。
css包中放css文件。
images包中放项目使用的图片。
2.1.3项目功能设计
第一实用户登录功能,用户登录后系统依据权限控制功能,为用户生成不一样
的操作菜单,当用户的操作高出自己权限时系统能拒绝用户操作,并给用户友善
的权限不足提示。
对于超级管理员,它拥有系统所有的管理功能;
包含:
1)用户管理2)客户管理3)汽车管理4)业务管理5)业务统计6)系统管理7)改正密码
对于其余一般管理员,它的系统权限则是经过超级管理员经过系统管理菜单中的角色管理功能给他受权。
对于客户租车业务,系统供给租车人员信息录入、车辆信息查问。
最后出租单生成入库,生成出租单等一系列功能。
达成租车所需的所有功能。
对于客户还车业务,系统供给出租单的信息显示,用户经过能够改正出租单状态、达成还车业务。
系统中的车辆信息是用户经过汽车管理菜单中的增添汽车功能录入车辆信息的。
同时供给车辆信息的删除、改正、查找等操作。
系统中的用户信息是超级管理员经过用户管理菜单中的增添用户功能录入用户信息的。
系统中的客户信息是超级管理员或用户经过客户管理菜单中的增添客户功能录入客户信息的。
同时供给客户信息的删除、改正、查找等功能。
2.1.4项目流程设计
a)登录流程图:
开始
用户接见登录页面
登录页面
否
js考证登录信
息能否经过
是
登录action考证用户
名/密码等能否正确
查问数据库顶用户信
息、并保持到session
中
action跳转到首页
首页
登录流程结束
结束
图4:
登录流程图
b)用户、客户、汽车、出租单、检查单、角色、日记等信息的查问流程图:
接见相应查问页面、达成查问
查问页否
面
提交查问表单
js判断查问条
件能否都为空
数据能否满
足要求
查问action,
查问条件全为
空时、查问全
部;
不然依据条
件查问
查问结束、跳转到页面
显示查问结
果页面
查问流程结束
图5:
查问流程图
c)用户、客户、汽车、出租单、检查单、角色信息增添流程图:
接见相应增添信息页面、达成增添功能
增添信
息页面
提交增添信息表单否
js判断信息是
否输入正确
增添信息action、
返回提示信息
输出增添结果
增添信息页面、显
示增添结果信息
增添信息流程结束
图6:
增添流程图
d)用户、客户、汽车、出租单、检查单、角色信息改正流程图:
输出信息
信息显示
页面
提交改正信息表单
js判断信息
能否改正否
js判断改正信息
能否切合要求
改正信息action、返回提
示信息、改正能否成功
改正信息
查问信息action
返回改正信息、查问信息
显示查问
改正流程结束
结果页面
图7:
改正流程图
e)用户、客户、汽车、角色、日记信息删除流程图:
提交删除信息的id
删除信息action、返
回删除结果信息
跳转到查问action
查问信息action、返回
查问结果
返回删除信息、查问信息
查问结果显示
删除流程结束
图8:
删除流程图
f)用户权限控制流程图:
权限控制拦截器拦截用户接见路径
权限控制filter、判断用
户能否有权限
否、拒绝用户范围并跳转
是、拦截器放行、权限控制流程结束没有权限
提示页面
权限控制流程结束
图9:
权限控制流程图
g)用户退出流程图:
接见退出action
用户退出action、清
除session顶用户信
息并跳转
跳转到登录页面
退出流程结束
图10:
退出流程图
2.1.5系统数据库设计
a)表之间的关系关系:
图11:
表关系图
b)表字段说明
表1:
用户信息表
表名
USERS
字段名
种类
长度
能否为空
主键/外键
备注
USERNAME
VARCHAR2()
主键
用户名
IDENTITY
用户身份证
FULLNAME
全名
SEX
NUMBER
1
性别0男、1女
ADDRESS
地点
PHONE
电话
POSITION
职位名称
USERLEVEL
外键
管理员
id、外键关系
ROLES表的
ROLEID
USERPWD
密码
表2:
权限表
ROLES
角色id
ROLENAME
角色名称
表3:
菜单表
MENUS
MENUID
菜单id
MENUNAME
菜单名称
MENUURL
菜单路径
FATHERID
父菜单id
表4:
功能表
FUNS
FUNID
功能id
FUNNAME
功能名称
FUNURL
功能路径
MENU_ID
所属菜单id、管理MENUS
表中的MENUID
表5
ROLES_MENUS
主键/外键
ROLE_ID
主键、外键
角色id、关系
ROLES表的主键
菜单id、关系MENUS表中的主键
表6:
汽车信息表
CARS
CARNUMBER
汽车号码
CARTYPE
汽车种类
COLOR
汽车颜色
PRICE
汽车价钱
RENTPRICE
汽车出租价钱
DEPOIST
出租保证金
ISRENTING
能否送还0否、1是
DESCRIPTION
汽车描绘
表7:
出租单表
RENTTABLE
TABLEID
出租单id
IMPREST
预支金
SHOULDPAYPRICE
对付金额
价钱
BEGINDATE
DATE
开始时间
SHOULDRETURNDATE
因送还时间
RETURNDATE
送还时间
RENTFLAG
能否送还0否、1
CUSTID
客户id、外键关系
CUSTOMERS表中的
CARID
汽车id
外键关系
表中的
USERID
用户id、外键关系
USERS表中的
表8:
检查单表
CHECKTABLE
CHECKID
检查表id
CHECKDATE
检查日期
FIELD
检查场所
PROBLEM
问题
PAYING
支付金额
CHECKUSERID
用户表id、外
键关系表
USERS中的
USERNAME字
段
RENTID
出租单id、外
RENTTABLE中
的TABLEID
表9:
客户信息表
CUSTOMERS
客户身份证号
CUSTNAME
客户姓名
性别
CAREER
职业
CUSTPWD
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功能,能很清楚的控制
程序流程、达成程序履行的各样数